{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "fpml5.confirmation.AccrualReferenceAmountTypeEnum": {
            "title": "AccrualReferenceAmountTypeEnum",
            "description": "An instance of fpml5.confirmation.AccrualReferenceAmountTypeEnum",
            "enum": ["Commitment", "Funded", "Other", "Unfunded", "Unutilized", "Utilized"]
        },
        "fpml5.confirmation.AccrualReferenceAmountTypeEnumObject": {
            "title": "AccrualReferenceAmountTypeEnumObject",
            "description": "An instance of fpml5.confirmation.AccrualReferenceAmountTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.AmountAdjustmentEnum": {
            "title": "AmountAdjustmentEnum",
            "description": "An instance of fpml5.confirmation.AmountAdjustmentEnum",
            "enum": ["Decrease", "Increase"]
        },
        "fpml5.confirmation.AmountAdjustmentEnumObject": {
            "title": "AmountAdjustmentEnumObject",
            "description": "An instance of fpml5.confirmation.AmountAdjustmentEnumObject",
            "enum": []
        },
        "fpml5.confirmation.AveragingInOutEnum": {
            "title": "AveragingInOutEnum",
            "description": "An instance of fpml5.confirmation.AveragingInOutEnum",
            "enum": ["In", "Out", "Both"]
        },
        "fpml5.confirmation.AveragingInOutEnumObject": {
            "title": "AveragingInOutEnumObject",
            "description": "An instance of fpml5.confirmation.AveragingInOutEnumObject",
            "enum": []
        },
        "fpml5.confirmation.AveragingMethodEnum": {
            "title": "AveragingMethodEnum",
            "description": "An instance of fpml5.confirmation.AveragingMethodEnum",
            "enum": ["Unweighted", "Weighted"]
        },
        "fpml5.confirmation.AveragingMethodEnumObject": {
            "title": "AveragingMethodEnumObject",
            "description": "An instance of fpml5.confirmation.AveragingMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.BreakageCalculatedByEnum": {
            "title": "BreakageCalculatedByEnum",
            "description": "An instance of fpml5.confirmation.BreakageCalculatedByEnum",
            "enum": ["AgentBank", "Lender"]
        },
        "fpml5.confirmation.BreakageCalculatedByEnumObject": {
            "title": "BreakageCalculatedByEnumObject",
            "description": "An instance of fpml5.confirmation.BreakageCalculatedByEnumObject",
            "enum": []
        },
        "fpml5.confirmation.BullionTypeEnum": {
            "title": "BullionTypeEnum",
            "description": "An instance of fpml5.confirmation.BullionTypeEnum",
            "enum": ["Gold", "Palladium", "Platinum", "Silver", "Rhodium", "RhodiumSponge", "Iridium", "Ruthenium", "Osmium"]
        },
        "fpml5.confirmation.BullionTypeEnumObject": {
            "title": "BullionTypeEnumObject",
            "description": "An instance of fpml5.confirmation.BullionTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.BusinessDayConventionEnum": {
            "title": "BusinessDayConventionEnum",
            "description": "An instance of fpml5.confirmation.BusinessDayConventionEnum",
            "enum": ["FOLLOWING", "FRN", "MODFOLLOWING", "PRECEDING", "MODPRECEDING", "NEAREST", "NONE", "NotApplicable"]
        },
        "fpml5.confirmation.BusinessDayConventionEnumObject": {
            "title": "BusinessDayConventionEnumObject",
            "description": "An instance of fpml5.confirmation.BusinessDayConventionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.BuySellEnum": {
            "title": "BuySellEnum",
            "description": "An instance of fpml5.confirmation.BuySellEnum",
            "enum": ["Buyer", "Seller"]
        },
        "fpml5.confirmation.BuySellEnumObject": {
            "title": "BuySellEnumObject",
            "description": "An instance of fpml5.confirmation.BuySellEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CalculationAgentPartyEnum": {
            "title": "CalculationAgentPartyEnum",
            "description": "An instance of fpml5.confirmation.CalculationAgentPartyEnum",
            "enum": ["ExercisingParty", "NonExercisingParty", "AsSpecifiedInMasterAgreement", "AsSpecifiedInStandardTermsSupplement", "Both"]
        },
        "fpml5.confirmation.CalculationAgentPartyEnumObject": {
            "title": "CalculationAgentPartyEnumObject",
            "description": "An instance of fpml5.confirmation.CalculationAgentPartyEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CalendarSourceEnum": {
            "title": "CalendarSourceEnum",
            "description": "An instance of fpml5.confirmation.CalendarSourceEnum",
            "enum": ["ListedOption", "Future"]
        },
        "fpml5.confirmation.CalendarSourceEnumObject": {
            "title": "CalendarSourceEnumObject",
            "description": "An instance of fpml5.confirmation.CalendarSourceEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CallingPartyEnum": {
            "title": "CallingPartyEnum",
            "description": "An instance of fpml5.confirmation.CallingPartyEnum",
            "enum": ["InitialBuyer", "InitialSeller", "Either", "AsDefinedInMasterAgreement"]
        },
        "fpml5.confirmation.CallingPartyEnumObject": {
            "title": "CallingPartyEnumObject",
            "description": "An instance of fpml5.confirmation.CallingPartyEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CollateralValueAllocationEnum": {
            "title": "CollateralValueAllocationEnum",
            "description": "An instance of fpml5.confirmation.CollateralValueAllocationEnum",
            "enum": ["Buffer", "Full", "ExcessOverMargin", "Margin"]
        },
        "fpml5.confirmation.CollateralValueAllocationEnumObject": {
            "title": "CollateralValueAllocationEnumObject",
            "description": "An instance of fpml5.confirmation.CollateralValueAllocationEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CommissionDenominationEnum": {
            "title": "CommissionDenominationEnum",
            "description": "An instance of fpml5.confirmation.CommissionDenominationEnum",
            "enum": ["BPS", "Percentage", "CentsPerShare", "FixedAmount"]
        },
        "fpml5.confirmation.CommissionDenominationEnumObject": {
            "title": "CommissionDenominationEnumObject",
            "description": "An instance of fpml5.confirmation.CommissionDenominationEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CommodityBullionSettlementDisruptionEnum": {
            "title": "CommodityBullionSettlementDisruptionEnum",
            "description": "An instance of fpml5.confirmation.CommodityBullionSettlementDisruptionEnum",
            "enum": ["Negotiation", "CancellationAndPayment"]
        },
        "fpml5.confirmation.CommodityBullionSettlementDisruptionEnumObject": {
            "title": "CommodityBullionSettlementDisruptionEnumObject",
            "description": "An instance of fpml5.confirmation.CommodityBullionSettlementDisruptionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CommodityDayTypeEnum": {
            "title": "CommodityDayTypeEnum",
            "description": "An instance of fpml5.confirmation.CommodityDayTypeEnum",
            "enum": []
        },
        "fpml5.confirmation.CommodityDayTypeEnumMember1": {
            "title": "CommodityDayTypeEnumMember1",
            "description": "An instance of fpml5.confirmation.CommodityDayTypeEnumMember1",
            "enum": ["GasFlow", "NearbyContractDay"]
        },
        "fpml5.confirmation.CommodityDayTypeEnumMember1Object": {
            "title": "CommodityDayTypeEnumMember1Object",
            "description": "An instance of fpml5.confirmation.CommodityDayTypeEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.CommodityKnockEnum": {
            "title": "CommodityKnockEnum",
            "description": "An instance of fpml5.confirmation.CommodityKnockEnum",
            "enum": ["In", "Out"]
        },
        "fpml5.confirmation.CommodityKnockEnumObject": {
            "title": "CommodityKnockEnumObject",
            "description": "An instance of fpml5.confirmation.CommodityKnockEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CommodityPayRelativeToEnum": {
            "title": "CommodityPayRelativeToEnum",
            "description": "An instance of fpml5.confirmation.CommodityPayRelativeToEnum",
            "enum": []
        },
        "fpml5.confirmation.CommodityPayRelativeToEnumMember1": {
            "title": "CommodityPayRelativeToEnumMember1",
            "description": "An instance of fpml5.confirmation.CommodityPayRelativeToEnumMember1",
            "enum": [
                "CalculationDate",
                "CalculationPeriodMonthEnd",
                "CalculationPeriodMonthStart",
                "EffectiveDate",
                "PricingPeriodMonthEnd",
                "TerminationOrExpirationDate",
                "TradeDate",
                "PricingPeriodEndOfWeek",
                "FirstPricingDate"
            ]
        },
        "fpml5.confirmation.CommodityPayRelativeToEnumMember1Object": {
            "title": "CommodityPayRelativeToEnumMember1Object",
            "description": "An instance of fpml5.confirmation.CommodityPayRelativeToEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.CommodityReturnCalculationFormulaEnum": {
            "title": "CommodityReturnCalculationFormulaEnum",
            "description": "An instance of fpml5.confirmation.CommodityReturnCalculationFormulaEnum",
            "enum": ["SimpleFormula", "CompoundFormula"]
        },
        "fpml5.confirmation.CommodityReturnCalculationFormulaEnumObject": {
            "title": "CommodityReturnCalculationFormulaEnumObject",
            "description": "An instance of fpml5.confirmation.CommodityReturnCalculationFormulaEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CompoundingMethodEnum": {
            "title": "CompoundingMethodEnum",
            "description": "An instance of fpml5.confirmation.CompoundingMethodEnum",
            "enum": ["Flat", "None", "Straight", "SpreadExclusive"]
        },
        "fpml5.confirmation.CompoundingMethodEnumObject": {
            "title": "CompoundingMethodEnumObject",
            "description": "An instance of fpml5.confirmation.CompoundingMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ConditionEnum": {
            "title": "ConditionEnum",
            "description": "An instance of fpml5.confirmation.ConditionEnum",
            "enum": ["AtOrAbove", "AtOrBelow", "Above", "Below"]
        },
        "fpml5.confirmation.ConditionEnumObject": {
            "title": "ConditionEnumObject",
            "description": "An instance of fpml5.confirmation.ConditionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ConditionsPrecedentMetEnum": {
            "title": "ConditionsPrecedentMetEnum",
            "description": "An instance of fpml5.confirmation.ConditionsPrecedentMetEnum",
            "enum": ["No", "Waived", "Yes"]
        },
        "fpml5.confirmation.ConditionsPrecedentMetEnumObject": {
            "title": "ConditionsPrecedentMetEnumObject",
            "description": "An instance of fpml5.confirmation.ConditionsPrecedentMetEnumObject",
            "enum": []
        },
        "fpml5.confirmation.CorrelationValue": {
            "title": "CorrelationValue",
            "description": "An instance of fpml5.confirmation.CorrelationValue",
            "enum": []
        },
        "fpml5.confirmation.DayOfWeekEnum": {
            "title": "DayOfWeekEnum",
            "description": "An instance of fpml5.confirmation.DayOfWeekEnum",
            "enum": ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
        },
        "fpml5.confirmation.DayOfWeekEnumObject": {
            "title": "DayOfWeekEnumObject",
            "description": "An instance of fpml5.confirmation.DayOfWeekEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DayOfWeekExtEnum": {
            "title": "DayOfWeekExtEnum",
            "description": "An instance of fpml5.confirmation.DayOfWeekExtEnum",
            "enum": []
        },
        "fpml5.confirmation.DayOfWeekExtEnumMember1": {
            "title": "DayOfWeekExtEnumMember1",
            "description": "An instance of fpml5.confirmation.DayOfWeekExtEnumMember1",
            "enum": ["WD", "WN"]
        },
        "fpml5.confirmation.DayOfWeekExtEnumMember1Object": {
            "title": "DayOfWeekExtEnumMember1Object",
            "description": "An instance of fpml5.confirmation.DayOfWeekExtEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.DayTypeEnum": {
            "title": "DayTypeEnum",
            "description": "An instance of fpml5.confirmation.DayTypeEnum",
            "enum": ["Business", "Calendar", "CommodityBusiness", "CurrencyBusiness", "ExchangeBusiness", "ScheduledTradingDay"]
        },
        "fpml5.confirmation.DayTypeEnumObject": {
            "title": "DayTypeEnumObject",
            "description": "An instance of fpml5.confirmation.DayTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DealtCurrencyEnum": {
            "title": "DealtCurrencyEnum",
            "description": "An instance of fpml5.confirmation.DealtCurrencyEnum",
            "enum": ["ExchangedCurrency1", "ExchangedCurrency2"]
        },
        "fpml5.confirmation.DealtCurrencyEnumObject": {
            "title": "DealtCurrencyEnumObject",
            "description": "An instance of fpml5.confirmation.DealtCurrencyEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DeliveryDatesEnum": {
            "title": "DeliveryDatesEnum",
            "description": "An instance of fpml5.confirmation.DeliveryDatesEnum",
            "enum": [
                "CalculationPeriod",
                "FirstNearby",
                "SecondNearby",
                "ThirdNearby",
                "FourthNearby",
                "FifthNearby",
                "SixthNearby",
                "SeventhNearby",
                "EighthNearby",
                "NinthNearby",
                "TenthNearby",
                "EleventhNearby",
                "TwelfthNearby",
                "ThirteenthNearby",
                "FourteenthNearby",
                "FifteenthNearby",
                "SixteenthNearby",
                "SeventeenthNearby",
                "EighteenthNearby",
                "NineteenthNearby",
                "TwentiethNearby",
                "TwentyFirstNearby",
                "TwentySecondNearby",
                "TwentyThirdNearby",
                "TwentyFourthNearby",
                "TwentyFifthNearby",
                "TwentySixthNearby",
                "TwentySeventhNearby",
                "TwentyEighthNearby",
                "TwentyNinthNearby",
                "ThirtiethNearby",
                "ThirtyFirstNearby",
                "ThirtySecondNearby",
                "ThirtyThirdNearby",
                "ThirtyFourthNearby",
                "ThirtyFifthNearby",
                "ThirtySixthNearby",
                "ThirtySeventhNearby",
                "ThirtyEighthNearby",
                "ThirtyNinthNearby",
                "FortiethNearby",
                "FortyFirstNearby",
                "FortySecondNearby",
                "FortyThirdNearby",
                "FortyFourthNearby",
                "FortyFifthNearby",
                "FortySixthNearby",
                "FortySeventhNearby",
                "FortyEighthNearby",
                "FortyNinthNearby",
                "FiftiethNearby",
                "FiftyFirstNearby",
                "FiftySecondNearby",
                "FiftyThirdNearby",
                "FiftyFourthNearby",
                "FiftyFifthNearby",
                "FiftySixthNearby",
                "FiftySeventhNearby",
                "FiftyEighthNearby",
                "FiftyNinthNearby",
                "Spot",
                "FirstNearbyWeek",
                "SecondNearbyWeek",
                "ThirdNearbyWeek",
                "FourthNearbyWeek",
                "FifthNearbyWeek",
                "SixthNearbyWeek",
                "SeventhNearbyWeek",
                "EighthNearbyWeek",
                "NinthNearbyWeek",
                "TenthNearbyWeek",
                "EleventhNearbyWeek",
                "TwelfthNearbyWeek",
                "ThirteenthNearbyWeek",
                "FourteenthNearbyWeek",
                "FifteenthNearbyWeek",
                "SixteenthNearbyWeek",
                "SeventeenthNearbyWeek",
                "EighteenthNearbyWeek",
                "NineteenthNearbyWeek",
                "TwentiethNearbyWeek",
                "TwentyFirstNearbyWeek",
                "TwentySecondNearbyWeek",
                "TwentyThirdNearbyWeek",
                "TwentyFourthearbyWeek",
                "TwentyFifthNearbyWeek",
                "TwentySixthNearbyWeek",
                "TwentySeventhNearbyWeek",
                "TwentyEighthNearbyWeek",
                "TwentyNinthNearbyWeek",
                "ThirtiethNearbyWeek",
                "ThirtyFirstNearbyWeek",
                "ThirtySecondNearbyWeek",
                "ThirtyThirdNearbyWeek",
                "ThirtyFourthNearbyWeek",
                "ThirtyFifthNearbyWeek",
                "ThirtySixthNearbyWeek",
                "ThirtySeventhNearbyWeek",
                "ThirtyEighthNearbyWeek",
                "ThirtyNinthNearbyWeek",
                "FortiethNearbyWeek",
                "FortyFirstNearbyWeek",
                "FortySecondNearbyWeek",
                "FortyThirdNearbyWeek",
                "FortyFourthNearbyWeek",
                "FortyFifthNearbyWeek",
                "FortySixthNearbyWeek",
                "FortySeventhNearbyWeek",
                "FortyEighthNearbyWeek",
                "FortyNinthNearbyWeek",
                "FiftiethNearbyWeek",
                "FiftyFirstNearbyWeek",
                "FiftySecondNearbyWeek"
            ]
        },
        "fpml5.confirmation.DeliveryDatesEnumObject": {
            "title": "DeliveryDatesEnumObject",
            "description": "An instance of fpml5.confirmation.DeliveryDatesEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DeliveryNearbyTypeEnum": {
            "title": "DeliveryNearbyTypeEnum",
            "description": "An instance of fpml5.confirmation.DeliveryNearbyTypeEnum",
            "enum": ["CalculationPeriod", "NearbyMonth", "NearbyWeek"]
        },
        "fpml5.confirmation.DeliveryNearbyTypeEnumObject": {
            "title": "DeliveryNearbyTypeEnumObject",
            "description": "An instance of fpml5.confirmation.DeliveryNearbyTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DeliveryTypeEnum": {
            "title": "DeliveryTypeEnum",
            "description": "An instance of fpml5.confirmation.DeliveryTypeEnum",
            "enum": ["Firm", "Interruptible"]
        },
        "fpml5.confirmation.DeliveryTypeEnumObject": {
            "title": "DeliveryTypeEnumObject",
            "description": "An instance of fpml5.confirmation.DeliveryTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DifferenceSeverityEnum": {
            "title": "DifferenceSeverityEnum",
            "description": "An instance of fpml5.confirmation.DifferenceSeverityEnum",
            "enum": ["Warning", "Error"]
        },
        "fpml5.confirmation.DifferenceSeverityEnumObject": {
            "title": "DifferenceSeverityEnumObject",
            "description": "An instance of fpml5.confirmation.DifferenceSeverityEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DifferenceTypeEnum": {
            "title": "DifferenceTypeEnum",
            "description": "An instance of fpml5.confirmation.DifferenceTypeEnum",
            "enum": ["Value", "Reference", "Structure", "Scheme"]
        },
        "fpml5.confirmation.DifferenceTypeEnumObject": {
            "title": "DifferenceTypeEnumObject",
            "description": "An instance of fpml5.confirmation.DifferenceTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DiscountingTypeEnum": {
            "title": "DiscountingTypeEnum",
            "description": "An instance of fpml5.confirmation.DiscountingTypeEnum",
            "enum": ["Standard", "FRA", "FRAYield"]
        },
        "fpml5.confirmation.DiscountingTypeEnumObject": {
            "title": "DiscountingTypeEnumObject",
            "description": "An instance of fpml5.confirmation.DiscountingTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DisruptionFallbacksEnum": {
            "title": "DisruptionFallbacksEnum",
            "description": "An instance of fpml5.confirmation.DisruptionFallbacksEnum",
            "enum": ["AsSpecifiedInMasterAgreement", "AsSpecifiedInConfirmation"]
        },
        "fpml5.confirmation.DisruptionFallbacksEnumObject": {
            "title": "DisruptionFallbacksEnumObject",
            "description": "An instance of fpml5.confirmation.DisruptionFallbacksEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DividendAmountTypeEnum": {
            "title": "DividendAmountTypeEnum",
            "description": "An instance of fpml5.confirmation.DividendAmountTypeEnum",
            "enum": ["RecordAmount", "ExAmount", "PaidAmount", "AsSpecifiedInMasterConfirmation"]
        },
        "fpml5.confirmation.DividendAmountTypeEnumObject": {
            "title": "DividendAmountTypeEnumObject",
            "description": "An instance of fpml5.confirmation.DividendAmountTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DividendCompositionEnum": {
            "title": "DividendCompositionEnum",
            "description": "An instance of fpml5.confirmation.DividendCompositionEnum",
            "enum": ["EquityAmountReceiverElection", "CalculationAgentElection"]
        },
        "fpml5.confirmation.DividendCompositionEnumObject": {
            "title": "DividendCompositionEnumObject",
            "description": "An instance of fpml5.confirmation.DividendCompositionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DividendDateReferenceEnum": {
            "title": "DividendDateReferenceEnum",
            "description": "An instance of fpml5.confirmation.DividendDateReferenceEnum",
            "enum": [
                "ExDate",
                "DividendPaymentDate",
                "DividendValuationDate",
                "RecordDate",
                "TerminationDate",
                "EquityPaymentDate",
                "FollowingPaymentDate",
                "AdHocDate",
                "CumulativeEquityPaid",
                "CumulativeLiborPaid",
                "CumulativeEquityExDiv",
                "CumulativeLiborExDiv",
                "SharePayment",
                "CashSettlementPaymentDate",
                "FloatingAmountPaymentDate",
                "CashSettlePaymentDateExDiv",
                "CashSettlePaymentDateIssuerPayment",
                "ExDividendPaymentDate"
            ]
        },
        "fpml5.confirmation.DividendDateReferenceEnumObject": {
            "title": "DividendDateReferenceEnumObject",
            "description": "An instance of fpml5.confirmation.DividendDateReferenceEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DividendEntitlementEnum": {
            "title": "DividendEntitlementEnum",
            "description": "An instance of fpml5.confirmation.DividendEntitlementEnum",
            "enum": ["ExDate", "RecordDate"]
        },
        "fpml5.confirmation.DividendEntitlementEnumObject": {
            "title": "DividendEntitlementEnumObject",
            "description": "An instance of fpml5.confirmation.DividendEntitlementEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DividendPeriodEnum": {
            "title": "DividendPeriodEnum",
            "description": "An instance of fpml5.confirmation.DividendPeriodEnum",
            "enum": ["FirstPeriod", "SecondPeriod"]
        },
        "fpml5.confirmation.DividendPeriodEnumObject": {
            "title": "DividendPeriodEnumObject",
            "description": "An instance of fpml5.confirmation.DividendPeriodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnum": {
            "title": "DualCurrencyStrikeQuoteBasisEnum",
            "description": "An instance of fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnum",
            "enum": ["DepositCurrencyPerAlternateCurrency", "AlternateCurrencyPerDepositCurrency"]
        },
        "fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnumObject": {
            "title": "DualCurrencyStrikeQuoteBasisEnumObject",
            "description": "An instance of fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnumObject",
            "enum": []
        },
        "fpml5.confirmation.EarlyTerminationDateEnum": {
            "title": "EarlyTerminationDateEnum",
            "description": "An instance of fpml5.confirmation.EarlyTerminationDateEnum",
            "enum": ["AnyDay", "ValuationDate", "ResetDate", "AfterFirstResetDate", "AsSpecifiedInMCA"]
        },
        "fpml5.confirmation.EarlyTerminationDateEnumObject": {
            "title": "EarlyTerminationDateEnumObject",
            "description": "An instance of fpml5.confirmation.EarlyTerminationDateEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ElectricityProductTypeEnum": {
            "title": "ElectricityProductTypeEnum",
            "description": "An instance of fpml5.confirmation.ElectricityProductTypeEnum",
            "enum": ["Electricity"]
        },
        "fpml5.confirmation.ElectricityProductTypeEnumObject": {
            "title": "ElectricityProductTypeEnumObject",
            "description": "An instance of fpml5.confirmation.ElectricityProductTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnum": {
            "title": "EnvironmentalAbandonmentOfSchemeEnum",
            "description": "An instance of fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnum",
            "enum": ["OptionA1", "OptionA2", "OptionB", "OptionC"]
        },
        "fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnumObject": {
            "title": "EnvironmentalAbandonmentOfSchemeEnumObject",
            "description": "An instance of fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.EnvironmentalProductTypeEnum": {
            "title": "EnvironmentalProductTypeEnum",
            "description": "An instance of fpml5.confirmation.EnvironmentalProductTypeEnum",
            "enum": [
                "EUAllowance",
                "EUCredit",
                "AlternativeAllowance",
                "NOXEmissionsProduct",
                "RegionalEmissionsProduct",
                "RGGIEmissionsProduct",
                "SO2EmissionsProduct",
                "StateEmissionProduct",
                "VoluntaryEmissionProduct",
                "RenewableEnergyCertificate",
                "AUSCarbonCreditUnit",
                "AUSCarbonUnit",
                "AUSEnergySavingCertificate",
                "AUSLargeScaleGenerationCertificate",
                "AUSSmallScaleTechnologyCertificate",
                "AUSVictorianEnergyEfficiencyCertificate",
                "MXCCFECRTINTLODS",
                "NZEmissionsUnits",
                "UKRenewableObligationCertificate"
            ]
        },
        "fpml5.confirmation.EnvironmentalProductTypeEnumObject": {
            "title": "EnvironmentalProductTypeEnumObject",
            "description": "An instance of fpml5.confirmation.EnvironmentalProductTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.EquityOptionTypeEnum": {
            "title": "EquityOptionTypeEnum",
            "description": "An instance of fpml5.confirmation.EquityOptionTypeEnum",
            "enum": []
        },
        "fpml5.confirmation.EquityOptionTypeEnumMember1": {
            "title": "EquityOptionTypeEnumMember1",
            "description": "An instance of fpml5.confirmation.EquityOptionTypeEnumMember1",
            "enum": ["Forward"]
        },
        "fpml5.confirmation.EquityOptionTypeEnumMember1Object": {
            "title": "EquityOptionTypeEnumMember1Object",
            "description": "An instance of fpml5.confirmation.EquityOptionTypeEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.ExerciseActionEnum": {
            "title": "ExerciseActionEnum",
            "description": "An instance of fpml5.confirmation.ExerciseActionEnum",
            "enum": ["FullExercise", "PartialExercise", "Abandon"]
        },
        "fpml5.confirmation.ExerciseActionEnumObject": {
            "title": "ExerciseActionEnumObject",
            "description": "An instance of fpml5.confirmation.ExerciseActionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ExerciseSideEnum": {
            "title": "ExerciseSideEnum",
            "description": "An instance of fpml5.confirmation.ExerciseSideEnum",
            "enum": []
        },
        "fpml5.confirmation.ExerciseSideEnumMember1": {
            "title": "ExerciseSideEnumMember1",
            "description": "An instance of fpml5.confirmation.ExerciseSideEnumMember1",
            "enum": ["Payer", "Receiver"]
        },
        "fpml5.confirmation.ExerciseSideEnumMember1Object": {
            "title": "ExerciseSideEnumMember1Object",
            "description": "An instance of fpml5.confirmation.ExerciseSideEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.ExerciseStyleEnum": {
            "title": "ExerciseStyleEnum",
            "description": "An instance of fpml5.confirmation.ExerciseStyleEnum",
            "enum": ["American", "Bermuda", "European"]
        },
        "fpml5.confirmation.ExerciseStyleEnumObject": {
            "title": "ExerciseStyleEnumObject",
            "description": "An instance of fpml5.confirmation.ExerciseStyleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ExerciseTimingEnum": {
            "title": "ExerciseTimingEnum",
            "description": "An instance of fpml5.confirmation.ExerciseTimingEnum",
            "enum": ["Immediate", "OnExpiration"]
        },
        "fpml5.confirmation.ExerciseTimingEnumObject": {
            "title": "ExerciseTimingEnumObject",
            "description": "An instance of fpml5.confirmation.ExerciseTimingEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FeeElectionEnum": {
            "title": "FeeElectionEnum",
            "description": "An instance of fpml5.confirmation.FeeElectionEnum",
            "enum": ["FlatFee", "AmortizedFee", "FundingFee", "FlatFeeAndFundingFee", "AmortizedFeeAndFundingFee"]
        },
        "fpml5.confirmation.FeeElectionEnumObject": {
            "title": "FeeElectionEnumObject",
            "description": "An instance of fpml5.confirmation.FeeElectionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FlatRateEnum": {
            "title": "FlatRateEnum",
            "description": "An instance of fpml5.confirmation.FlatRateEnum",
            "enum": ["Fixed", "Floating"]
        },
        "fpml5.confirmation.FlatRateEnumObject": {
            "title": "FlatRateEnumObject",
            "description": "An instance of fpml5.confirmation.FlatRateEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FpmlVersionType": {
            "title": "FpmlVersionType",
            "description": "An instance of fpml5.confirmation.FpmlVersionType",
            "enum": []
        },
        "fpml5.confirmation.FPVFinalPriceElectionFallbackEnum": {
            "title": "FPVFinalPriceElectionFallbackEnum",
            "description": "An instance of fpml5.confirmation.FPVFinalPriceElectionFallbackEnum",
            "enum": ["FPVClose", "FPVHedgeExecution"]
        },
        "fpml5.confirmation.FPVFinalPriceElectionFallbackEnumObject": {
            "title": "FPVFinalPriceElectionFallbackEnumObject",
            "description": "An instance of fpml5.confirmation.FPVFinalPriceElectionFallbackEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FraDiscountingEnum": {
            "title": "FraDiscountingEnum",
            "description": "An instance of fpml5.confirmation.FraDiscountingEnum",
            "enum": ["ISDA", "AFMA", "NONE", "ISDAYield"]
        },
        "fpml5.confirmation.FraDiscountingEnumObject": {
            "title": "FraDiscountingEnumObject",
            "description": "An instance of fpml5.confirmation.FraDiscountingEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnum": {
            "title": "FxAccrualKnockoutBarrierRetentionEnum",
            "description": "An instance of fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnum",
            "enum": ["Keep", "Lose"]
        },
        "fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnumObject": {
            "title": "FxAccrualKnockoutBarrierRetentionEnumObject",
            "description": "An instance of fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxAveragingMethodEnum": {
            "title": "FxAveragingMethodEnum",
            "description": "An instance of fpml5.confirmation.FxAveragingMethodEnum",
            "enum": ["Arithmetic", "Harmonic"]
        },
        "fpml5.confirmation.FxAveragingMethodEnumObject": {
            "title": "FxAveragingMethodEnumObject",
            "description": "An instance of fpml5.confirmation.FxAveragingMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxBarrierDirectionEnum": {
            "title": "FxBarrierDirectionEnum",
            "description": "An instance of fpml5.confirmation.FxBarrierDirectionEnum",
            "enum": ["Down", "Up"]
        },
        "fpml5.confirmation.FxBarrierDirectionEnumObject": {
            "title": "FxBarrierDirectionEnumObject",
            "description": "An instance of fpml5.confirmation.FxBarrierDirectionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxBarrierScopeEnum": {
            "title": "FxBarrierScopeEnum",
            "description": "An instance of fpml5.confirmation.FxBarrierScopeEnum",
            "enum": ["Global", "PerExpiry"]
        },
        "fpml5.confirmation.FxBarrierScopeEnumObject": {
            "title": "FxBarrierScopeEnumObject",
            "description": "An instance of fpml5.confirmation.FxBarrierScopeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxBarrierStyleEnum": {
            "title": "FxBarrierStyleEnum",
            "description": "An instance of fpml5.confirmation.FxBarrierStyleEnum",
            "enum": ["American", "European"]
        },
        "fpml5.confirmation.FxBarrierStyleEnumObject": {
            "title": "FxBarrierStyleEnumObject",
            "description": "An instance of fpml5.confirmation.FxBarrierStyleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxBarrierTypeEnum": {
            "title": "FxBarrierTypeEnum",
            "description": "An instance of fpml5.confirmation.FxBarrierTypeEnum",
            "enum": ["Knockin", "Knockout", "ReverseKnockin", "ReverseKnockout"]
        },
        "fpml5.confirmation.FxBarrierTypeEnumObject": {
            "title": "FxBarrierTypeEnumObject",
            "description": "An instance of fpml5.confirmation.FxBarrierTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxBarrierTypeSimpleEnum": {
            "title": "FxBarrierTypeSimpleEnum",
            "description": "An instance of fpml5.confirmation.FxBarrierTypeSimpleEnum",
            "enum": ["Knockin", "Knockout"]
        },
        "fpml5.confirmation.FxBarrierTypeSimpleEnumObject": {
            "title": "FxBarrierTypeSimpleEnumObject",
            "description": "An instance of fpml5.confirmation.FxBarrierTypeSimpleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxOffsetConventionEnum": {
            "title": "FxOffsetConventionEnum",
            "description": "An instance of fpml5.confirmation.FxOffsetConventionEnum",
            "enum": ["FxSpot", "FxForward"]
        },
        "fpml5.confirmation.FxOffsetConventionEnumObject": {
            "title": "FxOffsetConventionEnumObject",
            "description": "An instance of fpml5.confirmation.FxOffsetConventionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxRegionLowerBoundDirectionEnum": {
            "title": "FxRegionLowerBoundDirectionEnum",
            "description": "An instance of fpml5.confirmation.FxRegionLowerBoundDirectionEnum",
            "enum": ["AtOrAbove", "Above"]
        },
        "fpml5.confirmation.FxRegionLowerBoundDirectionEnumObject": {
            "title": "FxRegionLowerBoundDirectionEnumObject",
            "description": "An instance of fpml5.confirmation.FxRegionLowerBoundDirectionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxRegionUpperBoundDirectionEnum": {
            "title": "FxRegionUpperBoundDirectionEnum",
            "description": "An instance of fpml5.confirmation.FxRegionUpperBoundDirectionEnum",
            "enum": ["AtOrBelow", "Below"]
        },
        "fpml5.confirmation.FxRegionUpperBoundDirectionEnumObject": {
            "title": "FxRegionUpperBoundDirectionEnumObject",
            "description": "An instance of fpml5.confirmation.FxRegionUpperBoundDirectionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxSettlementAdjustmentMethodEnum": {
            "title": "FxSettlementAdjustmentMethodEnum",
            "description": "An instance of fpml5.confirmation.FxSettlementAdjustmentMethodEnum",
            "enum": ["VariedStrike", "VariedNotional"]
        },
        "fpml5.confirmation.FxSettlementAdjustmentMethodEnumObject": {
            "title": "FxSettlementAdjustmentMethodEnumObject",
            "description": "An instance of fpml5.confirmation.FxSettlementAdjustmentMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxStraddleTypeEnum": {
            "title": "FxStraddleTypeEnum",
            "description": "An instance of fpml5.confirmation.FxStraddleTypeEnum",
            "enum": ["AtTheMoneyForward", "DeltaNeutral"]
        },
        "fpml5.confirmation.FxStraddleTypeEnumObject": {
            "title": "FxStraddleTypeEnumObject",
            "description": "An instance of fpml5.confirmation.FxStraddleTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxTargetStyleEnum": {
            "title": "FxTargetStyleEnum",
            "description": "An instance of fpml5.confirmation.FxTargetStyleEnum",
            "enum": ["Exact", "Exclusive", "Inclusive"]
        },
        "fpml5.confirmation.FxTargetStyleEnumObject": {
            "title": "FxTargetStyleEnumObject",
            "description": "An instance of fpml5.confirmation.FxTargetStyleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.FxTenorPeriodEnum": {
            "title": "FxTenorPeriodEnum",
            "description": "An instance of fpml5.confirmation.FxTenorPeriodEnum",
            "enum": ["Broken", "Today", "Tomorrow", "TomorrowNext", "Spot", "SpotNext"]
        },
        "fpml5.confirmation.FxTenorPeriodEnumObject": {
            "title": "FxTenorPeriodEnumObject",
            "description": "An instance of fpml5.confirmation.FxTenorPeriodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.GasProductTypeEnum": {
            "title": "GasProductTypeEnum",
            "description": "An instance of fpml5.confirmation.GasProductTypeEnum",
            "enum": [
                "Butane",
                "CarbonDioxide",
                "EPMix",
                "Ethane",
                "Gasoline",
                "Helium",
                "HydrogenSulfide",
                "Isobutane",
                "Methane",
                "Naphtha",
                "NaturalGas",
                "Nitrogen",
                "Pentane",
                "Propane",
                "Propylene",
                "Water"
            ]
        },
        "fpml5.confirmation.GasProductTypeEnumObject": {
            "title": "GasProductTypeEnumObject",
            "description": "An instance of fpml5.confirmation.GasProductTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.HourMinuteTime": {
            "title": "HourMinuteTime",
            "description": "An instance of fpml5.confirmation.HourMinuteTime",
            "enum": []
        },
        "fpml5.confirmation.IndexEventConsequenceEnum": {
            "title": "IndexEventConsequenceEnum",
            "description": "An instance of fpml5.confirmation.IndexEventConsequenceEnum",
            "enum": ["CalculationAgentAdjustment", "NegotiatedCloseOut", "CancellationAndPayment", "RelatedExchange"]
        },
        "fpml5.confirmation.IndexEventConsequenceEnumObject": {
            "title": "IndexEventConsequenceEnumObject",
            "description": "An instance of fpml5.confirmation.IndexEventConsequenceEnumObject",
            "enum": []
        },
        "fpml5.confirmation.Initial": {
            "title": "Initial",
            "description": "An instance of fpml5.confirmation.Initial",
            "enum": []
        },
        "fpml5.confirmation.InterestCalculationMethodEnum": {
            "title": "InterestCalculationMethodEnum",
            "description": "An instance of fpml5.confirmation.InterestCalculationMethodEnum",
            "enum": ["ContractPositionThruPeriod", "ProRataShareSnapshot"]
        },
        "fpml5.confirmation.InterestCalculationMethodEnumObject": {
            "title": "InterestCalculationMethodEnumObject",
            "description": "An instance of fpml5.confirmation.InterestCalculationMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.InterestShortfallCapEnum": {
            "title": "InterestShortfallCapEnum",
            "description": "An instance of fpml5.confirmation.InterestShortfallCapEnum",
            "enum": ["Fixed", "Variable"]
        },
        "fpml5.confirmation.InterestShortfallCapEnumObject": {
            "title": "InterestShortfallCapEnumObject",
            "description": "An instance of fpml5.confirmation.InterestShortfallCapEnumObject",
            "enum": []
        },
        "fpml5.confirmation.InterpolationPeriodEnum": {
            "title": "InterpolationPeriodEnum",
            "description": "An instance of fpml5.confirmation.InterpolationPeriodEnum",
            "enum": ["Initial", "InitialAndFinal", "Final", "AnyPeriod"]
        },
        "fpml5.confirmation.InterpolationPeriodEnumObject": {
            "title": "InterpolationPeriodEnumObject",
            "description": "An instance of fpml5.confirmation.InterpolationPeriodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LcAutoAdjustEnum": {
            "title": "LcAutoAdjustEnum",
            "description": "An instance of fpml5.confirmation.LcAutoAdjustEnum",
            "enum": ["AutoDecrease", "AutoIncrease", "AutoIncreaseOrDecrease"]
        },
        "fpml5.confirmation.LcAutoAdjustEnumObject": {
            "title": "LcAutoAdjustEnumObject",
            "description": "An instance of fpml5.confirmation.LcAutoAdjustEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LengthUnitEnum": {
            "title": "LengthUnitEnum",
            "description": "An instance of fpml5.confirmation.LengthUnitEnum",
            "enum": ["Pages", "TimeUnit"]
        },
        "fpml5.confirmation.LengthUnitEnumObject": {
            "title": "LengthUnitEnumObject",
            "description": "An instance of fpml5.confirmation.LengthUnitEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LimitModelEnum": {
            "title": "LimitModelEnum",
            "description": "An instance of fpml5.confirmation.LimitModelEnum",
            "enum": ["Ping", "Plus1ToStop", "Plus1ToPing", "PushToPing", "PushToStop"]
        },
        "fpml5.confirmation.LimitModelEnumObject": {
            "title": "LimitModelEnumObject",
            "description": "An instance of fpml5.confirmation.LimitModelEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoadTypeEnum": {
            "title": "LoadTypeEnum",
            "description": "An instance of fpml5.confirmation.LoadTypeEnum",
            "enum": ["Base", "Peak", "OffPeak", "BlockHours", "Custom"]
        },
        "fpml5.confirmation.LoadTypeEnumObject": {
            "title": "LoadTypeEnumObject",
            "description": "An instance of fpml5.confirmation.LoadTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingAccrualSettlementEnum": {
            "title": "LoanTradingAccrualSettlementEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingAccrualSettlementEnum",
            "enum": ["Flat", "SettledWithAccrued", "SettledWithoutAccrued"]
        },
        "fpml5.confirmation.LoanTradingAccrualSettlementEnumObject": {
            "title": "LoanTradingAccrualSettlementEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingAccrualSettlementEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingAccruingFeeTypeEnum": {
            "title": "LoanTradingAccruingFeeTypeEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingAccruingFeeTypeEnum",
            "enum": ["Commitment", "Facility", "LetterOfCreditIssuance", "Ticking", "Utilization"]
        },
        "fpml5.confirmation.LoanTradingAccruingFeeTypeEnumObject": {
            "title": "LoanTradingAccruingFeeTypeEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingAccruingFeeTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingAssocEnum": {
            "title": "LoanTradingAssocEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingAssocEnum",
            "enum": ["LMA", "LSTA"]
        },
        "fpml5.confirmation.LoanTradingAssocEnumObject": {
            "title": "LoanTradingAssocEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingAssocEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingDocTypeEnum": {
            "title": "LoanTradingDocTypeEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingDocTypeEnum",
            "enum": ["Distressed", "Par"]
        },
        "fpml5.confirmation.LoanTradingDocTypeEnumObject": {
            "title": "LoanTradingDocTypeEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingDocTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingFormOfPurchaseEnum": {
            "title": "LoanTradingFormOfPurchaseEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingFormOfPurchaseEnum",
            "enum": [
                "Assignment",
                "AssignmentOnly",
                "Other",
                "LMAFundedParticipation",
                "LMAFundedRiskParticipation",
                "LMARiskParticipation",
                "LMARiskToFundedParticipation",
                "LMATransferAgreement",
                "LMATransferCertificate",
                "Participation"
            ]
        },
        "fpml5.confirmation.LoanTradingFormOfPurchaseEnumObject": {
            "title": "LoanTradingFormOfPurchaseEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingFormOfPurchaseEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnum": {
            "title": "LoanTradingNonRecurringFeeTypeEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnum",
            "enum": ["Amendment", "Consent", "Facility", "FacilityExension", "Upfront", "Waiver"]
        },
        "fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnumObject": {
            "title": "LoanTradingNonRecurringFeeTypeEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingSettlementTaskStatusEnum": {
            "title": "LoanTradingSettlementTaskStatusEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingSettlementTaskStatusEnum",
            "enum": ["Active", "Cleared", "Cancelled"]
        },
        "fpml5.confirmation.LoanTradingSettlementTaskStatusEnumObject": {
            "title": "LoanTradingSettlementTaskStatusEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingSettlementTaskStatusEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingTypeEnum": {
            "title": "LoanTradingTypeEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingTypeEnum",
            "enum": ["Primary", "Secondary"]
        },
        "fpml5.confirmation.LoanTradingTypeEnumObject": {
            "title": "LoanTradingTypeEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTradingVotingRightsEnum": {
            "title": "LoanTradingVotingRightsEnum",
            "description": "An instance of fpml5.confirmation.LoanTradingVotingRightsEnum",
            "enum": ["PassedOnToBuyer", "RetainedBySeller"]
        },
        "fpml5.confirmation.LoanTradingVotingRightsEnumObject": {
            "title": "LoanTradingVotingRightsEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTradingVotingRightsEnumObject",
            "enum": []
        },
        "fpml5.confirmation.LoanTransferFeePaidByEnum": {
            "title": "LoanTransferFeePaidByEnum",
            "description": "An instance of fpml5.confirmation.LoanTransferFeePaidByEnum",
            "enum": ["BuyerSplitOneHalf", "OneFeePaidByBuyer", "OneFeePaidBySeller", "PaidByBuyer", "PaidBySeller", "SellerSplitOneHalf", "SplitFull"]
        },
        "fpml5.confirmation.LoanTransferFeePaidByEnumObject": {
            "title": "LoanTransferFeePaidByEnumObject",
            "description": "An instance of fpml5.confirmation.LoanTransferFeePaidByEnumObject",
            "enum": []
        },
        "fpml5.confirmation.MarginTypeEnum": {
            "title": "MarginTypeEnum",
            "description": "An instance of fpml5.confirmation.MarginTypeEnum",
            "enum": ["Cash", "Instrument"]
        },
        "fpml5.confirmation.MarginTypeEnumObject": {
            "title": "MarginTypeEnumObject",
            "description": "An instance of fpml5.confirmation.MarginTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.MarketDisruptionEventsEnum": {
            "title": "MarketDisruptionEventsEnum",
            "description": "An instance of fpml5.confirmation.MarketDisruptionEventsEnum",
            "enum": ["Applicable", "NotApplicable", "AsSpecifiedInMasterAgreement", "AsSpecifiedInConfirmation"]
        },
        "fpml5.confirmation.MarketDisruptionEventsEnumObject": {
            "title": "MarketDisruptionEventsEnumObject",
            "description": "An instance of fpml5.confirmation.MarketDisruptionEventsEnumObject",
            "enum": []
        },
        "fpml5.confirmation.MetalTitleEnum": {
            "title": "MetalTitleEnum",
            "description": "An instance of fpml5.confirmation.MetalTitleEnum",
            "enum": ["TransfersWithRiskOfLoss", "DoesNotTransferWithRiskOfLoss"]
        },
        "fpml5.confirmation.MetalTitleEnumObject": {
            "title": "MetalTitleEnumObject",
            "description": "An instance of fpml5.confirmation.MetalTitleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.MethodOfAdjustmentEnum": {
            "title": "MethodOfAdjustmentEnum",
            "description": "An instance of fpml5.confirmation.MethodOfAdjustmentEnum",
            "enum": ["CalculationAgent", "OptionsExchange"]
        },
        "fpml5.confirmation.MethodOfAdjustmentEnumObject": {
            "title": "MethodOfAdjustmentEnumObject",
            "description": "An instance of fpml5.confirmation.MethodOfAdjustmentEnumObject",
            "enum": []
        },
        "fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnum": {
            "title": "NationalisationOrInsolvencyOrDelistingEventEnum",
            "description": "An instance of fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnum",
            "enum": ["NegotiatedCloseout", "CancellationAndPayment"]
        },
        "fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnumObject": {
            "title": "NationalisationOrInsolvencyOrDelistingEventEnumObject",
            "description": "An instance of fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnumObject",
            "enum": []
        },
        "fpml5.confirmation.NegativeInterestRateTreatmentEnum": {
            "title": "NegativeInterestRateTreatmentEnum",
            "description": "An instance of fpml5.confirmation.NegativeInterestRateTreatmentEnum",
            "enum": ["NegativeInterestRateMethod", "ZeroInterestRateMethod"]
        },
        "fpml5.confirmation.NegativeInterestRateTreatmentEnumObject": {
            "title": "NegativeInterestRateTreatmentEnumObject",
            "description": "An instance of fpml5.confirmation.NegativeInterestRateTreatmentEnumObject",
            "enum": []
        },
        "fpml5.confirmation.NonCashDividendTreatmentEnum": {
            "title": "NonCashDividendTreatmentEnum",
            "description": "An instance of fpml5.confirmation.NonCashDividendTreatmentEnum",
            "enum": ["PotentialAdjustmentEvent", "CashEquivalent"]
        },
        "fpml5.confirmation.NonCashDividendTreatmentEnumObject": {
            "title": "NonCashDividendTreatmentEnumObject",
            "description": "An instance of fpml5.confirmation.NonCashDividendTreatmentEnumObject",
            "enum": []
        },
        "fpml5.confirmation.NonEmptyLongScheme": {
            "title": "NonEmptyLongScheme",
            "description": "An instance of fpml5.confirmation.NonEmptyLongScheme",
            "enum": []
        },
        "fpml5.confirmation.NonEmptyScheme": {
            "title": "NonEmptyScheme",
            "description": "An instance of fpml5.confirmation.NonEmptyScheme",
            "enum": []
        },
        "fpml5.confirmation.NonEmptyURI": {
            "title": "NonEmptyURI",
            "description": "An instance of fpml5.confirmation.NonEmptyURI",
            "enum": []
        },
        "fpml5.confirmation.NonNegativeDecimal": {
            "title": "NonNegativeDecimal",
            "description": "An instance of fpml5.confirmation.NonNegativeDecimal",
            "enum": []
        },
        "fpml5.confirmation.NormalizedString": {
            "title": "NormalizedString",
            "description": "An instance of fpml5.confirmation.NormalizedString",
            "enum": []
        },
        "fpml5.confirmation.NotionalAdjustmentEnum": {
            "title": "NotionalAdjustmentEnum",
            "description": "An instance of fpml5.confirmation.NotionalAdjustmentEnum",
            "enum": ["Execution", "PortfolioRebalancing", "Standard"]
        },
        "fpml5.confirmation.NotionalAdjustmentEnumObject": {
            "title": "NotionalAdjustmentEnumObject",
            "description": "An instance of fpml5.confirmation.NotionalAdjustmentEnumObject",
            "enum": []
        },
        "fpml5.confirmation.NotionalChangeEnum": {
            "title": "NotionalChangeEnum",
            "description": "An instance of fpml5.confirmation.NotionalChangeEnum",
            "enum": ["Increase", "Decrease"]
        },
        "fpml5.confirmation.NotionalChangeEnumObject": {
            "title": "NotionalChangeEnumObject",
            "description": "An instance of fpml5.confirmation.NotionalChangeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ObligationCategoryEnum": {
            "title": "ObligationCategoryEnum",
            "description": "An instance of fpml5.confirmation.ObligationCategoryEnum",
            "enum": ["Payment", "BorrowedMoney", "ReferenceObligationsOnly", "Bond", "Loan", "BondOrLoan"]
        },
        "fpml5.confirmation.ObligationCategoryEnumObject": {
            "title": "ObligationCategoryEnumObject",
            "description": "An instance of fpml5.confirmation.ObligationCategoryEnumObject",
            "enum": []
        },
        "fpml5.confirmation.OptionTypeEnum": {
            "title": "OptionTypeEnum",
            "description": "An instance of fpml5.confirmation.OptionTypeEnum",
            "enum": []
        },
        "fpml5.confirmation.OptionTypeEnumMember1": {
            "title": "OptionTypeEnumMember1",
            "description": "An instance of fpml5.confirmation.OptionTypeEnumMember1",
            "enum": ["Payer", "Receiver", "Straddle"]
        },
        "fpml5.confirmation.OptionTypeEnumMember1Object": {
            "title": "OptionTypeEnumMember1Object",
            "description": "An instance of fpml5.confirmation.OptionTypeEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.PayerReceiverEnum": {
            "title": "PayerReceiverEnum",
            "description": "An instance of fpml5.confirmation.PayerReceiverEnum",
            "enum": ["Payer", "Receiver"]
        },
        "fpml5.confirmation.PayerReceiverEnumObject": {
            "title": "PayerReceiverEnumObject",
            "description": "An instance of fpml5.confirmation.PayerReceiverEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PayoutEnum": {
            "title": "PayoutEnum",
            "description": "An instance of fpml5.confirmation.PayoutEnum",
            "enum": ["Deferred", "Immediate"]
        },
        "fpml5.confirmation.PayoutEnumObject": {
            "title": "PayoutEnumObject",
            "description": "An instance of fpml5.confirmation.PayoutEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PayRelativeToEnum": {
            "title": "PayRelativeToEnum",
            "description": "An instance of fpml5.confirmation.PayRelativeToEnum",
            "enum": ["CalculationPeriodStartDate", "CalculationPeriodEndDate", "LastPricingDate", "ResetDate", "ValuationDate"]
        },
        "fpml5.confirmation.PayRelativeToEnumObject": {
            "title": "PayRelativeToEnumObject",
            "description": "An instance of fpml5.confirmation.PayRelativeToEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PeriodEnum": {
            "title": "PeriodEnum",
            "description": "An instance of fpml5.confirmation.PeriodEnum",
            "enum": ["D", "W", "M", "Y"]
        },
        "fpml5.confirmation.PeriodEnumObject": {
            "title": "PeriodEnumObject",
            "description": "An instance of fpml5.confirmation.PeriodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PeriodExtendedEnum": {
            "title": "PeriodExtendedEnum",
            "description": "An instance of fpml5.confirmation.PeriodExtendedEnum",
            "enum": []
        },
        "fpml5.confirmation.PeriodExtendedEnumMember1": {
            "title": "PeriodExtendedEnumMember1",
            "description": "An instance of fpml5.confirmation.PeriodExtendedEnumMember1",
            "enum": ["T"]
        },
        "fpml5.confirmation.PeriodExtendedEnumMember1Object": {
            "title": "PeriodExtendedEnumMember1Object",
            "description": "An instance of fpml5.confirmation.PeriodExtendedEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.PeriodTimeEnum": {
            "title": "PeriodTimeEnum",
            "description": "An instance of fpml5.confirmation.PeriodTimeEnum",
            "enum": []
        },
        "fpml5.confirmation.PeriodTimeEnumMember1": {
            "title": "PeriodTimeEnumMember1",
            "description": "An instance of fpml5.confirmation.PeriodTimeEnumMember1",
            "enum": ["Hour", "Minute", "Second"]
        },
        "fpml5.confirmation.PeriodTimeEnumMember1Object": {
            "title": "PeriodTimeEnumMember1Object",
            "description": "An instance of fpml5.confirmation.PeriodTimeEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.PointValue": {
            "title": "PointValue",
            "description": "An instance of fpml5.confirmation.PointValue",
            "enum": []
        },
        "fpml5.confirmation.PositiveDecimal": {
            "title": "PositiveDecimal",
            "description": "An instance of fpml5.confirmation.PositiveDecimal",
            "enum": []
        },
        "fpml5.confirmation.PremiumQuoteBasisEnum": {
            "title": "PremiumQuoteBasisEnum",
            "description": "An instance of fpml5.confirmation.PremiumQuoteBasisEnum",
            "enum": ["PercentageOfCallCurrencyAmount", "PercentageOfPutCurrencyAmount", "CallCurrencyPerPutCurrency", "PutCurrencyPerCallCurrency", "Explicit"]
        },
        "fpml5.confirmation.PremiumQuoteBasisEnumObject": {
            "title": "PremiumQuoteBasisEnumObject",
            "description": "An instance of fpml5.confirmation.PremiumQuoteBasisEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PremiumTypeEnum": {
            "title": "PremiumTypeEnum",
            "description": "An instance of fpml5.confirmation.PremiumTypeEnum",
            "enum": ["PrePaid", "PostPaid", "Variable", "Fixed"]
        },
        "fpml5.confirmation.PremiumTypeEnumObject": {
            "title": "PremiumTypeEnumObject",
            "description": "An instance of fpml5.confirmation.PremiumTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PriceExpressionEnum": {
            "title": "PriceExpressionEnum",
            "description": "An instance of fpml5.confirmation.PriceExpressionEnum",
            "enum": ["AbsoluteTerms", "PercentageOfNotional"]
        },
        "fpml5.confirmation.PriceExpressionEnumObject": {
            "title": "PriceExpressionEnumObject",
            "description": "An instance of fpml5.confirmation.PriceExpressionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.PutCallEnum": {
            "title": "PutCallEnum",
            "description": "An instance of fpml5.confirmation.PutCallEnum",
            "enum": ["Put", "Call"]
        },
        "fpml5.confirmation.PutCallEnumObject": {
            "title": "PutCallEnumObject",
            "description": "An instance of fpml5.confirmation.PutCallEnumObject",
            "enum": []
        },
        "fpml5.confirmation.QuotationRateTypeEnum": {
            "title": "QuotationRateTypeEnum",
            "description": "An instance of fpml5.confirmation.QuotationRateTypeEnum",
            "enum": ["Bid", "Ask", "Mid", "ExercisingPartyPays"]
        },
        "fpml5.confirmation.QuotationRateTypeEnumObject": {
            "title": "QuotationRateTypeEnumObject",
            "description": "An instance of fpml5.confirmation.QuotationRateTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.QuotationSideEnum": {
            "title": "QuotationSideEnum",
            "description": "An instance of fpml5.confirmation.QuotationSideEnum",
            "enum": ["Bid", "Ask", "Mid"]
        },
        "fpml5.confirmation.QuotationSideEnumObject": {
            "title": "QuotationSideEnumObject",
            "description": "An instance of fpml5.confirmation.QuotationSideEnumObject",
            "enum": []
        },
        "fpml5.confirmation.QuotationStyleEnum": {
            "title": "QuotationStyleEnum",
            "description": "An instance of fpml5.confirmation.QuotationStyleEnum",
            "enum": ["PointsUpFront", "TradedSpread", "Price"]
        },
        "fpml5.confirmation.QuotationStyleEnumObject": {
            "title": "QuotationStyleEnumObject",
            "description": "An instance of fpml5.confirmation.QuotationStyleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.QuoteBasisEnum": {
            "title": "QuoteBasisEnum",
            "description": "An instance of fpml5.confirmation.QuoteBasisEnum",
            "enum": ["Currency1PerCurrency2", "Currency2PerCurrency1"]
        },
        "fpml5.confirmation.QuoteBasisEnumObject": {
            "title": "QuoteBasisEnumObject",
            "description": "An instance of fpml5.confirmation.QuoteBasisEnumObject",
            "enum": []
        },
        "fpml5.confirmation.RateTreatmentEnum": {
            "title": "RateTreatmentEnum",
            "description": "An instance of fpml5.confirmation.RateTreatmentEnum",
            "enum": ["BondEquivalentYield", "MoneyMarketYield"]
        },
        "fpml5.confirmation.RateTreatmentEnumObject": {
            "title": "RateTreatmentEnumObject",
            "description": "An instance of fpml5.confirmation.RateTreatmentEnumObject",
            "enum": []
        },
        "fpml5.confirmation.RealisedVarianceMethodEnum": {
            "title": "RealisedVarianceMethodEnum",
            "description": "An instance of fpml5.confirmation.RealisedVarianceMethodEnum",
            "enum": ["Previous", "Last", "Both"]
        },
        "fpml5.confirmation.RealisedVarianceMethodEnumObject": {
            "title": "RealisedVarianceMethodEnumObject",
            "description": "An instance of fpml5.confirmation.RealisedVarianceMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.RepoDurationEnum": {
            "title": "RepoDurationEnum",
            "description": "An instance of fpml5.confirmation.RepoDurationEnum",
            "enum": ["Overnight", "Term"]
        },
        "fpml5.confirmation.RepoDurationEnumObject": {
            "title": "RepoDurationEnumObject",
            "description": "An instance of fpml5.confirmation.RepoDurationEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ResetRelativeToEnum": {
            "title": "ResetRelativeToEnum",
            "description": "An instance of fpml5.confirmation.ResetRelativeToEnum",
            "enum": ["CalculationPeriodStartDate", "CalculationPeriodEndDate"]
        },
        "fpml5.confirmation.ResetRelativeToEnumObject": {
            "title": "ResetRelativeToEnumObject",
            "description": "An instance of fpml5.confirmation.ResetRelativeToEnumObject",
            "enum": []
        },
        "fpml5.confirmation.RestrictedPercentage": {
            "title": "RestrictedPercentage",
            "description": "An instance of fpml5.confirmation.RestrictedPercentage",
            "enum": []
        },
        "fpml5.confirmation.ReturnTypeEnum": {
            "title": "ReturnTypeEnum",
            "description": "An instance of fpml5.confirmation.ReturnTypeEnum",
            "enum": ["Dividend", "Price", "Total"]
        },
        "fpml5.confirmation.ReturnTypeEnumObject": {
            "title": "ReturnTypeEnumObject",
            "description": "An instance of fpml5.confirmation.ReturnTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.RollConventionEnum": {
            "title": "RollConventionEnum",
            "description": "An instance of fpml5.confirmation.RollConventionEnum",
            "enum": [
                "EOM",
                "FRN",
                "IMM",
                "IMMCAD",
                "IMMAUD",
                "IMMNZD",
                "SFE",
                "NONE",
                "TBILL",
                "_1",
                "_2",
                "_3",
                "_4",
                "_5",
                "_6",
                "_7",
                "_8",
                "_9",
                "_10",
                "_11",
                "_12",
                "_13",
                "_14",
                "_15",
                "_16",
                "_17",
                "_18",
                "_19",
                "_20",
                "_21",
                "_22",
                "_23",
                "_24",
                "_25",
                "_26",
                "_27",
                "_28",
                "_29",
                "_30",
                "MON",
                "TUE",
                "WED",
                "THU",
                "FRI",
                "SAT",
                "SUN"
            ]
        },
        "fpml5.confirmation.RollConventionEnumObject": {
            "title": "RollConventionEnumObject",
            "description": "An instance of fpml5.confirmation.RollConventionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.RoundingDirectionEnum": {
            "title": "RoundingDirectionEnum",
            "description": "An instance of fpml5.confirmation.RoundingDirectionEnum",
            "enum": ["Up", "Down", "Nearest"]
        },
        "fpml5.confirmation.RoundingDirectionEnumObject": {
            "title": "RoundingDirectionEnumObject",
            "description": "An instance of fpml5.confirmation.RoundingDirectionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.Scheme": {
            "title": "Scheme",
            "description": "An instance of fpml5.confirmation.Scheme",
            "enum": []
        },
        "fpml5.confirmation.SettlementPeriodDurationEnum": {
            "title": "SettlementPeriodDurationEnum",
            "description": "An instance of fpml5.confirmation.SettlementPeriodDurationEnum",
            "enum": ["_2Hours", "_1Hour", "_30Minutes", "_15Minutes"]
        },
        "fpml5.confirmation.SettlementPeriodDurationEnumObject": {
            "title": "SettlementPeriodDurationEnumObject",
            "description": "An instance of fpml5.confirmation.SettlementPeriodDurationEnumObject",
            "enum": []
        },
        "fpml5.confirmation.SettlementTypeEnum": {
            "title": "SettlementTypeEnum",
            "description": "An instance of fpml5.confirmation.SettlementTypeEnum",
            "enum": ["Cash", "Physical", "Election", "CashOrPhysical"]
        },
        "fpml5.confirmation.SettlementTypeEnumObject": {
            "title": "SettlementTypeEnumObject",
            "description": "An instance of fpml5.confirmation.SettlementTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ShareExtraordinaryEventEnum": {
            "title": "ShareExtraordinaryEventEnum",
            "description": "An instance of fpml5.confirmation.ShareExtraordinaryEventEnum",
            "enum": ["AlternativeObligation", "CancellationAndPayment", "OptionsExchange", "CalculationAgent", "ModifiedCalculationAgent", "PartialCancellationAndPayment", "Component"]
        },
        "fpml5.confirmation.ShareExtraordinaryEventEnumObject": {
            "title": "ShareExtraordinaryEventEnumObject",
            "description": "An instance of fpml5.confirmation.ShareExtraordinaryEventEnumObject",
            "enum": []
        },
        "fpml5.confirmation.SpecifiedPriceEnum": {
            "title": "SpecifiedPriceEnum",
            "description": "An instance of fpml5.confirmation.SpecifiedPriceEnum",
            "enum": [
                "Afternoon",
                "Ask",
                "Bid",
                "Closing",
                "High",
                "Index",
                "MeanOfBidAndAsk",
                "LocationalMarginal",
                "Low",
                "MarginalHourly",
                "MarketClearing",
                "MeanOfHighAndLow",
                "Morning",
                "Official",
                "Opening",
                "OSP",
                "Settlement",
                "Spot",
                "Midpoint",
                "NationalSingle",
                "WeightedAverage",
                "UnWeightedAverage"
            ]
        },
        "fpml5.confirmation.SpecifiedPriceEnumObject": {
            "title": "SpecifiedPriceEnumObject",
            "description": "An instance of fpml5.confirmation.SpecifiedPriceEnumObject",
            "enum": []
        },
        "fpml5.confirmation.StandardSettlementStyleEnum": {
            "title": "StandardSettlementStyleEnum",
            "description": "An instance of fpml5.confirmation.StandardSettlementStyleEnum",
            "enum": ["Standard", "Net", "StandardAndNet"]
        },
        "fpml5.confirmation.StandardSettlementStyleEnumObject": {
            "title": "StandardSettlementStyleEnumObject",
            "description": "An instance of fpml5.confirmation.StandardSettlementStyleEnumObject",
            "enum": []
        },
        "fpml5.confirmation.StepRelativeToEnum": {
            "title": "StepRelativeToEnum",
            "description": "An instance of fpml5.confirmation.StepRelativeToEnum",
            "enum": ["Initial", "Previous"]
        },
        "fpml5.confirmation.StepRelativeToEnumObject": {
            "title": "StepRelativeToEnumObject",
            "description": "An instance of fpml5.confirmation.StepRelativeToEnumObject",
            "enum": []
        },
        "fpml5.confirmation.StrikeQuoteBasisEnum": {
            "title": "StrikeQuoteBasisEnum",
            "description": "An instance of fpml5.confirmation.StrikeQuoteBasisEnum",
            "enum": ["PutCurrencyPerCallCurrency", "CallCurrencyPerPutCurrency"]
        },
        "fpml5.confirmation.StrikeQuoteBasisEnumObject": {
            "title": "StrikeQuoteBasisEnumObject",
            "description": "An instance of fpml5.confirmation.StrikeQuoteBasisEnumObject",
            "enum": []
        },
        "fpml5.confirmation.String": {
            "title": "String",
            "description": "An instance of fpml5.confirmation.String",
            "enum": []
        },
        "fpml5.confirmation.StubPeriodTypeEnum": {
            "title": "StubPeriodTypeEnum",
            "description": "An instance of fpml5.confirmation.StubPeriodTypeEnum",
            "enum": ["ShortInitial", "ShortFinal", "LongInitial", "LongFinal"]
        },
        "fpml5.confirmation.StubPeriodTypeEnumObject": {
            "title": "StubPeriodTypeEnumObject",
            "description": "An instance of fpml5.confirmation.StubPeriodTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.TelephoneTypeEnum": {
            "title": "TelephoneTypeEnum",
            "description": "An instance of fpml5.confirmation.TelephoneTypeEnum",
            "enum": ["Work", "Mobile", "Fax", "Personal"]
        },
        "fpml5.confirmation.TelephoneTypeEnumObject": {
            "title": "TelephoneTypeEnumObject",
            "description": "An instance of fpml5.confirmation.TelephoneTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.TimeTypeEnum": {
            "title": "TimeTypeEnum",
            "description": "An instance of fpml5.confirmation.TimeTypeEnum",
            "enum": ["Close", "Open", "OSP", "SpecificTime", "XETRA", "DerivativesClose", "AsSpecifiedInMasterConfirmation"]
        },
        "fpml5.confirmation.TimeTypeEnumObject": {
            "title": "TimeTypeEnumObject",
            "description": "An instance of fpml5.confirmation.TimeTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.Token": {
            "title": "Token",
            "description": "An instance of fpml5.confirmation.Token",
            "enum": []
        },
        "fpml5.confirmation.Token60": {
            "title": "Token60",
            "description": "An instance of fpml5.confirmation.Token60",
            "enum": []
        },
        "fpml5.confirmation.TouchConditionEnum": {
            "title": "TouchConditionEnum",
            "description": "An instance of fpml5.confirmation.TouchConditionEnum",
            "enum": ["Touch", "Notouch"]
        },
        "fpml5.confirmation.TouchConditionEnumObject": {
            "title": "TouchConditionEnumObject",
            "description": "An instance of fpml5.confirmation.TouchConditionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.TriggerConditionEnum": {
            "title": "TriggerConditionEnum",
            "description": "An instance of fpml5.confirmation.TriggerConditionEnum",
            "enum": ["AtOrAbove", "AtOrBelow", "Above", "Below"]
        },
        "fpml5.confirmation.TriggerConditionEnumObject": {
            "title": "TriggerConditionEnumObject",
            "description": "An instance of fpml5.confirmation.TriggerConditionEnumObject",
            "enum": []
        },
        "fpml5.confirmation.TriggerTimeTypeEnum": {
            "title": "TriggerTimeTypeEnum",
            "description": "An instance of fpml5.confirmation.TriggerTimeTypeEnum",
            "enum": ["Closing", "Anytime"]
        },
        "fpml5.confirmation.TriggerTimeTypeEnumObject": {
            "title": "TriggerTimeTypeEnumObject",
            "description": "An instance of fpml5.confirmation.TriggerTimeTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.TriggerTypeEnum": {
            "title": "TriggerTypeEnum",
            "description": "An instance of fpml5.confirmation.TriggerTypeEnum",
            "enum": ["EqualOrLess", "EqualOrGreater", "Equal", "Less", "Greater"]
        },
        "fpml5.confirmation.TriggerTypeEnumObject": {
            "title": "TriggerTypeEnumObject",
            "description": "An instance of fpml5.confirmation.TriggerTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ValuationMethodEnum": {
            "title": "ValuationMethodEnum",
            "description": "An instance of fpml5.confirmation.ValuationMethodEnum",
            "enum": ["Market", "Highest", "AverageMarket", "AverageHighest", "BlendedMarket", "BlendedHighest", "AverageBlendedMarket", "AverageBlendedHighest"]
        },
        "fpml5.confirmation.ValuationMethodEnumObject": {
            "title": "ValuationMethodEnumObject",
            "description": "An instance of fpml5.confirmation.ValuationMethodEnumObject",
            "enum": []
        },
        "fpml5.confirmation.ValuationTypeEnum": {
            "title": "ValuationTypeEnum",
            "description": "An instance of fpml5.confirmation.ValuationTypeEnum",
            "enum": ["Model", "Market"]
        },
        "fpml5.confirmation.ValuationTypeEnumObject": {
            "title": "ValuationTypeEnumObject",
            "description": "An instance of fpml5.confirmation.ValuationTypeEnumObject",
            "enum": []
        },
        "fpml5.confirmation.WeatherSettlementLevelEnum": {
            "title": "WeatherSettlementLevelEnum",
            "description": "An instance of fpml5.confirmation.WeatherSettlementLevelEnum",
            "enum": ["Cumulative", "Average", "Mximum", "Minimum"]
        },
        "fpml5.confirmation.WeatherSettlementLevelEnumObject": {
            "title": "WeatherSettlementLevelEnumObject",
            "description": "An instance of fpml5.confirmation.WeatherSettlementLevelEnumObject",
            "enum": []
        },
        "fpml5.confirmation.WeeklyRollConventionEnum": {
            "title": "WeeklyRollConventionEnum",
            "description": "An instance of fpml5.confirmation.WeeklyRollConventionEnum",
            "enum": []
        },
        "fpml5.confirmation.WeeklyRollConventionEnumMember1": {
            "title": "WeeklyRollConventionEnumMember1",
            "description": "An instance of fpml5.confirmation.WeeklyRollConventionEnumMember1",
            "enum": ["TBILL"]
        },
        "fpml5.confirmation.WeeklyRollConventionEnumMember1Object": {
            "title": "WeeklyRollConventionEnumMember1Object",
            "description": "An instance of fpml5.confirmation.WeeklyRollConventionEnumMember1Object",
            "enum": []
        },
        "fpml5.confirmation.AbsoluteTolerance": {
            "title": "AbsoluteTolerance",
            "description": "An instance of fpml5.confirmation.AbsoluteTolerance",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AbsoluteTolerance",
                    "pattern": "^fpml5\\.confirmation\\.AbsoluteTolerance$",
                    "description": "The class identifier for this type"
                },
                "positive": {
                    "type": "number"
                },
                "negative": {
                    "type": "number"
                }
            },
            "required": ["$class", "positive", "negative"]
        },
        "fpml5.confirmation.Account": {
            "title": "Account",
            "description": "An instance of fpml5.confirmation.Account",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Account",
                    "pattern": "^fpml5\\.confirmation\\.Account$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "id"]
        },
        "fpml5.confirmation.AccountId": {
            "title": "AccountId",
            "description": "An instance of fpml5.confirmation.AccountId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccountId",
                    "pattern": "^fpml5\\.confirmation\\.AccountId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "accountIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AccountName": {
            "title": "AccountName",
            "description": "An instance of fpml5.confirmation.AccountName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccountName",
                    "pattern": "^fpml5\\.confirmation\\.AccountName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "accountNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AccountReference": {
            "title": "AccountReference",
            "description": "An instance of fpml5.confirmation.AccountReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccountReference",
                    "pattern": "^fpml5\\.confirmation\\.AccountReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AccountType": {
            "title": "AccountType",
            "description": "An instance of fpml5.confirmation.AccountType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccountType",
                    "pattern": "^fpml5\\.confirmation\\.AccountType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "accountTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AccrualOptionChangeNotification": {
            "title": "AccrualOptionChangeNotification",
            "description": "An instance of fpml5.confirmation.AccrualOptionChangeNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccrualOptionChangeNotification",
                    "pattern": "^fpml5\\.confirmation\\.AccrualOptionChangeNotification$",
                    "description": "The class identifier for this type"
                },
                "loanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "letterOfCreditDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.AccrualPeriod": {
            "title": "AccrualPeriod",
            "description": "An instance of fpml5.confirmation.AccrualPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccrualPeriod",
                    "pattern": "^fpml5\\.confirmation\\.AccrualPeriod$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "numberOfDays": {
                    "type": "number"
                },
                "referenceAmountType": {
                    "$ref": "#/definitions/fpml5.confirmation.AccrualReferenceAmountTypeEnum"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "numberOfDays", "rate"]
        },
        "fpml5.confirmation.AccrualTypeId": {
            "title": "AccrualTypeId",
            "description": "An instance of fpml5.confirmation.AccrualTypeId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccrualTypeId",
                    "pattern": "^fpml5\\.confirmation\\.AccrualTypeId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "accrualTypeIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "accrualTypeIdScheme"]
        },
        "fpml5.confirmation.AccruingFeeChange": {
            "title": "AccruingFeeChange",
            "description": "An instance of fpml5.confirmation.AccruingFeeChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeeChange",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeeChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.AccruingFeeChangeNotification": {
            "title": "AccruingFeeChangeNotification",
            "description": "An instance of fpml5.confirmation.AccruingFeeChangeNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeeChangeNotification",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeeChangeNotification$",
                    "description": "The class identifier for this type"
                },
                "accruingFeeChangeGroupGroup": {
                    "type": "string"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "accruingFeeChangeGroupGroup", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.AccruingFeeExpiry": {
            "title": "AccruingFeeExpiry",
            "description": "An instance of fpml5.confirmation.AccruingFeeExpiry",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeeExpiry",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeeExpiry$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.AccruingFeeOption": {
            "title": "AccruingFeeOption",
            "description": "An instance of fpml5.confirmation.AccruingFeeOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeeOption",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeeOption$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "calculationDefinition": {
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "rate"]
        },
        "fpml5.confirmation.AccruingFeePayment": {
            "title": "AccruingFeePayment",
            "description": "An instance of fpml5.confirmation.AccruingFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeePayment$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate", "effectiveDate"]
        },
        "fpml5.confirmation.AccruingFeePaymentNotification": {
            "title": "AccruingFeePaymentNotification",
            "description": "An instance of fpml5.confirmation.AccruingFeePaymentNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeePaymentNotification",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeePaymentNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.AccruingFeeType": {
            "title": "AccruingFeeType",
            "description": "An instance of fpml5.confirmation.AccruingFeeType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingFeeType",
                    "pattern": "^fpml5\\.confirmation\\.AccruingFeeType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "accruingFeeTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AccruingPikOption": {
            "title": "AccruingPikOption",
            "description": "An instance of fpml5.confirmation.AccruingPikOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingPikOption",
                    "pattern": "^fpml5\\.confirmation\\.AccruingPikOption$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "rate"]
        },
        "fpml5.confirmation.AccruingPikOptionChange": {
            "title": "AccruingPikOptionChange",
            "description": "An instance of fpml5.confirmation.AccruingPikOptionChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingPikOptionChange",
                    "pattern": "^fpml5\\.confirmation\\.AccruingPikOptionChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.AccruingPikPayment": {
            "title": "AccruingPikPayment",
            "description": "An instance of fpml5.confirmation.AccruingPikPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingPikPayment",
                    "pattern": "^fpml5\\.confirmation\\.AccruingPikPayment$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate", "effectiveDate"]
        },
        "fpml5.confirmation.AccruingPikPaymentNotification": {
            "title": "AccruingPikPaymentNotification",
            "description": "An instance of fpml5.confirmation.AccruingPikPaymentNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AccruingPikPaymentNotification",
                    "pattern": "^fpml5\\.confirmation\\.AccruingPikPaymentNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.Acknowledgement": {
            "title": "Acknowledgement",
            "description": "An instance of fpml5.confirmation.Acknowledgement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Acknowledgement",
                    "pattern": "^fpml5\\.confirmation\\.Acknowledgement$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ActionOnExpiration": {
            "title": "ActionOnExpiration",
            "description": "An instance of fpml5.confirmation.ActionOnExpiration",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ActionOnExpiration",
                    "pattern": "^fpml5\\.confirmation\\.ActionOnExpiration$",
                    "description": "The class identifier for this type"
                },
                "exerciseAction": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseActionEnum"
                },
                "expiry": {
                    "type": "boolean"
                },
                "fullExercise": {
                    "type": "boolean"
                },
                "exerciseInNumberOfOptions": {
                    "type": "number"
                },
                "outstandingNumberOfOptions": {
                    "type": "number"
                },
                "exerciseInNumberOfUnits": {
                    "type": "number"
                },
                "outstandingNumberOfUnits": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ActionType": {
            "title": "ActionType",
            "description": "An instance of fpml5.confirmation.ActionType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ActionType",
                    "pattern": "^fpml5\\.confirmation\\.ActionType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "actionTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ActualPrice": {
            "title": "ActualPrice",
            "description": "An instance of fpml5.confirmation.ActualPrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ActualPrice",
                    "pattern": "^fpml5\\.confirmation\\.ActualPrice$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "priceExpression": {
                    "$ref": "#/definitions/fpml5.confirmation.PriceExpressionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount", "priceExpression"]
        },
        "fpml5.confirmation.AdditionalData": {
            "title": "AdditionalData",
            "description": "An instance of fpml5.confirmation.AdditionalData",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdditionalData",
                    "pattern": "^fpml5\\.confirmation\\.AdditionalData$",
                    "description": "The class identifier for this type"
                },
                "string": {
                    "type": "string"
                },
                "hexadecimalBinary": {
                    "type": "string"
                },
                "base64Binary": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdditionalDisruptionEvents": {
            "title": "AdditionalDisruptionEvents",
            "description": "An instance of fpml5.confirmation.AdditionalDisruptionEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdditionalDisruptionEvents",
                    "pattern": "^fpml5\\.confirmation\\.AdditionalDisruptionEvents$",
                    "description": "The class identifier for this type"
                },
                "changeInLaw": {
                    "type": "boolean"
                },
                "failureToDeliver": {
                    "type": "boolean"
                },
                "insolvencyFiling": {
                    "type": "boolean"
                },
                "hedgingDisruption": {
                    "type": "boolean"
                },
                "lossOfStockBorrow": {
                    "type": "boolean"
                },
                "maximumStockLoanRate": {
                    "type": "number"
                },
                "increasedCostOfStockBorrow": {
                    "type": "boolean"
                },
                "initialStockLoanRate": {
                    "type": "number"
                },
                "increasedCostOfHedging": {
                    "type": "boolean"
                },
                "foreignOwnershipEvent": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdditionalFixedPayments": {
            "title": "AdditionalFixedPayments",
            "description": "An instance of fpml5.confirmation.AdditionalFixedPayments",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdditionalFixedPayments",
                    "pattern": "^fpml5\\.confirmation\\.AdditionalFixedPayments$",
                    "description": "The class identifier for this type"
                },
                "interestShortfallReimbursement": {
                    "type": "boolean"
                },
                "principalShortfallReimbursement": {
                    "type": "boolean"
                },
                "writedownReimbursement": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdditionalPaymentAmount": {
            "title": "AdditionalPaymentAmount",
            "description": "An instance of fpml5.confirmation.AdditionalPaymentAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdditionalPaymentAmount",
                    "pattern": "^fpml5\\.confirmation\\.AdditionalPaymentAmount$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdditionalTerm": {
            "title": "AdditionalTerm",
            "description": "An instance of fpml5.confirmation.AdditionalTerm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdditionalTerm",
                    "pattern": "^fpml5\\.confirmation\\.AdditionalTerm$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "additionalTermScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Address": {
            "title": "Address",
            "description": "An instance of fpml5.confirmation.Address",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Address",
                    "pattern": "^fpml5\\.confirmation\\.Address$",
                    "description": "The class identifier for this type"
                },
                "city": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableDate": {
            "title": "AdjustableDate",
            "description": "An instance of fpml5.confirmation.AdjustableDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableDate",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableDate$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableDate2": {
            "title": "AdjustableDate2",
            "description": "An instance of fpml5.confirmation.AdjustableDate2",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableDate2",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableDate2$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableDateOrRelativeDateSequence": {
            "title": "AdjustableDateOrRelativeDateSequence",
            "description": "An instance of fpml5.confirmation.AdjustableDateOrRelativeDateSequence",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableDateOrRelativeDateSequence",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableDateOrRelativeDateSequence$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableDates": {
            "title": "AdjustableDates",
            "description": "An instance of fpml5.confirmation.AdjustableDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableDates",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableDates$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableDatesOrRelativeDateOffset": {
            "title": "AdjustableDatesOrRelativeDateOffset",
            "description": "An instance of fpml5.confirmation.AdjustableDatesOrRelativeDateOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableDatesOrRelativeDateOffset",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableDatesOrRelativeDateOffset$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableOffset": {
            "title": "AdjustableOffset",
            "description": "An instance of fpml5.confirmation.AdjustableOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableOffset",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableOffset$",
                    "description": "The class identifier for this type"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.AdjustableOrAdjustedDate": {
            "title": "AdjustableOrAdjustedDate",
            "description": "An instance of fpml5.confirmation.AdjustableOrAdjustedDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableOrAdjustedDate",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableOrAdjustedDate$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableOrRelativeDate": {
            "title": "AdjustableOrRelativeDate",
            "description": "An instance of fpml5.confirmation.AdjustableOrRelativeDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableOrRelativeDate",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableOrRelativeDate$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableOrRelativeDates": {
            "title": "AdjustableOrRelativeDates",
            "description": "An instance of fpml5.confirmation.AdjustableOrRelativeDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableOrRelativeDates",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableOrRelativeDates$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableRelativeOrPeriodicDates": {
            "title": "AdjustableRelativeOrPeriodicDates",
            "description": "An instance of fpml5.confirmation.AdjustableRelativeOrPeriodicDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableRelativeOrPeriodicDates",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableRelativeOrPeriodicDates$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustableRelativeOrPeriodicDates2": {
            "title": "AdjustableRelativeOrPeriodicDates2",
            "description": "An instance of fpml5.confirmation.AdjustableRelativeOrPeriodicDates2",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustableRelativeOrPeriodicDates2",
                    "pattern": "^fpml5\\.confirmation\\.AdjustableRelativeOrPeriodicDates2$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AdjustedPaymentDates": {
            "title": "AdjustedPaymentDates",
            "description": "An instance of fpml5.confirmation.AdjustedPaymentDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustedPaymentDates",
                    "pattern": "^fpml5\\.confirmation\\.AdjustedPaymentDates$",
                    "description": "The class identifier for this type"
                },
                "adjustedPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedPaymentDate"]
        },
        "fpml5.confirmation.AdjustedRelativeDateOffset": {
            "title": "AdjustedRelativeDateOffset",
            "description": "An instance of fpml5.confirmation.AdjustedRelativeDateOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdjustedRelativeDateOffset",
                    "pattern": "^fpml5\\.confirmation\\.AdjustedRelativeDateOffset$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.Adjustment": {
            "title": "Adjustment",
            "description": "An instance of fpml5.confirmation.Adjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Adjustment",
                    "pattern": "^fpml5\\.confirmation\\.Adjustment$",
                    "description": "The class identifier for this type"
                },
                "adjustmentType": {
                    "$ref": "#/definitions/fpml5.confirmation.AmountAdjustmentEnum"
                }
            },
            "required": ["$class", "adjustmentType"]
        },
        "fpml5.confirmation.AdmissionToTrading": {
            "title": "AdmissionToTrading",
            "description": "An instance of fpml5.confirmation.AdmissionToTrading",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AdmissionToTrading",
                    "pattern": "^fpml5\\.confirmation\\.AdmissionToTrading$",
                    "description": "The class identifier for this type"
                },
                "requested": {
                    "type": "boolean"
                },
                "requestDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "approvalDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "admissionDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "terminationDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "requested"]
        },
        "fpml5.confirmation.AffectedTransactions": {
            "title": "AffectedTransactions",
            "description": "An instance of fpml5.confirmation.AffectedTransactions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AffectedTransactions",
                    "pattern": "^fpml5\\.confirmation\\.AffectedTransactions$",
                    "description": "The class identifier for this type"
                },
                "tradeOrTradeReferenceModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Algorithm": {
            "title": "Algorithm",
            "description": "An instance of fpml5.confirmation.Algorithm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Algorithm",
                    "pattern": "^fpml5\\.confirmation\\.Algorithm$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": ["$class", "name"]
        },
        "fpml5.confirmation.AlgorithmRole": {
            "title": "AlgorithmRole",
            "description": "An instance of fpml5.confirmation.AlgorithmRole",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AlgorithmRole",
                    "pattern": "^fpml5\\.confirmation\\.AlgorithmRole$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "algorithmRoleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Allocation": {
            "title": "Allocation",
            "description": "An instance of fpml5.confirmation.Allocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Allocation",
                    "pattern": "^fpml5\\.confirmation\\.Allocation$",
                    "description": "The class identifier for this type"
                },
                "allocatedFraction": {
                    "type": "number"
                },
                "masterConfirmationDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AllocationApproved": {
            "title": "AllocationApproved",
            "description": "An instance of fpml5.confirmation.AllocationApproved",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AllocationApproved",
                    "pattern": "^fpml5\\.confirmation\\.AllocationApproved$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.AllocationRefused": {
            "title": "AllocationRefused",
            "description": "An instance of fpml5.confirmation.AllocationRefused",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AllocationRefused",
                    "pattern": "^fpml5\\.confirmation\\.AllocationRefused$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.AllocationReportingStatus": {
            "title": "AllocationReportingStatus",
            "description": "An instance of fpml5.confirmation.AllocationReportingStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AllocationReportingStatus",
                    "pattern": "^fpml5\\.confirmation\\.AllocationReportingStatus$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "allocationReportingStatusScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Allocations": {
            "title": "Allocations",
            "description": "An instance of fpml5.confirmation.Allocations",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Allocations",
                    "pattern": "^fpml5\\.confirmation\\.Allocations$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AmendmentFeePayment": {
            "title": "AmendmentFeePayment",
            "description": "An instance of fpml5.confirmation.AmendmentFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AmendmentFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.AmendmentFeePayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.AmericanExercise": {
            "title": "AmericanExercise",
            "description": "An instance of fpml5.confirmation.AmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.AmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AmountRef": {
            "title": "AmountRef",
            "description": "An instance of fpml5.confirmation.AmountRef",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AmountRef",
                    "pattern": "^fpml5\\.confirmation\\.AmountRef$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.AmountReference": {
            "title": "AmountReference",
            "description": "An instance of fpml5.confirmation.AmountReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AmountReference",
                    "pattern": "^fpml5\\.confirmation\\.AmountReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.AmountSchedule": {
            "title": "AmountSchedule",
            "description": "An instance of fpml5.confirmation.AmountSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AmountSchedule",
                    "pattern": "^fpml5\\.confirmation\\.AmountSchedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.AnyAssetReference": {
            "title": "AnyAssetReference",
            "description": "An instance of fpml5.confirmation.AnyAssetReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AnyAssetReference",
                    "pattern": "^fpml5\\.confirmation\\.AnyAssetReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.ApplicableAssets": {
            "title": "ApplicableAssets",
            "description": "An instance of fpml5.confirmation.ApplicableAssets",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApplicableAssets",
                    "pattern": "^fpml5\\.confirmation\\.ApplicableAssets$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ApplicableCommunicationDetails": {
            "title": "ApplicableCommunicationDetails",
            "description": "An instance of fpml5.confirmation.ApplicableCommunicationDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApplicableCommunicationDetails",
                    "pattern": "^fpml5\\.confirmation\\.ApplicableCommunicationDetails$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ApplicablePurpose": {
            "title": "ApplicablePurpose",
            "description": "An instance of fpml5.confirmation.ApplicablePurpose",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApplicablePurpose",
                    "pattern": "^fpml5\\.confirmation\\.ApplicablePurpose$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "applicablePurposeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ApplicableSettlementInstructionDetails": {
            "title": "ApplicableSettlementInstructionDetails",
            "description": "An instance of fpml5.confirmation.ApplicableSettlementInstructionDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApplicableSettlementInstructionDetails",
                    "pattern": "^fpml5\\.confirmation\\.ApplicableSettlementInstructionDetails$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ApplicableTransactionType": {
            "title": "ApplicableTransactionType",
            "description": "An instance of fpml5.confirmation.ApplicableTransactionType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApplicableTransactionType",
                    "pattern": "^fpml5\\.confirmation\\.ApplicableTransactionType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "applicableTransactionTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Approval": {
            "title": "Approval",
            "description": "An instance of fpml5.confirmation.Approval",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Approval",
                    "pattern": "^fpml5\\.confirmation\\.Approval$",
                    "description": "The class identifier for this type"
                },
                "status": {
                    "type": "string"
                }
            },
            "required": ["$class", "status"]
        },
        "fpml5.confirmation.ApprovalId": {
            "title": "ApprovalId",
            "description": "An instance of fpml5.confirmation.ApprovalId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApprovalId",
                    "pattern": "^fpml5\\.confirmation\\.ApprovalId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "approvalIdScheme": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Approvals": {
            "title": "Approvals",
            "description": "An instance of fpml5.confirmation.Approvals",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Approvals",
                    "pattern": "^fpml5\\.confirmation\\.Approvals$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ApprovalStatusNotification": {
            "title": "ApprovalStatusNotification",
            "description": "An instance of fpml5.confirmation.ApprovalStatusNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApprovalStatusNotification",
                    "pattern": "^fpml5\\.confirmation\\.ApprovalStatusNotification$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ApprovalType": {
            "title": "ApprovalType",
            "description": "An instance of fpml5.confirmation.ApprovalType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ApprovalType",
                    "pattern": "^fpml5\\.confirmation\\.ApprovalType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "approvalTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Asian": {
            "title": "Asian",
            "description": "An instance of fpml5.confirmation.Asian",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Asian",
                    "pattern": "^fpml5\\.confirmation\\.Asian$",
                    "description": "The class identifier for this type"
                },
                "averagingInOut": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingInOutEnum"
                },
                "strikeFactor": {
                    "type": "number"
                }
            },
            "required": ["$class", "averagingInOut"]
        },
        "fpml5.confirmation.AssetClass": {
            "title": "AssetClass",
            "description": "An instance of fpml5.confirmation.AssetClass",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssetClass",
                    "pattern": "^fpml5\\.confirmation\\.AssetClass$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "assetClassScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AssetMeasureType": {
            "title": "AssetMeasureType",
            "description": "An instance of fpml5.confirmation.AssetMeasureType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssetMeasureType",
                    "pattern": "^fpml5\\.confirmation\\.AssetMeasureType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "assetMeasureScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AssetOrTermPointOrPricingStructureReference": {
            "title": "AssetOrTermPointOrPricingStructureReference",
            "description": "An instance of fpml5.confirmation.AssetOrTermPointOrPricingStructureReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssetOrTermPointOrPricingStructureReference",
                    "pattern": "^fpml5\\.confirmation\\.AssetOrTermPointOrPricingStructureReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.AssetPool": {
            "title": "AssetPool",
            "description": "An instance of fpml5.confirmation.AssetPool",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssetPool",
                    "pattern": "^fpml5\\.confirmation\\.AssetPool$",
                    "description": "The class identifier for this type"
                },
                "version": {
                    "type": "integer"
                },
                "initialFactor": {
                    "type": "number"
                },
                "currentFactor": {
                    "type": "number"
                }
            },
            "required": ["$class", "initialFactor"]
        },
        "fpml5.confirmation.AssetReference": {
            "title": "AssetReference",
            "description": "An instance of fpml5.confirmation.AssetReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssetReference",
                    "pattern": "^fpml5\\.confirmation\\.AssetReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AssetValuation": {
            "title": "AssetValuation",
            "description": "An instance of fpml5.confirmation.AssetValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssetValuation",
                    "pattern": "^fpml5\\.confirmation\\.AssetValuation$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AssociationToAssetId": {
            "title": "AssociationToAssetId",
            "description": "An instance of fpml5.confirmation.AssociationToAssetId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssociationToAssetId",
                    "pattern": "^fpml5\\.confirmation\\.AssociationToAssetId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "associationToAssetIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "associationToAssetIdScheme"]
        },
        "fpml5.confirmation.AssociationToAssetIdentifier": {
            "title": "AssociationToAssetIdentifier",
            "description": "An instance of fpml5.confirmation.AssociationToAssetIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AssociationToAssetIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.AssociationToAssetIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AutomaticExercise": {
            "title": "AutomaticExercise",
            "description": "An instance of fpml5.confirmation.AutomaticExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AutomaticExercise",
                    "pattern": "^fpml5\\.confirmation\\.AutomaticExercise$",
                    "description": "The class identifier for this type"
                },
                "thresholdRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "thresholdRate"]
        },
        "fpml5.confirmation.AverageDailyTradingVolumeLimit": {
            "title": "AverageDailyTradingVolumeLimit",
            "description": "An instance of fpml5.confirmation.AverageDailyTradingVolumeLimit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AverageDailyTradingVolumeLimit",
                    "pattern": "^fpml5\\.confirmation\\.AverageDailyTradingVolumeLimit$",
                    "description": "The class identifier for this type"
                },
                "limitationPercentage": {
                    "type": "number"
                },
                "limitationPeriod": {
                    "type": "integer"
                }
            },
            "required": ["$class", "limitationPercentage", "limitationPeriod"]
        },
        "fpml5.confirmation.AveragePriceLeg": {
            "title": "AveragePriceLeg",
            "description": "An instance of fpml5.confirmation.AveragePriceLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AveragePriceLeg",
                    "pattern": "^fpml5\\.confirmation\\.AveragePriceLeg$",
                    "description": "The class identifier for this type"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AveragingObservationList": {
            "title": "AveragingObservationList",
            "description": "An instance of fpml5.confirmation.AveragingObservationList",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AveragingObservationList",
                    "pattern": "^fpml5\\.confirmation\\.AveragingObservationList$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AveragingPeriod": {
            "title": "AveragingPeriod",
            "description": "An instance of fpml5.confirmation.AveragingPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AveragingPeriod",
                    "pattern": "^fpml5\\.confirmation\\.AveragingPeriod$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.AveragingSchedule": {
            "title": "AveragingSchedule",
            "description": "An instance of fpml5.confirmation.AveragingSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.AveragingSchedule",
                    "pattern": "^fpml5\\.confirmation\\.AveragingSchedule$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate"]
        },
        "fpml5.confirmation.BankruptcyEvent": {
            "title": "BankruptcyEvent",
            "description": "An instance of fpml5.confirmation.BankruptcyEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BankruptcyEvent",
                    "pattern": "^fpml5\\.confirmation\\.BankruptcyEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Barrier": {
            "title": "Barrier",
            "description": "An instance of fpml5.confirmation.Barrier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Barrier",
                    "pattern": "^fpml5\\.confirmation\\.Barrier$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BasicAssetValuation": {
            "title": "BasicAssetValuation",
            "description": "An instance of fpml5.confirmation.BasicAssetValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasicAssetValuation",
                    "pattern": "^fpml5\\.confirmation\\.BasicAssetValuation$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BasicQuotation": {
            "title": "BasicQuotation",
            "description": "An instance of fpml5.confirmation.BasicQuotation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasicQuotation",
                    "pattern": "^fpml5\\.confirmation\\.BasicQuotation$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "number"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                },
                "valuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Basket": {
            "title": "Basket",
            "description": "An instance of fpml5.confirmation.Basket",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Basket",
                    "pattern": "^fpml5\\.confirmation\\.Basket$",
                    "description": "The class identifier for this type"
                },
                "openUnits": {
                    "type": "number"
                },
                "basketDivisor": {
                    "type": "number"
                },
                "basketVersion": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BasketChangeEvent": {
            "title": "BasketChangeEvent",
            "description": "An instance of fpml5.confirmation.BasketChangeEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasketChangeEvent",
                    "pattern": "^fpml5\\.confirmation\\.BasketChangeEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BasketConstituent": {
            "title": "BasketConstituent",
            "description": "An instance of fpml5.confirmation.BasketConstituent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasketConstituent",
                    "pattern": "^fpml5\\.confirmation\\.BasketConstituent$",
                    "description": "The class identifier for this type"
                },
                "underlyingAssetGroup": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "underlyingAssetGroup"]
        },
        "fpml5.confirmation.BasketId": {
            "title": "BasketId",
            "description": "An instance of fpml5.confirmation.BasketId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasketId",
                    "pattern": "^fpml5\\.confirmation\\.BasketId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "basketIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BasketName": {
            "title": "BasketName",
            "description": "An instance of fpml5.confirmation.BasketName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasketName",
                    "pattern": "^fpml5\\.confirmation\\.BasketName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "basketNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BasketReferenceInformation": {
            "title": "BasketReferenceInformation",
            "description": "An instance of fpml5.confirmation.BasketReferenceInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BasketReferenceInformation",
                    "pattern": "^fpml5\\.confirmation\\.BasketReferenceInformation$",
                    "description": "The class identifier for this type"
                },
                "nthToDefault": {
                    "type": "integer"
                },
                "mthToDefault": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Beneficiary": {
            "title": "Beneficiary",
            "description": "An instance of fpml5.confirmation.Beneficiary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Beneficiary",
                    "pattern": "^fpml5\\.confirmation\\.Beneficiary$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BermudaExercise": {
            "title": "BermudaExercise",
            "description": "An instance of fpml5.confirmation.BermudaExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BermudaExercise",
                    "pattern": "^fpml5\\.confirmation\\.BermudaExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Bond": {
            "title": "Bond",
            "description": "An instance of fpml5.confirmation.Bond",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Bond",
                    "pattern": "^fpml5\\.confirmation\\.Bond$",
                    "description": "The class identifier for this type"
                },
                "issuerName": {
                    "type": "string"
                },
                "couponRate": {
                    "type": "number"
                },
                "maturity": {
                    "format": "date-time",
                    "type": "string"
                },
                "parValue": {
                    "type": "number"
                },
                "faceAmount": {
                    "type": "number"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BondOption": {
            "title": "BondOption",
            "description": "An instance of fpml5.confirmation.BondOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BondOption",
                    "pattern": "^fpml5\\.confirmation\\.BondOption$",
                    "description": "The class identifier for this type"
                },
                "exerciseGroup": {
                    "type": "string"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "numberOfOptions": {
                    "type": "number"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.OptionTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "exerciseGroup", "optionType"]
        },
        "fpml5.confirmation.BondOptionStrike": {
            "title": "BondOptionStrike",
            "description": "An instance of fpml5.confirmation.BondOptionStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BondOptionStrike",
                    "pattern": "^fpml5\\.confirmation\\.BondOptionStrike$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BondReference": {
            "title": "BondReference",
            "description": "An instance of fpml5.confirmation.BondReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BondReference",
                    "pattern": "^fpml5\\.confirmation\\.BondReference$",
                    "description": "The class identifier for this type"
                },
                "conditionPrecedentBond": {
                    "type": "boolean"
                },
                "discrepancyClause": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "conditionPrecedentBond"]
        },
        "fpml5.confirmation.Borrowing": {
            "title": "Borrowing",
            "description": "An instance of fpml5.confirmation.Borrowing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Borrowing",
                    "pattern": "^fpml5\\.confirmation\\.Borrowing$",
                    "description": "The class identifier for this type"
                },
                "conditionsPrecedentMet": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionsPrecedentMetEnum"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.BoundedCorrelation": {
            "title": "BoundedCorrelation",
            "description": "An instance of fpml5.confirmation.BoundedCorrelation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BoundedCorrelation",
                    "pattern": "^fpml5\\.confirmation\\.BoundedCorrelation$",
                    "description": "The class identifier for this type"
                },
                "minimumBoundaryPercent": {
                    "type": "number"
                },
                "maximumBoundaryPercent": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BoundedVariance": {
            "title": "BoundedVariance",
            "description": "An instance of fpml5.confirmation.BoundedVariance",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BoundedVariance",
                    "pattern": "^fpml5\\.confirmation\\.BoundedVariance$",
                    "description": "The class identifier for this type"
                },
                "realisedVarianceMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.RealisedVarianceMethodEnum"
                },
                "daysInRangeAdjustment": {
                    "type": "boolean"
                },
                "upperBarrier": {
                    "type": "number"
                },
                "lowerBarrier": {
                    "type": "number"
                }
            },
            "required": ["$class", "realisedVarianceMethod", "daysInRangeAdjustment"]
        },
        "fpml5.confirmation.BreakageFeePayment": {
            "title": "BreakageFeePayment",
            "description": "An instance of fpml5.confirmation.BreakageFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BreakageFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.BreakageFeePayment$",
                    "description": "The class identifier for this type"
                },
                "breakageFeeClaimDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "breakageFeeCalculatedBy": {
                    "$ref": "#/definitions/fpml5.confirmation.BreakageCalculatedByEnum"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.BrokerConfirmation": {
            "title": "BrokerConfirmation",
            "description": "An instance of fpml5.confirmation.BrokerConfirmation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BrokerConfirmation",
                    "pattern": "^fpml5\\.confirmation\\.BrokerConfirmation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BrokerConfirmationType": {
            "title": "BrokerConfirmationType",
            "description": "An instance of fpml5.confirmation.BrokerConfirmationType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BrokerConfirmationType",
                    "pattern": "^fpml5\\.confirmation\\.BrokerConfirmationType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "brokerConfirmationTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BrokerEquityOption": {
            "title": "BrokerEquityOption",
            "description": "An instance of fpml5.confirmation.BrokerEquityOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BrokerEquityOption",
                    "pattern": "^fpml5\\.confirmation\\.BrokerEquityOption$",
                    "description": "The class identifier for this type"
                },
                "deltaCrossed": {
                    "type": "boolean"
                },
                "brokerNotes": {
                    "type": "string"
                },
                "spotPrice": {
                    "type": "number"
                },
                "numberOfOptions": {
                    "type": "number"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.EquityOptionTypeEnum"
                },
                "equityEffectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "deltaCrossed", "brokerNotes", "numberOfOptions", "optionType"]
        },
        "fpml5.confirmation.BulletPayment": {
            "title": "BulletPayment",
            "description": "An instance of fpml5.confirmation.BulletPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BulletPayment",
                    "pattern": "^fpml5\\.confirmation\\.BulletPayment$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BullionDeliveryLocation": {
            "title": "BullionDeliveryLocation",
            "description": "An instance of fpml5.confirmation.BullionDeliveryLocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BullionDeliveryLocation",
                    "pattern": "^fpml5\\.confirmation\\.BullionDeliveryLocation$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "bullionDeliveryLocationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BullionPhysicalLeg": {
            "title": "BullionPhysicalLeg",
            "description": "An instance of fpml5.confirmation.BullionPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BullionPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.BullionPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "bullionType": {
                    "$ref": "#/definitions/fpml5.confirmation.BullionTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "bullionType"]
        },
        "fpml5.confirmation.BusinessCenter": {
            "title": "BusinessCenter",
            "description": "An instance of fpml5.confirmation.BusinessCenter",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessCenter",
                    "pattern": "^fpml5\\.confirmation\\.BusinessCenter$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "businessCenterScheme": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessCenters": {
            "title": "BusinessCenters",
            "description": "An instance of fpml5.confirmation.BusinessCenters",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessCenters",
                    "pattern": "^fpml5\\.confirmation\\.BusinessCenters$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessCentersReference": {
            "title": "BusinessCentersReference",
            "description": "An instance of fpml5.confirmation.BusinessCentersReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessCentersReference",
                    "pattern": "^fpml5\\.confirmation\\.BusinessCentersReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessCenterTime": {
            "title": "BusinessCenterTime",
            "description": "An instance of fpml5.confirmation.BusinessCenterTime",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessCenterTime",
                    "pattern": "^fpml5\\.confirmation\\.BusinessCenterTime$",
                    "description": "The class identifier for this type"
                },
                "hourMinuteTime": {
                    "$ref": "#/definitions/fpml5.confirmation.HourMinuteTime"
                }
            },
            "required": ["$class", "hourMinuteTime"]
        },
        "fpml5.confirmation.BusinessDateRange": {
            "title": "BusinessDateRange",
            "description": "An instance of fpml5.confirmation.BusinessDateRange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessDateRange",
                    "pattern": "^fpml5\\.confirmation\\.BusinessDateRange$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "unadjustedFirstDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "unadjustedLastDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention", "unadjustedFirstDate", "unadjustedLastDate"]
        },
        "fpml5.confirmation.BusinessDayAdjustments": {
            "title": "BusinessDayAdjustments",
            "description": "An instance of fpml5.confirmation.BusinessDayAdjustments",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessDayAdjustments",
                    "pattern": "^fpml5\\.confirmation\\.BusinessDayAdjustments$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention"]
        },
        "fpml5.confirmation.BusinessDayAdjustmentsReference": {
            "title": "BusinessDayAdjustmentsReference",
            "description": "An instance of fpml5.confirmation.BusinessDayAdjustmentsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessDayAdjustmentsReference",
                    "pattern": "^fpml5\\.confirmation\\.BusinessDayAdjustmentsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessEventIdentifier": {
            "title": "BusinessEventIdentifier",
            "description": "An instance of fpml5.confirmation.BusinessEventIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessEventIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.BusinessEventIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessProcess": {
            "title": "BusinessProcess",
            "description": "An instance of fpml5.confirmation.BusinessProcess",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessProcess",
                    "pattern": "^fpml5\\.confirmation\\.BusinessProcess$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "businessProcessScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessUnit": {
            "title": "BusinessUnit",
            "description": "An instance of fpml5.confirmation.BusinessUnit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessUnit",
                    "pattern": "^fpml5\\.confirmation\\.BusinessUnit$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessUnitReference": {
            "title": "BusinessUnitReference",
            "description": "An instance of fpml5.confirmation.BusinessUnitReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessUnitReference",
                    "pattern": "^fpml5\\.confirmation\\.BusinessUnitReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BusinessUnitRole": {
            "title": "BusinessUnitRole",
            "description": "An instance of fpml5.confirmation.BusinessUnitRole",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BusinessUnitRole",
                    "pattern": "^fpml5\\.confirmation\\.BusinessUnitRole$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "unitRoleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.BuyerSellerAmounts": {
            "title": "BuyerSellerAmounts",
            "description": "An instance of fpml5.confirmation.BuyerSellerAmounts",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.BuyerSellerAmounts",
                    "pattern": "^fpml5\\.confirmation\\.BuyerSellerAmounts$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Calculation": {
            "title": "Calculation",
            "description": "An instance of fpml5.confirmation.Calculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Calculation",
                    "pattern": "^fpml5\\.confirmation\\.Calculation$",
                    "description": "The class identifier for this type"
                },
                "rateCalculationGroup": {
                    "type": "string"
                },
                "compoundingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.CompoundingMethodEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationAgent": {
            "title": "CalculationAgent",
            "description": "An instance of fpml5.confirmation.CalculationAgent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationAgent",
                    "pattern": "^fpml5\\.confirmation\\.CalculationAgent$",
                    "description": "The class identifier for this type"
                },
                "calculationAgentParty": {
                    "$ref": "#/definitions/fpml5.confirmation.CalculationAgentPartyEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationAmount": {
            "title": "CalculationAmount",
            "description": "An instance of fpml5.confirmation.CalculationAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationAmount",
                    "pattern": "^fpml5\\.confirmation\\.CalculationAmount$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.CalculationPeriod": {
            "title": "CalculationPeriod",
            "description": "An instance of fpml5.confirmation.CalculationPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriod",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriod$",
                    "description": "The class identifier for this type"
                },
                "unadjustedStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "unadjustedEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "calculationPeriodNumberOfDays": {
                    "type": "integer"
                },
                "notionalAmount": {
                    "type": "number"
                },
                "fixedRate": {
                    "type": "number"
                },
                "dayCountYearFraction": {
                    "type": "number"
                },
                "forecastRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationPeriodAmount": {
            "title": "CalculationPeriodAmount",
            "description": "An instance of fpml5.confirmation.CalculationPeriodAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodAmount",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodAmount$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationPeriodDates": {
            "title": "CalculationPeriodDates",
            "description": "An instance of fpml5.confirmation.CalculationPeriodDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodDates",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodDates$",
                    "description": "The class identifier for this type"
                },
                "firstRegularPeriodStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "firstCompoundingPeriodEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "lastRegularPeriodEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "stubPeriodType": {
                    "$ref": "#/definitions/fpml5.confirmation.StubPeriodTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "id"]
        },
        "fpml5.confirmation.CalculationPeriodDatesReference": {
            "title": "CalculationPeriodDatesReference",
            "description": "An instance of fpml5.confirmation.CalculationPeriodDatesReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodDatesReference",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodDatesReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationPeriodFrequency": {
            "title": "CalculationPeriodFrequency",
            "description": "An instance of fpml5.confirmation.CalculationPeriodFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodFrequency",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodFrequency$",
                    "description": "The class identifier for this type"
                },
                "rollConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.RollConventionEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodExtendedEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "rollConvention", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.CalculationPeriodsDatesReference": {
            "title": "CalculationPeriodsDatesReference",
            "description": "An instance of fpml5.confirmation.CalculationPeriodsDatesReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodsDatesReference",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodsDatesReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationPeriodsReference": {
            "title": "CalculationPeriodsReference",
            "description": "An instance of fpml5.confirmation.CalculationPeriodsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodsReference",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalculationPeriodsScheduleReference": {
            "title": "CalculationPeriodsScheduleReference",
            "description": "An instance of fpml5.confirmation.CalculationPeriodsScheduleReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalculationPeriodsScheduleReference",
                    "pattern": "^fpml5\\.confirmation\\.CalculationPeriodsScheduleReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CalendarSpread": {
            "title": "CalendarSpread",
            "description": "An instance of fpml5.confirmation.CalendarSpread",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CalendarSpread",
                    "pattern": "^fpml5\\.confirmation\\.CalendarSpread$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CancelableProvision": {
            "title": "CancelableProvision",
            "description": "An instance of fpml5.confirmation.CancelableProvision",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CancelableProvision",
                    "pattern": "^fpml5\\.confirmation\\.CancelableProvision$",
                    "description": "The class identifier for this type"
                },
                "exerciseGroup": {
                    "type": "string"
                },
                "followUpConfirmation": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "exerciseGroup", "followUpConfirmation"]
        },
        "fpml5.confirmation.CancelableProvisionAdjustedDates": {
            "title": "CancelableProvisionAdjustedDates",
            "description": "An instance of fpml5.confirmation.CancelableProvisionAdjustedDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CancelableProvisionAdjustedDates",
                    "pattern": "^fpml5\\.confirmation\\.CancelableProvisionAdjustedDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CancellationEvent": {
            "title": "CancellationEvent",
            "description": "An instance of fpml5.confirmation.CancellationEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CancellationEvent",
                    "pattern": "^fpml5\\.confirmation\\.CancellationEvent$",
                    "description": "The class identifier for this type"
                },
                "adjustedExerciseDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedEarlyTerminationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedExerciseDate", "adjustedEarlyTerminationDate"]
        },
        "fpml5.confirmation.CapFloor": {
            "title": "CapFloor",
            "description": "An instance of fpml5.confirmation.CapFloor",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CapFloor",
                    "pattern": "^fpml5\\.confirmation\\.CapFloor$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Cash": {
            "title": "Cash",
            "description": "An instance of fpml5.confirmation.Cash",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Cash",
                    "pattern": "^fpml5\\.confirmation\\.Cash$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashflowId": {
            "title": "CashflowId",
            "description": "An instance of fpml5.confirmation.CashflowId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashflowId",
                    "pattern": "^fpml5\\.confirmation\\.CashflowId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "cashflowIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashflowNotional": {
            "title": "CashflowNotional",
            "description": "An instance of fpml5.confirmation.CashflowNotional",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashflowNotional",
                    "pattern": "^fpml5\\.confirmation\\.CashflowNotional$",
                    "description": "The class identifier for this type"
                },
                "units": {
                    "type": "string"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.Cashflows": {
            "title": "Cashflows",
            "description": "An instance of fpml5.confirmation.Cashflows",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Cashflows",
                    "pattern": "^fpml5\\.confirmation\\.Cashflows$",
                    "description": "The class identifier for this type"
                },
                "cashflowsMatchParameters": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "cashflowsMatchParameters"]
        },
        "fpml5.confirmation.CashflowType": {
            "title": "CashflowType",
            "description": "An instance of fpml5.confirmation.CashflowType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashflowType",
                    "pattern": "^fpml5\\.confirmation\\.CashflowType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "cashflowTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashPayable": {
            "title": "CashPayable",
            "description": "An instance of fpml5.confirmation.CashPayable",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashPayable",
                    "pattern": "^fpml5\\.confirmation\\.CashPayable$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashPriceMethod": {
            "title": "CashPriceMethod",
            "description": "An instance of fpml5.confirmation.CashPriceMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashPriceMethod",
                    "pattern": "^fpml5\\.confirmation\\.CashPriceMethod$",
                    "description": "The class identifier for this type"
                },
                "quotationRateType": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationRateTypeEnum"
                }
            },
            "required": ["$class", "quotationRateType"]
        },
        "fpml5.confirmation.CashSettlement": {
            "title": "CashSettlement",
            "description": "An instance of fpml5.confirmation.CashSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashSettlement",
                    "pattern": "^fpml5\\.confirmation\\.CashSettlement$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashSettlementPaymentDate": {
            "title": "CashSettlementPaymentDate",
            "description": "An instance of fpml5.confirmation.CashSettlementPaymentDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashSettlementPaymentDate",
                    "pattern": "^fpml5\\.confirmation\\.CashSettlementPaymentDate$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashSettlementReferenceBanks": {
            "title": "CashSettlementReferenceBanks",
            "description": "An instance of fpml5.confirmation.CashSettlementReferenceBanks",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashSettlementReferenceBanks",
                    "pattern": "^fpml5\\.confirmation\\.CashSettlementReferenceBanks$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CashSettlementTerms": {
            "title": "CashSettlementTerms",
            "description": "An instance of fpml5.confirmation.CashSettlementTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CashSettlementTerms",
                    "pattern": "^fpml5\\.confirmation\\.CashSettlementTerms$",
                    "description": "The class identifier for this type"
                },
                "quotationMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationRateTypeEnum"
                },
                "dealer": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "cashSettlementBusinessDays": {
                    "type": "integer"
                },
                "recoveryFactor": {
                    "type": "number"
                },
                "fixedSettlement": {
                    "type": "boolean"
                },
                "accruedInterest": {
                    "type": "boolean"
                },
                "valuationMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.ValuationMethodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ClassifiablePayment": {
            "title": "ClassifiablePayment",
            "description": "An instance of fpml5.confirmation.ClassifiablePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClassifiablePayment",
                    "pattern": "^fpml5\\.confirmation\\.ClassifiablePayment$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ClearanceSystem": {
            "title": "ClearanceSystem",
            "description": "An instance of fpml5.confirmation.ClearanceSystem",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearanceSystem",
                    "pattern": "^fpml5\\.confirmation\\.ClearanceSystem$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "clearanceSystemScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Clearing": {
            "title": "Clearing",
            "description": "An instance of fpml5.confirmation.Clearing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Clearing",
                    "pattern": "^fpml5\\.confirmation\\.Clearing$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ClearingConfirmed": {
            "title": "ClearingConfirmed",
            "description": "An instance of fpml5.confirmation.ClearingConfirmed",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingConfirmed",
                    "pattern": "^fpml5\\.confirmation\\.ClearingConfirmed$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ClearingEligibility": {
            "title": "ClearingEligibility",
            "description": "An instance of fpml5.confirmation.ClearingEligibility",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingEligibility",
                    "pattern": "^fpml5\\.confirmation\\.ClearingEligibility$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "eligibleForClearing": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "eligibleForClearing", "fpmlVersion"]
        },
        "fpml5.confirmation.ClearingExceptionReason": {
            "title": "ClearingExceptionReason",
            "description": "An instance of fpml5.confirmation.ClearingExceptionReason",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingExceptionReason",
                    "pattern": "^fpml5\\.confirmation\\.ClearingExceptionReason$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "clearingExceptionReasonScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ClearingInstructions": {
            "title": "ClearingInstructions",
            "description": "An instance of fpml5.confirmation.ClearingInstructions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingInstructions",
                    "pattern": "^fpml5\\.confirmation\\.ClearingInstructions$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ClearingRefused": {
            "title": "ClearingRefused",
            "description": "An instance of fpml5.confirmation.ClearingRefused",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingRefused",
                    "pattern": "^fpml5\\.confirmation\\.ClearingRefused$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ClearingRequirements": {
            "title": "ClearingRequirements",
            "description": "An instance of fpml5.confirmation.ClearingRequirements",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingRequirements",
                    "pattern": "^fpml5\\.confirmation\\.ClearingRequirements$",
                    "description": "The class identifier for this type"
                },
                "mandatorilyClearable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "mandatorilyClearable"]
        },
        "fpml5.confirmation.ClearingStatus": {
            "title": "ClearingStatus",
            "description": "An instance of fpml5.confirmation.ClearingStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingStatus",
                    "pattern": "^fpml5\\.confirmation\\.ClearingStatus$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ClearingStatusItem": {
            "title": "ClearingStatusItem",
            "description": "An instance of fpml5.confirmation.ClearingStatusItem",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingStatusItem",
                    "pattern": "^fpml5\\.confirmation\\.ClearingStatusItem$",
                    "description": "The class identifier for this type"
                },
                "updatedDateTime": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ClearingStatusValue": {
            "title": "ClearingStatusValue",
            "description": "An instance of fpml5.confirmation.ClearingStatusValue",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ClearingStatusValue",
                    "pattern": "^fpml5\\.confirmation\\.ClearingStatusValue$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "clearingStatusScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalAttributeDecimal": {
            "title": "CoalAttributeDecimal",
            "description": "An instance of fpml5.confirmation.CoalAttributeDecimal",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalAttributeDecimal",
                    "pattern": "^fpml5\\.confirmation\\.CoalAttributeDecimal$",
                    "description": "The class identifier for this type"
                },
                "standardContent": {
                    "type": "number"
                },
                "rejectionLimit": {
                    "type": "number"
                },
                "rejectionLimit1": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalAttributePercentage": {
            "title": "CoalAttributePercentage",
            "description": "An instance of fpml5.confirmation.CoalAttributePercentage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalAttributePercentage",
                    "pattern": "^fpml5\\.confirmation\\.CoalAttributePercentage$",
                    "description": "The class identifier for this type"
                },
                "standardContent": {
                    "type": "number"
                },
                "rejectionLimit": {
                    "type": "number"
                },
                "rejectionLimit1": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalDelivery": {
            "title": "CoalDelivery",
            "description": "An instance of fpml5.confirmation.CoalDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalDelivery",
                    "pattern": "^fpml5\\.confirmation\\.CoalDelivery$",
                    "description": "The class identifier for this type"
                },
                "deliveryAtSource": {
                    "type": "boolean"
                },
                "quantityVariationAdjustment": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalDeliveryPoint": {
            "title": "CoalDeliveryPoint",
            "description": "An instance of fpml5.confirmation.CoalDeliveryPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalDeliveryPoint",
                    "pattern": "^fpml5\\.confirmation\\.CoalDeliveryPoint$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "deliveryPointScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalPhysicalLeg": {
            "title": "CoalPhysicalLeg",
            "description": "An instance of fpml5.confirmation.CoalPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.CoalPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalProduct": {
            "title": "CoalProduct",
            "description": "An instance of fpml5.confirmation.CoalProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalProduct",
                    "pattern": "^fpml5\\.confirmation\\.CoalProduct$",
                    "description": "The class identifier for this type"
                },
                "sCoTASpecifications": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalProductSource": {
            "title": "CoalProductSource",
            "description": "An instance of fpml5.confirmation.CoalProductSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalProductSource",
                    "pattern": "^fpml5\\.confirmation\\.CoalProductSource$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityCoalProductSourceScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalProductSpecifications": {
            "title": "CoalProductSpecifications",
            "description": "An instance of fpml5.confirmation.CoalProductSpecifications",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalProductSpecifications",
                    "pattern": "^fpml5\\.confirmation\\.CoalProductSpecifications$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalProductType": {
            "title": "CoalProductType",
            "description": "An instance of fpml5.confirmation.CoalProductType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalProductType",
                    "pattern": "^fpml5\\.confirmation\\.CoalProductType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityCoalProductTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalQualityAdjustments": {
            "title": "CoalQualityAdjustments",
            "description": "An instance of fpml5.confirmation.CoalQualityAdjustments",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalQualityAdjustments",
                    "pattern": "^fpml5\\.confirmation\\.CoalQualityAdjustments$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityCoalQualityAdjustmentsScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalStandardQuality": {
            "title": "CoalStandardQuality",
            "description": "An instance of fpml5.confirmation.CoalStandardQuality",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalStandardQuality",
                    "pattern": "^fpml5\\.confirmation\\.CoalStandardQuality$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalStandardQualitySchedule": {
            "title": "CoalStandardQualitySchedule",
            "description": "An instance of fpml5.confirmation.CoalStandardQualitySchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalStandardQualitySchedule",
                    "pattern": "^fpml5\\.confirmation\\.CoalStandardQualitySchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CoalTransportationEquipment": {
            "title": "CoalTransportationEquipment",
            "description": "An instance of fpml5.confirmation.CoalTransportationEquipment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CoalTransportationEquipment",
                    "pattern": "^fpml5\\.confirmation\\.CoalTransportationEquipment$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityCoalTransportationEquipmentScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Collateral": {
            "title": "Collateral",
            "description": "An instance of fpml5.confirmation.Collateral",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Collateral",
                    "pattern": "^fpml5\\.confirmation\\.Collateral$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CollateralAllocationAccepted": {
            "title": "CollateralAllocationAccepted",
            "description": "An instance of fpml5.confirmation.CollateralAllocationAccepted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CollateralAllocationAccepted",
                    "pattern": "^fpml5\\.confirmation\\.CollateralAllocationAccepted$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.CollateralizationType": {
            "title": "CollateralizationType",
            "description": "An instance of fpml5.confirmation.CollateralizationType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CollateralizationType",
                    "pattern": "^fpml5\\.confirmation\\.CollateralizationType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "collateralTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CollateralProfile": {
            "title": "CollateralProfile",
            "description": "An instance of fpml5.confirmation.CollateralProfile",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CollateralProfile",
                    "pattern": "^fpml5\\.confirmation\\.CollateralProfile$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "collateralProfileScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CollateralType": {
            "title": "CollateralType",
            "description": "An instance of fpml5.confirmation.CollateralType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CollateralType",
                    "pattern": "^fpml5\\.confirmation\\.CollateralType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "collateralTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CollateralValuation": {
            "title": "CollateralValuation",
            "description": "An instance of fpml5.confirmation.CollateralValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CollateralValuation",
                    "pattern": "^fpml5\\.confirmation\\.CollateralValuation$",
                    "description": "The class identifier for this type"
                },
                "cleanPrice": {
                    "type": "number"
                },
                "accruals": {
                    "type": "number"
                },
                "dirtyPrice": {
                    "type": "number"
                },
                "dirtyPrice1": {
                    "type": "number"
                },
                "yieldToMaturity": {
                    "type": "number"
                },
                "inflationFactor": {
                    "type": "number"
                },
                "allInPrice": {
                    "type": "number"
                },
                "numberOfUnits": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CollateralValueAllocation": {
            "title": "CollateralValueAllocation",
            "description": "An instance of fpml5.confirmation.CollateralValueAllocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CollateralValueAllocation",
                    "pattern": "^fpml5\\.confirmation\\.CollateralValueAllocation$",
                    "description": "The class identifier for this type"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.CollateralValueAllocationEnum"
                }
            },
            "required": ["$class", "type"]
        },
        "fpml5.confirmation.Commission": {
            "title": "Commission",
            "description": "An instance of fpml5.confirmation.Commission",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Commission",
                    "pattern": "^fpml5\\.confirmation\\.Commission$",
                    "description": "The class identifier for this type"
                },
                "commissionDenomination": {
                    "$ref": "#/definitions/fpml5.confirmation.CommissionDenominationEnum"
                },
                "commissionAmount": {
                    "type": "number"
                },
                "commissionPerTrade": {
                    "type": "number"
                }
            },
            "required": ["$class", "commissionDenomination", "commissionAmount"]
        },
        "fpml5.confirmation.CommitmentAdjustment": {
            "title": "CommitmentAdjustment",
            "description": "An instance of fpml5.confirmation.CommitmentAdjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommitmentAdjustment",
                    "pattern": "^fpml5\\.confirmation\\.CommitmentAdjustment$",
                    "description": "The class identifier for this type"
                },
                "refusalAllowed": {
                    "type": "boolean"
                },
                "scheduled": {
                    "type": "boolean"
                },
                "pik": {
                    "type": "boolean"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "refusalAllowed", "scheduled", "pik", "effectiveDate"]
        },
        "fpml5.confirmation.CommitmentChange": {
            "title": "CommitmentChange",
            "description": "An instance of fpml5.confirmation.CommitmentChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommitmentChange",
                    "pattern": "^fpml5\\.confirmation\\.CommitmentChange$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "date"]
        },
        "fpml5.confirmation.CommitmentSchedule": {
            "title": "CommitmentSchedule",
            "description": "An instance of fpml5.confirmation.CommitmentSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommitmentSchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommitmentSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Commodity": {
            "title": "Commodity",
            "description": "An instance of fpml5.confirmation.Commodity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Commodity",
                    "pattern": "^fpml5\\.confirmation\\.Commodity$",
                    "description": "The class identifier for this type"
                },
                "specifiedPrice": {
                    "$ref": "#/definitions/fpml5.confirmation.SpecifiedPriceEnum"
                },
                "deliveryDates": {
                    "$ref": "#/definitions/fpml5.confirmation.DeliveryDatesEnum"
                },
                "deliveryDateYearMonth": {
                    "format": "date-time",
                    "type": "string"
                },
                "multiplier": {
                    "type": "number"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "specifiedPrice"]
        },
        "fpml5.confirmation.CommodityAmericanExercise": {
            "title": "CommodityAmericanExercise",
            "description": "An instance of fpml5.confirmation.CommodityAmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityAmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityAmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityBarrier": {
            "title": "CommodityBarrier",
            "description": "An instance of fpml5.confirmation.CommodityBarrier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBarrier",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBarrier$",
                    "description": "The class identifier for this type"
                },
                "knock": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityKnockEnum"
                }
            },
            "required": ["$class", "knock"]
        },
        "fpml5.confirmation.CommodityBase": {
            "title": "CommodityBase",
            "description": "An instance of fpml5.confirmation.CommodityBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBase",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBase$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityBaseScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityBasket": {
            "title": "CommodityBasket",
            "description": "An instance of fpml5.confirmation.CommodityBasket",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasket",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasket$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityBasketByNotional": {
            "title": "CommodityBasketByNotional",
            "description": "An instance of fpml5.confirmation.CommodityBasketByNotional",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasketByNotional",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasketByNotional$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityBasketByPercentage": {
            "title": "CommodityBasketByPercentage",
            "description": "An instance of fpml5.confirmation.CommodityBasketByPercentage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasketByPercentage",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasketByPercentage$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityBasketOption": {
            "title": "CommodityBasketOption",
            "description": "An instance of fpml5.confirmation.CommodityBasketOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasketOption",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasketOption$",
                    "description": "The class identifier for this type"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.PutCallEnum"
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionType"]
        },
        "fpml5.confirmation.CommodityBasketUnderlyingBase": {
            "title": "CommodityBasketUnderlyingBase",
            "description": "An instance of fpml5.confirmation.CommodityBasketUnderlyingBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasketUnderlyingBase",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasketUnderlyingBase$",
                    "description": "The class identifier for this type"
                },
                "direction": {
                    "$ref": "#/definitions/fpml5.confirmation.PayerReceiverEnum"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "direction"]
        },
        "fpml5.confirmation.CommodityBasketUnderlyingByNotional": {
            "title": "CommodityBasketUnderlyingByNotional",
            "description": "An instance of fpml5.confirmation.CommodityBasketUnderlyingByNotional",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasketUnderlyingByNotional",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasketUnderlyingByNotional$",
                    "description": "The class identifier for this type"
                },
                "conversionFactor": {
                    "type": "number"
                },
                "totalNotionalQuantity": {
                    "type": "number"
                },
                "direction": {
                    "$ref": "#/definitions/fpml5.confirmation.PayerReceiverEnum"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "direction"]
        },
        "fpml5.confirmation.CommodityBasketUnderlyingByPercentage": {
            "title": "CommodityBasketUnderlyingByPercentage",
            "description": "An instance of fpml5.confirmation.CommodityBasketUnderlyingByPercentage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBasketUnderlyingByPercentage",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBasketUnderlyingByPercentage$",
                    "description": "The class identifier for this type"
                },
                "constituentWeight": {
                    "type": "number"
                },
                "direction": {
                    "$ref": "#/definitions/fpml5.confirmation.PayerReceiverEnum"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "direction"]
        },
        "fpml5.confirmation.CommodityBusinessCalendar": {
            "title": "CommodityBusinessCalendar",
            "description": "An instance of fpml5.confirmation.CommodityBusinessCalendar",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityBusinessCalendar",
                    "pattern": "^fpml5\\.confirmation\\.CommodityBusinessCalendar$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityBusinessCalendarScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityCalculationPeriodsSchedule": {
            "title": "CommodityCalculationPeriodsSchedule",
            "description": "An instance of fpml5.confirmation.CommodityCalculationPeriodsSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityCalculationPeriodsSchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommodityCalculationPeriodsSchedule$",
                    "description": "The class identifier for this type"
                },
                "balanceOfFirstPeriod": {
                    "type": "boolean"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodExtendedEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "balanceOfFirstPeriod", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.CommodityDeliveryPeriods": {
            "title": "CommodityDeliveryPeriods",
            "description": "An instance of fpml5.confirmation.CommodityDeliveryPeriods",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDeliveryPeriods",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDeliveryPeriods$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityDeliveryPoint": {
            "title": "CommodityDeliveryPoint",
            "description": "An instance of fpml5.confirmation.CommodityDeliveryPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDeliveryPoint",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDeliveryPoint$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "deliveryPointScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityDeliveryRisk": {
            "title": "CommodityDeliveryRisk",
            "description": "An instance of fpml5.confirmation.CommodityDeliveryRisk",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDeliveryRisk",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDeliveryRisk$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "deliveryRiskScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityDetails": {
            "title": "CommodityDetails",
            "description": "An instance of fpml5.confirmation.CommodityDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDetails",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDetails$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityDetailsScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityDigital": {
            "title": "CommodityDigital",
            "description": "An instance of fpml5.confirmation.CommodityDigital",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDigital",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDigital$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityDigitalExercise": {
            "title": "CommodityDigitalExercise",
            "description": "An instance of fpml5.confirmation.CommodityDigitalExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDigitalExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDigitalExercise$",
                    "description": "The class identifier for this type"
                },
                "automaticExercise": {
                    "type": "boolean"
                },
                "writtenConfirmation": {
                    "type": "boolean"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityDigitalOption": {
            "title": "CommodityDigitalOption",
            "description": "An instance of fpml5.confirmation.CommodityDigitalOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityDigitalOption",
                    "pattern": "^fpml5\\.confirmation\\.CommodityDigitalOption$",
                    "description": "The class identifier for this type"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.PutCallEnum"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "totalNotionalQuantity": {
                    "type": "number"
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionType"]
        },
        "fpml5.confirmation.CommodityEuropeanExercise": {
            "title": "CommodityEuropeanExercise",
            "description": "An instance of fpml5.confirmation.CommodityEuropeanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityEuropeanExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityEuropeanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityExercise": {
            "title": "CommodityExercise",
            "description": "An instance of fpml5.confirmation.CommodityExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityExercise$",
                    "description": "The class identifier for this type"
                },
                "automaticExercise": {
                    "type": "boolean"
                },
                "writtenConfirmation": {
                    "type": "boolean"
                },
                "conversionFactor": {
                    "type": "number"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityExerciseBasket": {
            "title": "CommodityExerciseBasket",
            "description": "An instance of fpml5.confirmation.CommodityExerciseBasket",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityExerciseBasket",
                    "pattern": "^fpml5\\.confirmation\\.CommodityExerciseBasket$",
                    "description": "The class identifier for this type"
                },
                "automaticExercise": {
                    "type": "boolean"
                },
                "writtenConfirmation": {
                    "type": "boolean"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityExercisePeriods": {
            "title": "CommodityExercisePeriods",
            "description": "An instance of fpml5.confirmation.CommodityExercisePeriods",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityExercisePeriods",
                    "pattern": "^fpml5\\.confirmation\\.CommodityExercisePeriods$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityExpireRelativeToEvent": {
            "title": "CommodityExpireRelativeToEvent",
            "description": "An instance of fpml5.confirmation.CommodityExpireRelativeToEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityExpireRelativeToEvent",
                    "pattern": "^fpml5\\.confirmation\\.CommodityExpireRelativeToEvent$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityExpireRelativeToEventScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityFixedInterestCalculation": {
            "title": "CommodityFixedInterestCalculation",
            "description": "An instance of fpml5.confirmation.CommodityFixedInterestCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityFixedInterestCalculation",
                    "pattern": "^fpml5\\.confirmation\\.CommodityFixedInterestCalculation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityFixedPriceSchedule": {
            "title": "CommodityFixedPriceSchedule",
            "description": "An instance of fpml5.confirmation.CommodityFixedPriceSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityFixedPriceSchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommodityFixedPriceSchedule$",
                    "description": "The class identifier for this type"
                },
                "worldscaleRateStep": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityForward": {
            "title": "CommodityForward",
            "description": "An instance of fpml5.confirmation.CommodityForward",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityForward",
                    "pattern": "^fpml5\\.confirmation\\.CommodityForward$",
                    "description": "The class identifier for this type"
                },
                "commodityForwardLegGroup": {
                    "type": "string"
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "commodityForwardLegGroup"]
        },
        "fpml5.confirmation.CommodityFrequencyType": {
            "title": "CommodityFrequencyType",
            "description": "An instance of fpml5.confirmation.CommodityFrequencyType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityFrequencyType",
                    "pattern": "^fpml5\\.confirmation\\.CommodityFrequencyType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityFrequencyTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityFx": {
            "title": "CommodityFx",
            "description": "An instance of fpml5.confirmation.CommodityFx",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityFx",
                    "pattern": "^fpml5\\.confirmation\\.CommodityFx$",
                    "description": "The class identifier for this type"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityDayTypeEnum"
                },
                "dayCount": {
                    "type": "integer"
                },
                "dayOfWeek": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/fpml5.confirmation.DayOfWeekEnum"
                    }
                },
                "dayNumber": {
                    "type": "integer"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityFxType": {
            "title": "CommodityFxType",
            "description": "An instance of fpml5.confirmation.CommodityFxType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityFxType",
                    "pattern": "^fpml5\\.confirmation\\.CommodityFxType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityFxTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityHub": {
            "title": "CommodityHub",
            "description": "An instance of fpml5.confirmation.CommodityHub",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityHub",
                    "pattern": "^fpml5\\.confirmation\\.CommodityHub$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityHubCode": {
            "title": "CommodityHubCode",
            "description": "An instance of fpml5.confirmation.CommodityHubCode",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityHubCode",
                    "pattern": "^fpml5\\.confirmation\\.CommodityHubCode$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "hubCodeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "hubCodeScheme"]
        },
        "fpml5.confirmation.CommodityInformationProvider": {
            "title": "CommodityInformationProvider",
            "description": "An instance of fpml5.confirmation.CommodityInformationProvider",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityInformationProvider",
                    "pattern": "^fpml5\\.confirmation\\.CommodityInformationProvider$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "informationProviderScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityInformationSource": {
            "title": "CommodityInformationSource",
            "description": "An instance of fpml5.confirmation.CommodityInformationSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityInformationSource",
                    "pattern": "^fpml5\\.confirmation\\.CommodityInformationSource$",
                    "description": "The class identifier for this type"
                },
                "rateSourcePageHeading": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityInterestLeg": {
            "title": "CommodityInterestLeg",
            "description": "An instance of fpml5.confirmation.CommodityInterestLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityInterestLeg",
                    "pattern": "^fpml5\\.confirmation\\.CommodityInterestLeg$",
                    "description": "The class identifier for this type"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMarketDisruption": {
            "title": "CommodityMarketDisruption",
            "description": "An instance of fpml5.confirmation.CommodityMarketDisruption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMarketDisruption",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMarketDisruption$",
                    "description": "The class identifier for this type"
                },
                "marketDisruptionEvents": {
                    "$ref": "#/definitions/fpml5.confirmation.MarketDisruptionEventsEnum"
                },
                "disruptionFallbacks": {
                    "$ref": "#/definitions/fpml5.confirmation.DisruptionFallbacksEnum"
                },
                "maximumNumberOfDaysOfDisruption": {
                    "type": "integer"
                },
                "priceMaterialityPercentage": {
                    "type": "number"
                },
                "minimumFuturesContracts": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMetalBrand": {
            "title": "CommodityMetalBrand",
            "description": "An instance of fpml5.confirmation.CommodityMetalBrand",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMetalBrand",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMetalBrand$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMetalBrandManager": {
            "title": "CommodityMetalBrandManager",
            "description": "An instance of fpml5.confirmation.CommodityMetalBrandManager",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMetalBrandManager",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMetalBrandManager$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMetalBrandManagerScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMetalBrandName": {
            "title": "CommodityMetalBrandName",
            "description": "An instance of fpml5.confirmation.CommodityMetalBrandName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMetalBrandName",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMetalBrandName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMetalBrandNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMetalGrade": {
            "title": "CommodityMetalGrade",
            "description": "An instance of fpml5.confirmation.CommodityMetalGrade",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMetalGrade",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMetalGrade$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMetalGradeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMetalProducer": {
            "title": "CommodityMetalProducer",
            "description": "An instance of fpml5.confirmation.CommodityMetalProducer",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMetalProducer",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMetalProducer$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMetalProducerScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMetalShape": {
            "title": "CommodityMetalShape",
            "description": "An instance of fpml5.confirmation.CommodityMetalShape",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMetalShape",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMetalShape$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMetalShapeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityMultipleExercise": {
            "title": "CommodityMultipleExercise",
            "description": "An instance of fpml5.confirmation.CommodityMultipleExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityMultipleExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityMultipleExercise$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityNotionalAmount": {
            "title": "CommodityNotionalAmount",
            "description": "An instance of fpml5.confirmation.CommodityNotionalAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityNotionalAmount",
                    "pattern": "^fpml5\\.confirmation\\.CommodityNotionalAmount$",
                    "description": "The class identifier for this type"
                },
                "reinvestmentFeature": {
                    "type": "boolean"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "reinvestmentFeature", "amount"]
        },
        "fpml5.confirmation.CommodityNotionalAmountReference": {
            "title": "CommodityNotionalAmountReference",
            "description": "An instance of fpml5.confirmation.CommodityNotionalAmountReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityNotionalAmountReference",
                    "pattern": "^fpml5\\.confirmation\\.CommodityNotionalAmountReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityNotionalQuantity": {
            "title": "CommodityNotionalQuantity",
            "description": "An instance of fpml5.confirmation.CommodityNotionalQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityNotionalQuantity",
                    "pattern": "^fpml5\\.confirmation\\.CommodityNotionalQuantity$",
                    "description": "The class identifier for this type"
                },
                "quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quantity"]
        },
        "fpml5.confirmation.CommodityNotionalQuantitySchedule": {
            "title": "CommodityNotionalQuantitySchedule",
            "description": "An instance of fpml5.confirmation.CommodityNotionalQuantitySchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityNotionalQuantitySchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommodityNotionalQuantitySchedule$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityOption": {
            "title": "CommodityOption",
            "description": "An instance of fpml5.confirmation.CommodityOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityOption",
                    "pattern": "^fpml5\\.confirmation\\.CommodityOption$",
                    "description": "The class identifier for this type"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.PutCallEnum"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "totalNotionalQuantity": {
                    "type": "number"
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionType"]
        },
        "fpml5.confirmation.CommodityPayRelativeToEvent": {
            "title": "CommodityPayRelativeToEvent",
            "description": "An instance of fpml5.confirmation.CommodityPayRelativeToEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPayRelativeToEvent",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPayRelativeToEvent$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityPayRelativeToEventScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPerformanceSwap": {
            "title": "CommodityPerformanceSwap",
            "description": "An instance of fpml5.confirmation.CommodityPerformanceSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPerformanceSwap",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPerformanceSwap$",
                    "description": "The class identifier for this type"
                },
                "commodityPerformanceSwapLegGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "commodityPerformanceSwapLegGroup"]
        },
        "fpml5.confirmation.CommodityPerformanceSwapEarlyTermination": {
            "title": "CommodityPerformanceSwapEarlyTermination",
            "description": "An instance of fpml5.confirmation.CommodityPerformanceSwapEarlyTermination",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPerformanceSwapEarlyTermination",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPerformanceSwapEarlyTermination$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPhysicalAmericanExercise": {
            "title": "CommodityPhysicalAmericanExercise",
            "description": "An instance of fpml5.confirmation.CommodityPhysicalAmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPhysicalAmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPhysicalAmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPhysicalEuropeanExercise": {
            "title": "CommodityPhysicalEuropeanExercise",
            "description": "An instance of fpml5.confirmation.CommodityPhysicalEuropeanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPhysicalEuropeanExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPhysicalEuropeanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPhysicalExercise": {
            "title": "CommodityPhysicalExercise",
            "description": "An instance of fpml5.confirmation.CommodityPhysicalExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPhysicalExercise",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPhysicalExercise$",
                    "description": "The class identifier for this type"
                },
                "automaticExercise": {
                    "type": "boolean"
                },
                "writtenConfirmation": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPhysicalQuantity": {
            "title": "CommodityPhysicalQuantity",
            "description": "An instance of fpml5.confirmation.CommodityPhysicalQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPhysicalQuantity",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPhysicalQuantity$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPhysicalQuantitySchedule": {
            "title": "CommodityPhysicalQuantitySchedule",
            "description": "An instance of fpml5.confirmation.CommodityPhysicalQuantitySchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPhysicalQuantitySchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPhysicalQuantitySchedule$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPipeline": {
            "title": "CommodityPipeline",
            "description": "An instance of fpml5.confirmation.CommodityPipeline",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPipeline",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPipeline$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "pipelineScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPipelineCycle": {
            "title": "CommodityPipelineCycle",
            "description": "An instance of fpml5.confirmation.CommodityPipelineCycle",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPipelineCycle",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPipelineCycle$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "pipelineCycleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "pipelineCycleScheme"]
        },
        "fpml5.confirmation.CommodityPremium": {
            "title": "CommodityPremium",
            "description": "An instance of fpml5.confirmation.CommodityPremium",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPremium",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPremium$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityPricingDates": {
            "title": "CommodityPricingDates",
            "description": "An instance of fpml5.confirmation.CommodityPricingDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityPricingDates",
                    "pattern": "^fpml5\\.confirmation\\.CommodityPricingDates$",
                    "description": "The class identifier for this type"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityDayTypeEnum"
                },
                "dayCount": {
                    "type": "integer"
                },
                "dayOfWeek": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/fpml5.confirmation.DayOfWeekEnum"
                    }
                },
                "dayNumber": {
                    "type": "integer"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "calendarSource": {
                    "$ref": "#/definitions/fpml5.confirmation.CalendarSourceEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityProductGrade": {
            "title": "CommodityProductGrade",
            "description": "An instance of fpml5.confirmation.CommodityProductGrade",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityProductGrade",
                    "pattern": "^fpml5\\.confirmation\\.CommodityProductGrade$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "productGradeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityQuantityFrequency": {
            "title": "CommodityQuantityFrequency",
            "description": "An instance of fpml5.confirmation.CommodityQuantityFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityQuantityFrequency",
                    "pattern": "^fpml5\\.confirmation\\.CommodityQuantityFrequency$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "quantityFrequencyScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityRelativeExpirationDates": {
            "title": "CommodityRelativeExpirationDates",
            "description": "An instance of fpml5.confirmation.CommodityRelativeExpirationDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityRelativeExpirationDates",
                    "pattern": "^fpml5\\.confirmation\\.CommodityRelativeExpirationDates$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityRelativePaymentDates": {
            "title": "CommodityRelativePaymentDates",
            "description": "An instance of fpml5.confirmation.CommodityRelativePaymentDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityRelativePaymentDates",
                    "pattern": "^fpml5\\.confirmation\\.CommodityRelativePaymentDates$",
                    "description": "The class identifier for this type"
                },
                "payRelativeTo": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityPayRelativeToEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityReturnCalculation": {
            "title": "CommodityReturnCalculation",
            "description": "An instance of fpml5.confirmation.CommodityReturnCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityReturnCalculation",
                    "pattern": "^fpml5\\.confirmation\\.CommodityReturnCalculation$",
                    "description": "The class identifier for this type"
                },
                "formula": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityReturnCalculationFormulaEnum"
                },
                "initialPrice": {
                    "type": "number"
                }
            },
            "required": ["$class", "formula"]
        },
        "fpml5.confirmation.CommodityReturnLeg": {
            "title": "CommodityReturnLeg",
            "description": "An instance of fpml5.confirmation.CommodityReturnLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityReturnLeg",
                    "pattern": "^fpml5\\.confirmation\\.CommodityReturnLeg$",
                    "description": "The class identifier for this type"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantity": {
            "title": "CommoditySettlementPeriodsNotionalQuantity",
            "description": "An instance of fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantity",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySettlementPeriodsNotionalQuantity$",
                    "description": "The class identifier for this type"
                },
                "quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quantity"]
        },
        "fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantitySchedule": {
            "title": "CommoditySettlementPeriodsNotionalQuantitySchedule",
            "description": "An instance of fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantitySchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantitySchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySettlementPeriodsNotionalQuantitySchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommoditySettlementPeriodsPriceSchedule": {
            "title": "CommoditySettlementPeriodsPriceSchedule",
            "description": "An instance of fpml5.confirmation.CommoditySettlementPeriodsPriceSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySettlementPeriodsPriceSchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySettlementPeriodsPriceSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommoditySpread": {
            "title": "CommoditySpread",
            "description": "An instance of fpml5.confirmation.CommoditySpread",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySpread",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySpread$",
                    "description": "The class identifier for this type"
                },
                "spreadConversionFactor": {
                    "type": "number"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.CommoditySpreadSchedule": {
            "title": "CommoditySpreadSchedule",
            "description": "An instance of fpml5.confirmation.CommoditySpreadSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySpreadSchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySpreadSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityStartingDate": {
            "title": "CommodityStartingDate",
            "description": "An instance of fpml5.confirmation.CommodityStartingDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityStartingDate",
                    "pattern": "^fpml5\\.confirmation\\.CommodityStartingDate$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityStrikeSchedule": {
            "title": "CommodityStrikeSchedule",
            "description": "An instance of fpml5.confirmation.CommodityStrikeSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityStrikeSchedule",
                    "pattern": "^fpml5\\.confirmation\\.CommodityStrikeSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommoditySwap": {
            "title": "CommoditySwap",
            "description": "An instance of fpml5.confirmation.CommoditySwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySwap",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySwap$",
                    "description": "The class identifier for this type"
                },
                "commoditySwapLegGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommoditySwaption": {
            "title": "CommoditySwaption",
            "description": "An instance of fpml5.confirmation.CommoditySwaption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySwaption",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySwaption$",
                    "description": "The class identifier for this type"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.PutCallEnum"
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionType"]
        },
        "fpml5.confirmation.CommoditySwaptionUnderlying": {
            "title": "CommoditySwaptionUnderlying",
            "description": "An instance of fpml5.confirmation.CommoditySwaptionUnderlying",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommoditySwaptionUnderlying",
                    "pattern": "^fpml5\\.confirmation\\.CommoditySwaptionUnderlying$",
                    "description": "The class identifier for this type"
                },
                "commoditySwapLegGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "commonPricing": {
                    "type": "boolean"
                },
                "settlementDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityBullionSettlementDisruptionEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityTrigger": {
            "title": "CommodityTrigger",
            "description": "An instance of fpml5.confirmation.CommodityTrigger",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityTrigger",
                    "pattern": "^fpml5\\.confirmation\\.CommodityTrigger$",
                    "description": "The class identifier for this type"
                },
                "levelQuantity": {
                    "type": "number"
                },
                "levelPercentage": {
                    "type": "number"
                },
                "triggerType": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerTypeEnum"
                }
            },
            "required": ["$class", "triggerType"]
        },
        "fpml5.confirmation.CommodityValuationDates": {
            "title": "CommodityValuationDates",
            "description": "An instance of fpml5.confirmation.CommodityValuationDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityValuationDates",
                    "pattern": "^fpml5\\.confirmation\\.CommodityValuationDates$",
                    "description": "The class identifier for this type"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.CommodityDayTypeEnum"
                },
                "dayCount": {
                    "type": "integer"
                },
                "dayOfWeek": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/fpml5.confirmation.DayOfWeekEnum"
                    }
                },
                "dayNumber": {
                    "type": "integer"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "calendarSource": {
                    "$ref": "#/definitions/fpml5.confirmation.CalendarSourceEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CommodityVarianceCalculation": {
            "title": "CommodityVarianceCalculation",
            "description": "An instance of fpml5.confirmation.CommodityVarianceCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityVarianceCalculation",
                    "pattern": "^fpml5\\.confirmation\\.CommodityVarianceCalculation$",
                    "description": "The class identifier for this type"
                },
                "annualizationFactor": {
                    "type": "number"
                },
                "nAdjustment": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "annualizationFactor", "nAdjustment"]
        },
        "fpml5.confirmation.CommodityVarianceLeg": {
            "title": "CommodityVarianceLeg",
            "description": "An instance of fpml5.confirmation.CommodityVarianceLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CommodityVarianceLeg",
                    "pattern": "^fpml5\\.confirmation\\.CommodityVarianceLeg$",
                    "description": "The class identifier for this type"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "varianceStrikePrice": {
                    "type": "number"
                },
                "volatilityStrikePrice": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Composite": {
            "title": "Composite",
            "description": "An instance of fpml5.confirmation.Composite",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Composite",
                    "pattern": "^fpml5\\.confirmation\\.Composite$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Compounding": {
            "title": "Compounding",
            "description": "An instance of fpml5.confirmation.Compounding",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Compounding",
                    "pattern": "^fpml5\\.confirmation\\.Compounding$",
                    "description": "The class identifier for this type"
                },
                "compoundingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.CompoundingMethodEnum"
                },
                "compoundingSpread": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CompoundingFrequency": {
            "title": "CompoundingFrequency",
            "description": "An instance of fpml5.confirmation.CompoundingFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CompoundingFrequency",
                    "pattern": "^fpml5\\.confirmation\\.CompoundingFrequency$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "compoundingFrequencyScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CompoundingRate": {
            "title": "CompoundingRate",
            "description": "An instance of fpml5.confirmation.CompoundingRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CompoundingRate",
                    "pattern": "^fpml5\\.confirmation\\.CompoundingRate$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CompressionActivity": {
            "title": "CompressionActivity",
            "description": "An instance of fpml5.confirmation.CompressionActivity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CompressionActivity",
                    "pattern": "^fpml5\\.confirmation\\.CompressionActivity$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CompressionType": {
            "title": "CompressionType",
            "description": "An instance of fpml5.confirmation.CompressionType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CompressionType",
                    "pattern": "^fpml5\\.confirmation\\.CompressionType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "compressionTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ConfirmationAgreed": {
            "title": "ConfirmationAgreed",
            "description": "An instance of fpml5.confirmation.ConfirmationAgreed",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConfirmationAgreed",
                    "pattern": "^fpml5\\.confirmation\\.ConfirmationAgreed$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ConfirmationDisputed": {
            "title": "ConfirmationDisputed",
            "description": "An instance of fpml5.confirmation.ConfirmationDisputed",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConfirmationDisputed",
                    "pattern": "^fpml5\\.confirmation\\.ConfirmationDisputed$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ConfirmationMethod": {
            "title": "ConfirmationMethod",
            "description": "An instance of fpml5.confirmation.ConfirmationMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConfirmationMethod",
                    "pattern": "^fpml5\\.confirmation\\.ConfirmationMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "confirmationMethodScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ConfirmationRetracted": {
            "title": "ConfirmationRetracted",
            "description": "An instance of fpml5.confirmation.ConfirmationRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConfirmationRetracted",
                    "pattern": "^fpml5\\.confirmation\\.ConfirmationRetracted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ConfirmationStatus": {
            "title": "ConfirmationStatus",
            "description": "An instance of fpml5.confirmation.ConfirmationStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConfirmationStatus",
                    "pattern": "^fpml5\\.confirmation\\.ConfirmationStatus$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ConsentGranted": {
            "title": "ConsentGranted",
            "description": "An instance of fpml5.confirmation.ConsentGranted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConsentGranted",
                    "pattern": "^fpml5\\.confirmation\\.ConsentGranted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ConsentRefused": {
            "title": "ConsentRefused",
            "description": "An instance of fpml5.confirmation.ConsentRefused",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConsentRefused",
                    "pattern": "^fpml5\\.confirmation\\.ConsentRefused$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ConstituentWeight": {
            "title": "ConstituentWeight",
            "description": "An instance of fpml5.confirmation.ConstituentWeight",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConstituentWeight",
                    "pattern": "^fpml5\\.confirmation\\.ConstituentWeight$",
                    "description": "The class identifier for this type"
                },
                "openUnits": {
                    "type": "number"
                },
                "basketPercentage": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ContactInformation": {
            "title": "ContactInformation",
            "description": "An instance of fpml5.confirmation.ContactInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContactInformation",
                    "pattern": "^fpml5\\.confirmation\\.ContactInformation$",
                    "description": "The class identifier for this type"
                },
                "email": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ContractId": {
            "title": "ContractId",
            "description": "An instance of fpml5.confirmation.ContractId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContractId",
                    "pattern": "^fpml5\\.confirmation\\.ContractId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "contractIdScheme": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "contractIdScheme"]
        },
        "fpml5.confirmation.ContractIdentifier": {
            "title": "ContractIdentifier",
            "description": "An instance of fpml5.confirmation.ContractIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContractIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.ContractIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ContractualDefinitions": {
            "title": "ContractualDefinitions",
            "description": "An instance of fpml5.confirmation.ContractualDefinitions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContractualDefinitions",
                    "pattern": "^fpml5\\.confirmation\\.ContractualDefinitions$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "contractualDefinitionsScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ContractualMatrix": {
            "title": "ContractualMatrix",
            "description": "An instance of fpml5.confirmation.ContractualMatrix",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContractualMatrix",
                    "pattern": "^fpml5\\.confirmation\\.ContractualMatrix$",
                    "description": "The class identifier for this type"
                },
                "publicationDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ContractualSupplement": {
            "title": "ContractualSupplement",
            "description": "An instance of fpml5.confirmation.ContractualSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContractualSupplement",
                    "pattern": "^fpml5\\.confirmation\\.ContractualSupplement$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "contractualSupplementScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ContractualTermsSupplement": {
            "title": "ContractualTermsSupplement",
            "description": "An instance of fpml5.confirmation.ContractualTermsSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ContractualTermsSupplement",
                    "pattern": "^fpml5\\.confirmation\\.ContractualTermsSupplement$",
                    "description": "The class identifier for this type"
                },
                "publicationDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ConvertibleBond": {
            "title": "ConvertibleBond",
            "description": "An instance of fpml5.confirmation.ConvertibleBond",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ConvertibleBond",
                    "pattern": "^fpml5\\.confirmation\\.ConvertibleBond$",
                    "description": "The class identifier for this type"
                },
                "redemptionDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "issuerName": {
                    "type": "string"
                },
                "couponRate": {
                    "type": "number"
                },
                "maturity": {
                    "format": "date-time",
                    "type": "string"
                },
                "parValue": {
                    "type": "number"
                },
                "faceAmount": {
                    "type": "number"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CorporateActionEvent": {
            "title": "CorporateActionEvent",
            "description": "An instance of fpml5.confirmation.CorporateActionEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorporateActionEvent",
                    "pattern": "^fpml5\\.confirmation\\.CorporateActionEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CorporateActionType": {
            "title": "CorporateActionType",
            "description": "An instance of fpml5.confirmation.CorporateActionType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorporateActionType",
                    "pattern": "^fpml5\\.confirmation\\.CorporateActionType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "corporateActionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CorrectableRequestMessage": {
            "title": "CorrectableRequestMessage",
            "description": "An instance of fpml5.confirmation.CorrectableRequestMessage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorrectableRequestMessage",
                    "pattern": "^fpml5\\.confirmation\\.CorrectableRequestMessage$",
                    "description": "The class identifier for this type"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.Correlation": {
            "title": "Correlation",
            "description": "An instance of fpml5.confirmation.Correlation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Correlation",
                    "pattern": "^fpml5\\.confirmation\\.Correlation$",
                    "description": "The class identifier for this type"
                },
                "correlationStrikePrice": {
                    "$ref": "#/definitions/fpml5.confirmation.CorrelationValue"
                },
                "numberOfDataSeries": {
                    "type": "integer"
                },
                "initialLevel": {
                    "type": "number"
                },
                "closingLevel": {
                    "type": "boolean"
                },
                "expiringLevel": {
                    "type": "boolean"
                },
                "expectedN": {
                    "type": "integer"
                }
            },
            "required": ["$class", "correlationStrikePrice"]
        },
        "fpml5.confirmation.CorrelationAmount": {
            "title": "CorrelationAmount",
            "description": "An instance of fpml5.confirmation.CorrelationAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorrelationAmount",
                    "pattern": "^fpml5\\.confirmation\\.CorrelationAmount$",
                    "description": "The class identifier for this type"
                },
                "optionsExchangeDividends": {
                    "type": "boolean"
                },
                "additionalDividends": {
                    "type": "boolean"
                },
                "allDividends": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CorrelationId": {
            "title": "CorrelationId",
            "description": "An instance of fpml5.confirmation.CorrelationId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorrelationId",
                    "pattern": "^fpml5\\.confirmation\\.CorrelationId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "correlationIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "correlationIdScheme"]
        },
        "fpml5.confirmation.CorrelationLeg": {
            "title": "CorrelationLeg",
            "description": "An instance of fpml5.confirmation.CorrelationLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorrelationLeg",
                    "pattern": "^fpml5\\.confirmation\\.CorrelationLeg$",
                    "description": "The class identifier for this type"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CorrelationSwap": {
            "title": "CorrelationSwap",
            "description": "An instance of fpml5.confirmation.CorrelationSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorrelationSwap",
                    "pattern": "^fpml5\\.confirmation\\.CorrelationSwap$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CorrespondentInformation": {
            "title": "CorrespondentInformation",
            "description": "An instance of fpml5.confirmation.CorrespondentInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CorrespondentInformation",
                    "pattern": "^fpml5\\.confirmation\\.CorrespondentInformation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CountryCode": {
            "title": "CountryCode",
            "description": "An instance of fpml5.confirmation.CountryCode",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CountryCode",
                    "pattern": "^fpml5\\.confirmation\\.CountryCode$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "countryScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CouponType": {
            "title": "CouponType",
            "description": "An instance of fpml5.confirmation.CouponType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CouponType",
                    "pattern": "^fpml5\\.confirmation\\.CouponType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "couponTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditCurve": {
            "title": "CreditCurve",
            "description": "An instance of fpml5.confirmation.CreditCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditCurve",
                    "pattern": "^fpml5\\.confirmation\\.CreditCurve$",
                    "description": "The class identifier for this type"
                },
                "secured": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditCurveValuation": {
            "title": "CreditCurveValuation",
            "description": "An instance of fpml5.confirmation.CreditCurveValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditCurveValuation",
                    "pattern": "^fpml5\\.confirmation\\.CreditCurveValuation$",
                    "description": "The class identifier for this type"
                },
                "recoveryRate": {
                    "type": "number"
                },
                "buildDateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditDefaultSwap": {
            "title": "CreditDefaultSwap",
            "description": "An instance of fpml5.confirmation.CreditDefaultSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditDefaultSwap",
                    "pattern": "^fpml5\\.confirmation\\.CreditDefaultSwap$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditDefaultSwapOption": {
            "title": "CreditDefaultSwapOption",
            "description": "An instance of fpml5.confirmation.CreditDefaultSwapOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditDefaultSwapOption",
                    "pattern": "^fpml5\\.confirmation\\.CreditDefaultSwapOption$",
                    "description": "The class identifier for this type"
                },
                "exerciseGroup": {
                    "type": "string"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "numberOfOptions": {
                    "type": "number"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.OptionTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "exerciseGroup", "optionType"]
        },
        "fpml5.confirmation.CreditDerivativesNotices": {
            "title": "CreditDerivativesNotices",
            "description": "An instance of fpml5.confirmation.CreditDerivativesNotices",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditDerivativesNotices",
                    "pattern": "^fpml5\\.confirmation\\.CreditDerivativesNotices$",
                    "description": "The class identifier for this type"
                },
                "creditEvent": {
                    "type": "boolean"
                },
                "publiclyAvailableInformation": {
                    "type": "boolean"
                },
                "physicalSettlement": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "creditEvent", "publiclyAvailableInformation", "physicalSettlement"]
        },
        "fpml5.confirmation.CreditDocument": {
            "title": "CreditDocument",
            "description": "An instance of fpml5.confirmation.CreditDocument",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditDocument",
                    "pattern": "^fpml5\\.confirmation\\.CreditDocument$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditDocumentScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditEvent": {
            "title": "CreditEvent",
            "description": "An instance of fpml5.confirmation.CreditEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEvent",
                    "pattern": "^fpml5\\.confirmation\\.CreditEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditEventNotice": {
            "title": "CreditEventNotice",
            "description": "An instance of fpml5.confirmation.CreditEventNotice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEventNotice",
                    "pattern": "^fpml5\\.confirmation\\.CreditEventNotice$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditEventNoticeDocument": {
            "title": "CreditEventNoticeDocument",
            "description": "An instance of fpml5.confirmation.CreditEventNoticeDocument",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEventNoticeDocument",
                    "pattern": "^fpml5\\.confirmation\\.CreditEventNoticeDocument$",
                    "description": "The class identifier for this type"
                },
                "creditEventGroup": {
                    "type": "string"
                },
                "creditEventNoticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "creditEventDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "creditEventGroup", "creditEventNoticeDate", "creditEventDate"]
        },
        "fpml5.confirmation.CreditEventNotification": {
            "title": "CreditEventNotification",
            "description": "An instance of fpml5.confirmation.CreditEventNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEventNotification",
                    "pattern": "^fpml5\\.confirmation\\.CreditEventNotification$",
                    "description": "The class identifier for this type"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.CreditEventNotificationRetracted": {
            "title": "CreditEventNotificationRetracted",
            "description": "An instance of fpml5.confirmation.CreditEventNotificationRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEventNotificationRetracted",
                    "pattern": "^fpml5\\.confirmation\\.CreditEventNotificationRetracted$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.CreditEvents": {
            "title": "CreditEvents",
            "description": "An instance of fpml5.confirmation.CreditEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEvents",
                    "pattern": "^fpml5\\.confirmation\\.CreditEvents$",
                    "description": "The class identifier for this type"
                },
                "bankruptcy": {
                    "type": "boolean"
                },
                "failureToPayPrincipal": {
                    "type": "boolean"
                },
                "failureToPayInterest": {
                    "type": "boolean"
                },
                "obligationDefault": {
                    "type": "boolean"
                },
                "obligationAcceleration": {
                    "type": "boolean"
                },
                "repudiationMoratorium": {
                    "type": "boolean"
                },
                "governmentalIntervention": {
                    "type": "boolean"
                },
                "distressedRatingsDowngrade": {
                    "type": "boolean"
                },
                "maturityExtension": {
                    "type": "boolean"
                },
                "writedown": {
                    "type": "boolean"
                },
                "impliedWritedown": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditEventsReference": {
            "title": "CreditEventsReference",
            "description": "An instance of fpml5.confirmation.CreditEventsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditEventsReference",
                    "pattern": "^fpml5\\.confirmation\\.CreditEventsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditLimit": {
            "title": "CreditLimit",
            "description": "An instance of fpml5.confirmation.CreditLimit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditLimit",
                    "pattern": "^fpml5\\.confirmation\\.CreditLimit$",
                    "description": "The class identifier for this type"
                },
                "expirationDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditLimitBase": {
            "title": "CreditLimitBase",
            "description": "An instance of fpml5.confirmation.CreditLimitBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditLimitBase",
                    "pattern": "^fpml5\\.confirmation\\.CreditLimitBase$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditLimitInformation": {
            "title": "CreditLimitInformation",
            "description": "An instance of fpml5.confirmation.CreditLimitInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditLimitInformation",
                    "pattern": "^fpml5\\.confirmation\\.CreditLimitInformation$",
                    "description": "The class identifier for this type"
                },
                "limitModel": {
                    "$ref": "#/definitions/fpml5.confirmation.LimitModelEnum"
                }
            },
            "required": ["$class", "limitModel"]
        },
        "fpml5.confirmation.CreditLimitUtilization": {
            "title": "CreditLimitUtilization",
            "description": "An instance of fpml5.confirmation.CreditLimitUtilization",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditLimitUtilization",
                    "pattern": "^fpml5\\.confirmation\\.CreditLimitUtilization$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditLimitUtilizationPosition": {
            "title": "CreditLimitUtilizationPosition",
            "description": "An instance of fpml5.confirmation.CreditLimitUtilizationPosition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditLimitUtilizationPosition",
                    "pattern": "^fpml5\\.confirmation\\.CreditLimitUtilizationPosition$",
                    "description": "The class identifier for this type"
                },
                "short": {
                    "type": "number"
                },
                "long": {
                    "type": "number"
                },
                "global": {
                    "type": "number"
                },
                "global1": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditOptionStrike": {
            "title": "CreditOptionStrike",
            "description": "An instance of fpml5.confirmation.CreditOptionStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditOptionStrike",
                    "pattern": "^fpml5\\.confirmation\\.CreditOptionStrike$",
                    "description": "The class identifier for this type"
                },
                "spread": {
                    "type": "number"
                },
                "price": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditRating": {
            "title": "CreditRating",
            "description": "An instance of fpml5.confirmation.CreditRating",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditRating",
                    "pattern": "^fpml5\\.confirmation\\.CreditRating$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditRatingScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditSeniority": {
            "title": "CreditSeniority",
            "description": "An instance of fpml5.confirmation.CreditSeniority",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditSeniority",
                    "pattern": "^fpml5\\.confirmation\\.CreditSeniority$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditSeniorityScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditSupportAgreement": {
            "title": "CreditSupportAgreement",
            "description": "An instance of fpml5.confirmation.CreditSupportAgreement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditSupportAgreement",
                    "pattern": "^fpml5\\.confirmation\\.CreditSupportAgreement$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "date"]
        },
        "fpml5.confirmation.CreditSupportAgreementIdentifier": {
            "title": "CreditSupportAgreementIdentifier",
            "description": "An instance of fpml5.confirmation.CreditSupportAgreementIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditSupportAgreementIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.CreditSupportAgreementIdentifier$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditSupportAgreementIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CreditSupportAgreementType": {
            "title": "CreditSupportAgreementType",
            "description": "An instance of fpml5.confirmation.CreditSupportAgreementType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CreditSupportAgreementType",
                    "pattern": "^fpml5\\.confirmation\\.CreditSupportAgreementType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditSupportAgreementTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CrossCurrencyMethod": {
            "title": "CrossCurrencyMethod",
            "description": "An instance of fpml5.confirmation.CrossCurrencyMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CrossCurrencyMethod",
                    "pattern": "^fpml5\\.confirmation\\.CrossCurrencyMethod$",
                    "description": "The class identifier for this type"
                },
                "quotationRateType": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationRateTypeEnum"
                }
            },
            "required": ["$class", "quotationRateType"]
        },
        "fpml5.confirmation.CrossRate": {
            "title": "CrossRate",
            "description": "An instance of fpml5.confirmation.CrossRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CrossRate",
                    "pattern": "^fpml5\\.confirmation\\.CrossRate$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                },
                "forwardPoints": {
                    "type": "number"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                }
            },
            "required": ["$class", "rate", "quoteBasis"]
        },
        "fpml5.confirmation.Currency": {
            "title": "Currency",
            "description": "An instance of fpml5.confirmation.Currency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Currency",
                    "pattern": "^fpml5\\.confirmation\\.Currency$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "currencyScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CurrencyPairClassification": {
            "title": "CurrencyPairClassification",
            "description": "An instance of fpml5.confirmation.CurrencyPairClassification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CurrencyPairClassification",
                    "pattern": "^fpml5\\.confirmation\\.CurrencyPairClassification$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "currencyPairClassificationScheme": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CurrentContractsType": {
            "title": "CurrentContractsType",
            "description": "An instance of fpml5.confirmation.CurrentContractsType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CurrentContractsType",
                    "pattern": "^fpml5\\.confirmation\\.CurrentContractsType$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.CutName": {
            "title": "CutName",
            "description": "An instance of fpml5.confirmation.CutName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.CutName",
                    "pattern": "^fpml5\\.confirmation\\.CutName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "cutNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DataDocument": {
            "title": "DataDocument",
            "description": "An instance of fpml5.confirmation.DataDocument",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DataDocument",
                    "pattern": "^fpml5\\.confirmation\\.DataDocument$",
                    "description": "The class identifier for this type"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.DataProvider": {
            "title": "DataProvider",
            "description": "An instance of fpml5.confirmation.DataProvider",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DataProvider",
                    "pattern": "^fpml5\\.confirmation\\.DataProvider$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "weatherDataProviderScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DateList": {
            "title": "DateList",
            "description": "An instance of fpml5.confirmation.DateList",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateList",
                    "pattern": "^fpml5\\.confirmation\\.DateList$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "date"]
        },
        "fpml5.confirmation.DateOffset": {
            "title": "DateOffset",
            "description": "An instance of fpml5.confirmation.DateOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateOffset",
                    "pattern": "^fpml5\\.confirmation\\.DateOffset$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.DateRange": {
            "title": "DateRange",
            "description": "An instance of fpml5.confirmation.DateRange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateRange",
                    "pattern": "^fpml5\\.confirmation\\.DateRange$",
                    "description": "The class identifier for this type"
                },
                "unadjustedFirstDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "unadjustedLastDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "unadjustedFirstDate", "unadjustedLastDate"]
        },
        "fpml5.confirmation.DateReference": {
            "title": "DateReference",
            "description": "An instance of fpml5.confirmation.DateReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateReference",
                    "pattern": "^fpml5\\.confirmation\\.DateReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.DateRelativeToCalculationPeriodDates": {
            "title": "DateRelativeToCalculationPeriodDates",
            "description": "An instance of fpml5.confirmation.DateRelativeToCalculationPeriodDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateRelativeToCalculationPeriodDates",
                    "pattern": "^fpml5\\.confirmation\\.DateRelativeToCalculationPeriodDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DateRelativeToPaymentDates": {
            "title": "DateRelativeToPaymentDates",
            "description": "An instance of fpml5.confirmation.DateRelativeToPaymentDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateRelativeToPaymentDates",
                    "pattern": "^fpml5\\.confirmation\\.DateRelativeToPaymentDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DateTimeList": {
            "title": "DateTimeList",
            "description": "An instance of fpml5.confirmation.DateTimeList",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DateTimeList",
                    "pattern": "^fpml5\\.confirmation\\.DateTimeList$",
                    "description": "The class identifier for this type"
                },
                "dateTime": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "dateTime"]
        },
        "fpml5.confirmation.DayCountFraction": {
            "title": "DayCountFraction",
            "description": "An instance of fpml5.confirmation.DayCountFraction",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DayCountFraction",
                    "pattern": "^fpml5\\.confirmation\\.DayCountFraction$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "dayCountFractionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Deal": {
            "title": "Deal",
            "description": "An instance of fpml5.confirmation.Deal",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Deal",
                    "pattern": "^fpml5\\.confirmation\\.Deal$",
                    "description": "The class identifier for this type"
                },
                "facilityGroupGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "creditAgreementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "facilityGroupGroup", "creditAgreementDate"]
        },
        "fpml5.confirmation.DealIdentifier": {
            "title": "DealIdentifier",
            "description": "An instance of fpml5.confirmation.DealIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DealIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.DealIdentifier$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DealStatement": {
            "title": "DealStatement",
            "description": "An instance of fpml5.confirmation.DealStatement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DealStatement",
                    "pattern": "^fpml5\\.confirmation\\.DealStatement$",
                    "description": "The class identifier for this type"
                },
                "statementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "statementDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.DealSummary": {
            "title": "DealSummary",
            "description": "An instance of fpml5.confirmation.DealSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DealSummary",
                    "pattern": "^fpml5\\.confirmation\\.DealSummary$",
                    "description": "The class identifier for this type"
                },
                "creditAgreementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "creditAgreementDate"]
        },
        "fpml5.confirmation.DeClear": {
            "title": "DeClear",
            "description": "An instance of fpml5.confirmation.DeClear",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeClear",
                    "pattern": "^fpml5\\.confirmation\\.DeClear$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.DeclearReason": {
            "title": "DeclearReason",
            "description": "An instance of fpml5.confirmation.DeclearReason",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeclearReason",
                    "pattern": "^fpml5\\.confirmation\\.DeclearReason$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "declearReasonScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DefaultProbabilityCurve": {
            "title": "DefaultProbabilityCurve",
            "description": "An instance of fpml5.confirmation.DefaultProbabilityCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DefaultProbabilityCurve",
                    "pattern": "^fpml5\\.confirmation\\.DefaultProbabilityCurve$",
                    "description": "The class identifier for this type"
                },
                "buildDateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DefaultRateChange": {
            "title": "DefaultRateChange",
            "description": "An instance of fpml5.confirmation.DefaultRateChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DefaultRateChange",
                    "pattern": "^fpml5\\.confirmation\\.DefaultRateChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.DefaultRateExpiry": {
            "title": "DefaultRateExpiry",
            "description": "An instance of fpml5.confirmation.DefaultRateExpiry",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DefaultRateExpiry",
                    "pattern": "^fpml5\\.confirmation\\.DefaultRateExpiry$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.DelayedDraw": {
            "title": "DelayedDraw",
            "description": "An instance of fpml5.confirmation.DelayedDraw",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DelayedDraw",
                    "pattern": "^fpml5\\.confirmation\\.DelayedDraw$",
                    "description": "The class identifier for this type"
                },
                "delayedDraw": {
                    "type": "boolean"
                },
                "mustDrawByDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "delayedDraw", "startDate"]
        },
        "fpml5.confirmation.DeliverableObligations": {
            "title": "DeliverableObligations",
            "description": "An instance of fpml5.confirmation.DeliverableObligations",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeliverableObligations",
                    "pattern": "^fpml5\\.confirmation\\.DeliverableObligations$",
                    "description": "The class identifier for this type"
                },
                "accruedInterest": {
                    "type": "boolean"
                },
                "category": {
                    "$ref": "#/definitions/fpml5.confirmation.ObligationCategoryEnum"
                },
                "notSubordinated": {
                    "type": "boolean"
                },
                "notSovereignLender": {
                    "type": "boolean"
                },
                "notDomesticLaw": {
                    "type": "boolean"
                },
                "listed": {
                    "type": "boolean"
                },
                "notContingent": {
                    "type": "boolean"
                },
                "notDomesticIssuance": {
                    "type": "boolean"
                },
                "transferable": {
                    "type": "boolean"
                },
                "acceleratedOrMatured": {
                    "type": "boolean"
                },
                "notBearer": {
                    "type": "boolean"
                },
                "fullFaithAndCreditObLiability": {
                    "type": "boolean"
                },
                "generalFundObligationLiability": {
                    "type": "boolean"
                },
                "revenueObligationLiability": {
                    "type": "boolean"
                },
                "excluded": {
                    "type": "string"
                },
                "othReferenceEntityObligations": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DeliveryMethod": {
            "title": "DeliveryMethod",
            "description": "An instance of fpml5.confirmation.DeliveryMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeliveryMethod",
                    "pattern": "^fpml5\\.confirmation\\.DeliveryMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "deliveryMethodScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DeliveryNearby": {
            "title": "DeliveryNearby",
            "description": "An instance of fpml5.confirmation.DeliveryNearby",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeliveryNearby",
                    "pattern": "^fpml5\\.confirmation\\.DeliveryNearby$",
                    "description": "The class identifier for this type"
                },
                "deliveryNearbyMultiplier": {
                    "type": "integer"
                },
                "deliveryNearbyType": {
                    "$ref": "#/definitions/fpml5.confirmation.DeliveryNearbyTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "deliveryNearbyMultiplier", "deliveryNearbyType"]
        },
        "fpml5.confirmation.DenominatorTerm": {
            "title": "DenominatorTerm",
            "description": "An instance of fpml5.confirmation.DenominatorTerm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DenominatorTerm",
                    "pattern": "^fpml5\\.confirmation\\.DenominatorTerm$",
                    "description": "The class identifier for this type"
                },
                "power": {
                    "type": "integer"
                }
            },
            "required": ["$class", "power"]
        },
        "fpml5.confirmation.Deposit": {
            "title": "Deposit",
            "description": "An instance of fpml5.confirmation.Deposit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Deposit",
                    "pattern": "^fpml5\\.confirmation\\.Deposit$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DerivativeCalculationMethod": {
            "title": "DerivativeCalculationMethod",
            "description": "An instance of fpml5.confirmation.DerivativeCalculationMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DerivativeCalculationMethod",
                    "pattern": "^fpml5\\.confirmation\\.DerivativeCalculationMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "derivativeCalculationMethodScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DerivativeCalculationProcedure": {
            "title": "DerivativeCalculationProcedure",
            "description": "An instance of fpml5.confirmation.DerivativeCalculationProcedure",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DerivativeCalculationProcedure",
                    "pattern": "^fpml5\\.confirmation\\.DerivativeCalculationProcedure$",
                    "description": "The class identifier for this type"
                },
                "perturbationAmount": {
                    "type": "number"
                },
                "averaged": {
                    "type": "boolean"
                },
                "derivativeFormula": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DerivativeFormula": {
            "title": "DerivativeFormula",
            "description": "An instance of fpml5.confirmation.DerivativeFormula",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DerivativeFormula",
                    "pattern": "^fpml5\\.confirmation\\.DerivativeFormula$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DeterminationMethod": {
            "title": "DeterminationMethod",
            "description": "An instance of fpml5.confirmation.DeterminationMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeterminationMethod",
                    "pattern": "^fpml5\\.confirmation\\.DeterminationMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "determinationMethodScheme": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DeterminationMethodReference": {
            "title": "DeterminationMethodReference",
            "description": "An instance of fpml5.confirmation.DeterminationMethodReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DeterminationMethodReference",
                    "pattern": "^fpml5\\.confirmation\\.DeterminationMethodReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Discounting": {
            "title": "Discounting",
            "description": "An instance of fpml5.confirmation.Discounting",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Discounting",
                    "pattern": "^fpml5\\.confirmation\\.Discounting$",
                    "description": "The class identifier for this type"
                },
                "discountingType": {
                    "$ref": "#/definitions/fpml5.confirmation.DiscountingTypeEnum"
                },
                "discountRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "discountingType"]
        },
        "fpml5.confirmation.DisruptionFallback": {
            "title": "DisruptionFallback",
            "description": "An instance of fpml5.confirmation.DisruptionFallback",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DisruptionFallback",
                    "pattern": "^fpml5\\.confirmation\\.DisruptionFallback$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMarketDisruptionFallbackScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DividendAdjustment": {
            "title": "DividendAdjustment",
            "description": "An instance of fpml5.confirmation.DividendAdjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendAdjustment",
                    "pattern": "^fpml5\\.confirmation\\.DividendAdjustment$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DividendConditions": {
            "title": "DividendConditions",
            "description": "An instance of fpml5.confirmation.DividendConditions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendConditions",
                    "pattern": "^fpml5\\.confirmation\\.DividendConditions$",
                    "description": "The class identifier for this type"
                },
                "dividendReinvestment": {
                    "type": "boolean"
                },
                "dividendEntitlement": {
                    "$ref": "#/definitions/fpml5.confirmation.DividendEntitlementEnum"
                },
                "dividendAmount": {
                    "$ref": "#/definitions/fpml5.confirmation.DividendAmountTypeEnum"
                },
                "dividendPeriod": {
                    "$ref": "#/definitions/fpml5.confirmation.DividendPeriodEnum"
                },
                "excessDividendAmount": {
                    "$ref": "#/definitions/fpml5.confirmation.DividendAmountTypeEnum"
                },
                "numberOfIndexUnits": {
                    "type": "number"
                },
                "declaredCashDividendPercentage": {
                    "type": "number"
                },
                "declaredCashEquivalentDividendPercentage": {
                    "type": "number"
                },
                "nonCashDividendTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.NonCashDividendTreatmentEnum"
                },
                "dividendComposition": {
                    "$ref": "#/definitions/fpml5.confirmation.DividendCompositionEnum"
                },
                "specialDividends": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DividendLeg": {
            "title": "DividendLeg",
            "description": "An instance of fpml5.confirmation.DividendLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendLeg",
                    "pattern": "^fpml5\\.confirmation\\.DividendLeg$",
                    "description": "The class identifier for this type"
                },
                "declaredCashDividendPercentage": {
                    "type": "number"
                },
                "declaredCashEquivalentDividendPercentage": {
                    "type": "number"
                },
                "specialDividends": {
                    "type": "boolean"
                },
                "materialDividend": {
                    "type": "boolean"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DividendPaymentDate": {
            "title": "DividendPaymentDate",
            "description": "An instance of fpml5.confirmation.DividendPaymentDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendPaymentDate",
                    "pattern": "^fpml5\\.confirmation\\.DividendPaymentDate$",
                    "description": "The class identifier for this type"
                },
                "dividendDateReference": {
                    "$ref": "#/definitions/fpml5.confirmation.DividendDateReferenceEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DividendPayout": {
            "title": "DividendPayout",
            "description": "An instance of fpml5.confirmation.DividendPayout",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendPayout",
                    "pattern": "^fpml5\\.confirmation\\.DividendPayout$",
                    "description": "The class identifier for this type"
                },
                "dividendPayoutRatio": {
                    "type": "number"
                },
                "dividendPayoutRatioCash": {
                    "type": "number"
                },
                "dividendPayoutRatioNonCash": {
                    "type": "number"
                },
                "dividendPayoutConditions": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DividendPeriodDividend": {
            "title": "DividendPeriodDividend",
            "description": "An instance of fpml5.confirmation.DividendPeriodDividend",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendPeriodDividend",
                    "pattern": "^fpml5\\.confirmation\\.DividendPeriodDividend$",
                    "description": "The class identifier for this type"
                },
                "multiplier": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "multiplier"]
        },
        "fpml5.confirmation.DividendPeriodPayment": {
            "title": "DividendPeriodPayment",
            "description": "An instance of fpml5.confirmation.DividendPeriodPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendPeriodPayment",
                    "pattern": "^fpml5\\.confirmation\\.DividendPeriodPayment$",
                    "description": "The class identifier for this type"
                },
                "fixedStrike": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "fixedStrike"]
        },
        "fpml5.confirmation.DividendSwapOptionTransactionSupplement": {
            "title": "DividendSwapOptionTransactionSupplement",
            "description": "An instance of fpml5.confirmation.DividendSwapOptionTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendSwapOptionTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.DividendSwapOptionTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "exchangeLookAlike": {
                    "type": "boolean"
                },
                "methodOfAdjustment": {
                    "$ref": "#/definitions/fpml5.confirmation.MethodOfAdjustmentEnum"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "multiplier": {
                    "type": "number"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.OptionTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionType"]
        },
        "fpml5.confirmation.DividendSwapTransactionSupplement": {
            "title": "DividendSwapTransactionSupplement",
            "description": "An instance of fpml5.confirmation.DividendSwapTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DividendSwapTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.DividendSwapTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "multipleExchangeIndexAnnexFallback": {
                    "type": "boolean"
                },
                "componentSecurityIndexAnnexFallback": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Documentation": {
            "title": "Documentation",
            "description": "An instance of fpml5.confirmation.Documentation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Documentation",
                    "pattern": "^fpml5\\.confirmation\\.Documentation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.DualCurrencyFeature": {
            "title": "DualCurrencyFeature",
            "description": "An instance of fpml5.confirmation.DualCurrencyFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DualCurrencyFeature",
                    "pattern": "^fpml5\\.confirmation\\.DualCurrencyFeature$",
                    "description": "The class identifier for this type"
                },
                "fixingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "spotRate": {
                    "type": "number"
                },
                "interestAtRisk": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "fixingDate", "interestAtRisk"]
        },
        "fpml5.confirmation.DualCurrencyStrikePrice": {
            "title": "DualCurrencyStrikePrice",
            "description": "An instance of fpml5.confirmation.DualCurrencyStrikePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.DualCurrencyStrikePrice",
                    "pattern": "^fpml5\\.confirmation\\.DualCurrencyStrikePrice$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "strikeQuoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnum"
                }
            },
            "required": ["$class", "rate", "strikeQuoteBasis"]
        },
        "fpml5.confirmation.EarlyTerminationEvent": {
            "title": "EarlyTerminationEvent",
            "description": "An instance of fpml5.confirmation.EarlyTerminationEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EarlyTerminationEvent",
                    "pattern": "^fpml5\\.confirmation\\.EarlyTerminationEvent$",
                    "description": "The class identifier for this type"
                },
                "adjustedExerciseDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedEarlyTerminationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedCashSettlementValuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedCashSettlementPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedExerciseFeePaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedExerciseDate", "adjustedEarlyTerminationDate", "adjustedCashSettlementValuationDate", "adjustedCashSettlementPaymentDate"]
        },
        "fpml5.confirmation.EarlyTerminationProvision": {
            "title": "EarlyTerminationProvision",
            "description": "An instance of fpml5.confirmation.EarlyTerminationProvision",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EarlyTerminationProvision",
                    "pattern": "^fpml5\\.confirmation\\.EarlyTerminationProvision$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EEPParameters": {
            "title": "EEPParameters",
            "description": "An instance of fpml5.confirmation.EEPParameters",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EEPParameters",
                    "pattern": "^fpml5\\.confirmation\\.EEPParameters$",
                    "description": "The class identifier for this type"
                },
                "eEPApplicable": {
                    "type": "boolean"
                },
                "equivalentApplicable": {
                    "type": "boolean"
                },
                "penaltyApplicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "eEPApplicable", "equivalentApplicable", "penaltyApplicable"]
        },
        "fpml5.confirmation.EEPRiskPeriod": {
            "title": "EEPRiskPeriod",
            "description": "An instance of fpml5.confirmation.EEPRiskPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EEPRiskPeriod",
                    "pattern": "^fpml5\\.confirmation\\.EEPRiskPeriod$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate"]
        },
        "fpml5.confirmation.ElectricityDelivery": {
            "title": "ElectricityDelivery",
            "description": "An instance of fpml5.confirmation.ElectricityDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityDelivery",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityDelivery$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityDeliveryFirm": {
            "title": "ElectricityDeliveryFirm",
            "description": "An instance of fpml5.confirmation.ElectricityDeliveryFirm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityDeliveryFirm",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityDeliveryFirm$",
                    "description": "The class identifier for this type"
                },
                "forceMajeure": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "forceMajeure"]
        },
        "fpml5.confirmation.ElectricityDeliveryPoint": {
            "title": "ElectricityDeliveryPoint",
            "description": "An instance of fpml5.confirmation.ElectricityDeliveryPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityDeliveryPoint",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityDeliveryPoint$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "deliveryPointScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityDeliverySystemFirm": {
            "title": "ElectricityDeliverySystemFirm",
            "description": "An instance of fpml5.confirmation.ElectricityDeliverySystemFirm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityDeliverySystemFirm",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityDeliverySystemFirm$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.ElectricityDeliveryType": {
            "title": "ElectricityDeliveryType",
            "description": "An instance of fpml5.confirmation.ElectricityDeliveryType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityDeliveryType",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityDeliveryType$",
                    "description": "The class identifier for this type"
                },
                "nonFirm": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityDeliveryUnitFirm": {
            "title": "ElectricityDeliveryUnitFirm",
            "description": "An instance of fpml5.confirmation.ElectricityDeliveryUnitFirm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityDeliveryUnitFirm",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityDeliveryUnitFirm$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.ElectricityPhysicalDeliveryQuantity": {
            "title": "ElectricityPhysicalDeliveryQuantity",
            "description": "An instance of fpml5.confirmation.ElectricityPhysicalDeliveryQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityPhysicalDeliveryQuantity",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityPhysicalDeliveryQuantity$",
                    "description": "The class identifier for this type"
                },
                "quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quantity"]
        },
        "fpml5.confirmation.ElectricityPhysicalDeliveryQuantitySchedule": {
            "title": "ElectricityPhysicalDeliveryQuantitySchedule",
            "description": "An instance of fpml5.confirmation.ElectricityPhysicalDeliveryQuantitySchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityPhysicalDeliveryQuantitySchedule",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityPhysicalDeliveryQuantitySchedule$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityPhysicalLeg": {
            "title": "ElectricityPhysicalLeg",
            "description": "An instance of fpml5.confirmation.ElectricityPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "loadType": {
                    "$ref": "#/definitions/fpml5.confirmation.LoadTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityPhysicalQuantity": {
            "title": "ElectricityPhysicalQuantity",
            "description": "An instance of fpml5.confirmation.ElectricityPhysicalQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityPhysicalQuantity",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityPhysicalQuantity$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityProduct": {
            "title": "ElectricityProduct",
            "description": "An instance of fpml5.confirmation.ElectricityProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityProduct",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityProduct$",
                    "description": "The class identifier for this type"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.ElectricityProductTypeEnum"
                },
                "voltage": {
                    "type": "number"
                }
            },
            "required": ["$class", "type"]
        },
        "fpml5.confirmation.ElectricityTransmissionContingency": {
            "title": "ElectricityTransmissionContingency",
            "description": "An instance of fpml5.confirmation.ElectricityTransmissionContingency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityTransmissionContingency",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityTransmissionContingency$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ElectricityTransmissionContingencyType": {
            "title": "ElectricityTransmissionContingencyType",
            "description": "An instance of fpml5.confirmation.ElectricityTransmissionContingencyType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ElectricityTransmissionContingencyType",
                    "pattern": "^fpml5\\.confirmation\\.ElectricityTransmissionContingencyType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "electricityTransmissionContingencyScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Empty": {
            "title": "Empty",
            "description": "An instance of fpml5.confirmation.Empty",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Empty",
                    "pattern": "^fpml5\\.confirmation\\.Empty$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EndUserExceptionDeclaration": {
            "title": "EndUserExceptionDeclaration",
            "description": "An instance of fpml5.confirmation.EndUserExceptionDeclaration",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EndUserExceptionDeclaration",
                    "pattern": "^fpml5\\.confirmation\\.EndUserExceptionDeclaration$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EntityClassification": {
            "title": "EntityClassification",
            "description": "An instance of fpml5.confirmation.EntityClassification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EntityClassification",
                    "pattern": "^fpml5\\.confirmation\\.EntityClassification$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "entityClassificationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EntityId": {
            "title": "EntityId",
            "description": "An instance of fpml5.confirmation.EntityId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EntityId",
                    "pattern": "^fpml5\\.confirmation\\.EntityId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "entityIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EntityName": {
            "title": "EntityName",
            "description": "An instance of fpml5.confirmation.EntityName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EntityName",
                    "pattern": "^fpml5\\.confirmation\\.EntityName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "entityNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EntityType": {
            "title": "EntityType",
            "description": "An instance of fpml5.confirmation.EntityType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EntityType",
                    "pattern": "^fpml5\\.confirmation\\.EntityType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "entityTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EnvironmentalPhysicalLeg": {
            "title": "EnvironmentalPhysicalLeg",
            "description": "An instance of fpml5.confirmation.EnvironmentalPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EnvironmentalPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.EnvironmentalPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "abandonmentOfScheme": {
                    "$ref": "#/definitions/fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnum"
                },
                "failureToDeliverApplicable": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EnvironmentalProduct": {
            "title": "EnvironmentalProduct",
            "description": "An instance of fpml5.confirmation.EnvironmentalProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EnvironmentalProduct",
                    "pattern": "^fpml5\\.confirmation\\.EnvironmentalProduct$",
                    "description": "The class identifier for this type"
                },
                "productType": {
                    "$ref": "#/definitions/fpml5.confirmation.EnvironmentalProductTypeEnum"
                },
                "vintage": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "productType"]
        },
        "fpml5.confirmation.EnvironmentalProductApplicableLaw": {
            "title": "EnvironmentalProductApplicableLaw",
            "description": "An instance of fpml5.confirmation.EnvironmentalProductApplicableLaw",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EnvironmentalProductApplicableLaw",
                    "pattern": "^fpml5\\.confirmation\\.EnvironmentalProductApplicableLaw$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "environmentalProductApplicableLawScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EnvironmentalProductComplaincePeriod": {
            "title": "EnvironmentalProductComplaincePeriod",
            "description": "An instance of fpml5.confirmation.EnvironmentalProductComplaincePeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EnvironmentalProductComplaincePeriod",
                    "pattern": "^fpml5\\.confirmation\\.EnvironmentalProductComplaincePeriod$",
                    "description": "The class identifier for this type"
                },
                "startYear": {
                    "format": "date-time",
                    "type": "string"
                },
                "endYear": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "startYear", "endYear"]
        },
        "fpml5.confirmation.EnvironmentalTrackingSystem": {
            "title": "EnvironmentalTrackingSystem",
            "description": "An instance of fpml5.confirmation.EnvironmentalTrackingSystem",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EnvironmentalTrackingSystem",
                    "pattern": "^fpml5\\.confirmation\\.EnvironmentalTrackingSystem$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityEnvironmentalTrackingSystemScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquityAmericanExercise": {
            "title": "EquityAmericanExercise",
            "description": "An instance of fpml5.confirmation.EquityAmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityAmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.EquityAmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "latestExerciseTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "equityExpirationTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquityAsset": {
            "title": "EquityAsset",
            "description": "An instance of fpml5.confirmation.EquityAsset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityAsset",
                    "pattern": "^fpml5\\.confirmation\\.EquityAsset$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquityBermudaExercise": {
            "title": "EquityBermudaExercise",
            "description": "An instance of fpml5.confirmation.EquityBermudaExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityBermudaExercise",
                    "pattern": "^fpml5\\.confirmation\\.EquityBermudaExercise$",
                    "description": "The class identifier for this type"
                },
                "latestExerciseTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "equityExpirationTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquityCorporateEvents": {
            "title": "EquityCorporateEvents",
            "description": "An instance of fpml5.confirmation.EquityCorporateEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityCorporateEvents",
                    "pattern": "^fpml5\\.confirmation\\.EquityCorporateEvents$",
                    "description": "The class identifier for this type"
                },
                "shareForShare": {
                    "$ref": "#/definitions/fpml5.confirmation.ShareExtraordinaryEventEnum"
                },
                "shareForOther": {
                    "$ref": "#/definitions/fpml5.confirmation.ShareExtraordinaryEventEnum"
                },
                "shareForCombined": {
                    "$ref": "#/definitions/fpml5.confirmation.ShareExtraordinaryEventEnum"
                }
            },
            "required": ["$class", "shareForShare", "shareForOther", "shareForCombined"]
        },
        "fpml5.confirmation.EquityEuropeanExercise": {
            "title": "EquityEuropeanExercise",
            "description": "An instance of fpml5.confirmation.EquityEuropeanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityEuropeanExercise",
                    "pattern": "^fpml5\\.confirmation\\.EquityEuropeanExercise$",
                    "description": "The class identifier for this type"
                },
                "equityExpirationTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquityExerciseValuationSettlement": {
            "title": "EquityExerciseValuationSettlement",
            "description": "An instance of fpml5.confirmation.EquityExerciseValuationSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityExerciseValuationSettlement",
                    "pattern": "^fpml5\\.confirmation\\.EquityExerciseValuationSettlement$",
                    "description": "The class identifier for this type"
                },
                "automaticExercise": {
                    "type": "boolean"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                }
            },
            "required": ["$class", "settlementType"]
        },
        "fpml5.confirmation.EquityForward": {
            "title": "EquityForward",
            "description": "An instance of fpml5.confirmation.EquityForward",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityForward",
                    "pattern": "^fpml5\\.confirmation\\.EquityForward$",
                    "description": "The class identifier for this type"
                },
                "methodOfAdjustment": {
                    "$ref": "#/definitions/fpml5.confirmation.MethodOfAdjustmentEnum"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.EquityOptionTypeEnum"
                },
                "equityEffectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "methodOfAdjustment", "optionType"]
        },
        "fpml5.confirmation.EquityMultipleExercise": {
            "title": "EquityMultipleExercise",
            "description": "An instance of fpml5.confirmation.EquityMultipleExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityMultipleExercise",
                    "pattern": "^fpml5\\.confirmation\\.EquityMultipleExercise$",
                    "description": "The class identifier for this type"
                },
                "integralMultipleExercise": {
                    "type": "number"
                },
                "minimumNumberOfOptions": {
                    "type": "number"
                },
                "maximumNumberOfOptions": {
                    "type": "number"
                }
            },
            "required": ["$class", "minimumNumberOfOptions", "maximumNumberOfOptions"]
        },
        "fpml5.confirmation.EquityOption": {
            "title": "EquityOption",
            "description": "An instance of fpml5.confirmation.EquityOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityOption",
                    "pattern": "^fpml5\\.confirmation\\.EquityOption$",
                    "description": "The class identifier for this type"
                },
                "spotPrice": {
                    "type": "number"
                },
                "numberOfOptions": {
                    "type": "number"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "methodOfAdjustment": {
                    "$ref": "#/definitions/fpml5.confirmation.MethodOfAdjustmentEnum"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.EquityOptionTypeEnum"
                },
                "equityEffectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionEntitlement", "methodOfAdjustment", "optionType"]
        },
        "fpml5.confirmation.EquityOptionTransactionSupplement": {
            "title": "EquityOptionTransactionSupplement",
            "description": "An instance of fpml5.confirmation.EquityOptionTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityOptionTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.EquityOptionTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "exchangeLookAlike": {
                    "type": "boolean"
                },
                "exchangeTradedContractNearest": {
                    "type": "boolean"
                },
                "multipleExchangeIndexAnnexFallback": {
                    "type": "boolean"
                },
                "componentSecurityIndexAnnexFallback": {
                    "type": "boolean"
                },
                "methodOfAdjustment": {
                    "$ref": "#/definitions/fpml5.confirmation.MethodOfAdjustmentEnum"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "multiplier": {
                    "type": "number"
                },
                "spotPrice": {
                    "type": "number"
                },
                "numberOfOptions": {
                    "type": "number"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.EquityOptionTypeEnum"
                },
                "equityEffectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "numberOfOptions", "optionType"]
        },
        "fpml5.confirmation.EquityPremium": {
            "title": "EquityPremium",
            "description": "An instance of fpml5.confirmation.EquityPremium",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityPremium",
                    "pattern": "^fpml5\\.confirmation\\.EquityPremium$",
                    "description": "The class identifier for this type"
                },
                "premiumType": {
                    "$ref": "#/definitions/fpml5.confirmation.PremiumTypeEnum"
                },
                "swapPremium": {
                    "type": "boolean"
                },
                "percentageOfNotional": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquityStrike": {
            "title": "EquityStrike",
            "description": "An instance of fpml5.confirmation.EquityStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityStrike",
                    "pattern": "^fpml5\\.confirmation\\.EquityStrike$",
                    "description": "The class identifier for this type"
                },
                "strikePrice": {
                    "type": "number"
                },
                "strikePercentage": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EquitySwapTransactionSupplement": {
            "title": "EquitySwapTransactionSupplement",
            "description": "An instance of fpml5.confirmation.EquitySwapTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquitySwapTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.EquitySwapTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "mutualEarlyTermination": {
                    "type": "boolean"
                },
                "optionalEarlyTermination": {
                    "type": "boolean"
                },
                "optionalEarlyTerminationDate": {
                    "$ref": "#/definitions/fpml5.confirmation.EarlyTerminationDateEnum"
                },
                "breakFundingRecovery": {
                    "type": "boolean"
                },
                "breakFeeElection": {
                    "$ref": "#/definitions/fpml5.confirmation.FeeElectionEnum"
                },
                "breakFeeRate": {
                    "type": "number"
                },
                "multipleExchangeIndexAnnexFallback": {
                    "type": "boolean"
                },
                "componentSecurityIndexAnnexFallback": {
                    "type": "boolean"
                },
                "returnSwapLegGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "returnSwapLegGroup"]
        },
        "fpml5.confirmation.EquityValuation": {
            "title": "EquityValuation",
            "description": "An instance of fpml5.confirmation.EquityValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EquityValuation",
                    "pattern": "^fpml5\\.confirmation\\.EquityValuation$",
                    "description": "The class identifier for this type"
                },
                "valuationTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "futuresPriceValuation": {
                    "type": "boolean"
                },
                "optionsPriceValuation": {
                    "type": "boolean"
                },
                "numberOfValuationDates": {
                    "type": "integer"
                },
                "fPVFinalPriceElectionFallback": {
                    "$ref": "#/definitions/fpml5.confirmation.FPVFinalPriceElectionFallbackEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EuropeanExercise": {
            "title": "EuropeanExercise",
            "description": "An instance of fpml5.confirmation.EuropeanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EuropeanExercise",
                    "pattern": "^fpml5\\.confirmation\\.EuropeanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventId": {
            "title": "EventId",
            "description": "An instance of fpml5.confirmation.EventId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventId",
                    "pattern": "^fpml5\\.confirmation\\.EventId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "eventIdScheme": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventIdentifier": {
            "title": "EventIdentifier",
            "description": "An instance of fpml5.confirmation.EventIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.EventIdentifier$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventInstructionOverride": {
            "title": "EventInstructionOverride",
            "description": "An instance of fpml5.confirmation.EventInstructionOverride",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventInstructionOverride",
                    "pattern": "^fpml5\\.confirmation\\.EventInstructionOverride$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventPayment": {
            "title": "EventPayment",
            "description": "An instance of fpml5.confirmation.EventPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventPayment",
                    "pattern": "^fpml5\\.confirmation\\.EventPayment$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventProposedMatch": {
            "title": "EventProposedMatch",
            "description": "An instance of fpml5.confirmation.EventProposedMatch",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventProposedMatch",
                    "pattern": "^fpml5\\.confirmation\\.EventProposedMatch$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "matchScore": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventRequestAcknowledgement": {
            "title": "EventRequestAcknowledgement",
            "description": "An instance of fpml5.confirmation.EventRequestAcknowledgement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventRequestAcknowledgement",
                    "pattern": "^fpml5\\.confirmation\\.EventRequestAcknowledgement$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.EventsChoice": {
            "title": "EventsChoice",
            "description": "An instance of fpml5.confirmation.EventsChoice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventsChoice",
                    "pattern": "^fpml5\\.confirmation\\.EventsChoice$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventStatus": {
            "title": "EventStatus",
            "description": "An instance of fpml5.confirmation.EventStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventStatus",
                    "pattern": "^fpml5\\.confirmation\\.EventStatus$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "eventStatusScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventStatusItem": {
            "title": "EventStatusItem",
            "description": "An instance of fpml5.confirmation.EventStatusItem",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventStatusItem",
                    "pattern": "^fpml5\\.confirmation\\.EventStatusItem$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.EventStatusResponse": {
            "title": "EventStatusResponse",
            "description": "An instance of fpml5.confirmation.EventStatusResponse",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EventStatusResponse",
                    "pattern": "^fpml5\\.confirmation\\.EventStatusResponse$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.EvergreenOption": {
            "title": "EvergreenOption",
            "description": "An instance of fpml5.confirmation.EvergreenOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.EvergreenOption",
                    "pattern": "^fpml5\\.confirmation\\.EvergreenOption$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Exception": {
            "title": "Exception",
            "description": "An instance of fpml5.confirmation.Exception",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Exception",
                    "pattern": "^fpml5\\.confirmation\\.Exception$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ExceptionMessageHeader": {
            "title": "ExceptionMessageHeader",
            "description": "An instance of fpml5.confirmation.ExceptionMessageHeader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExceptionMessageHeader",
                    "pattern": "^fpml5\\.confirmation\\.ExceptionMessageHeader$",
                    "description": "The class identifier for this type"
                },
                "creationTimestamp": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTimestamp": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "creationTimestamp"]
        },
        "fpml5.confirmation.ExchangeId": {
            "title": "ExchangeId",
            "description": "An instance of fpml5.confirmation.ExchangeId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExchangeId",
                    "pattern": "^fpml5\\.confirmation\\.ExchangeId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "exchangeIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExchangeRate": {
            "title": "ExchangeRate",
            "description": "An instance of fpml5.confirmation.ExchangeRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExchangeRate",
                    "pattern": "^fpml5\\.confirmation\\.ExchangeRate$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                },
                "forwardPoints": {
                    "type": "number"
                },
                "pointValue": {
                    "$ref": "#/definitions/fpml5.confirmation.PointValue"
                }
            },
            "required": ["$class", "rate"]
        },
        "fpml5.confirmation.ExchangeTradedContract": {
            "title": "ExchangeTradedContract",
            "description": "An instance of fpml5.confirmation.ExchangeTradedContract",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExchangeTradedContract",
                    "pattern": "^fpml5\\.confirmation\\.ExchangeTradedContract$",
                    "description": "The class identifier for this type"
                },
                "multiplier": {
                    "type": "number"
                },
                "contractReference": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExchangeTradedContractUnderlyer": {
            "title": "ExchangeTradedContractUnderlyer",
            "description": "An instance of fpml5.confirmation.ExchangeTradedContractUnderlyer",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExchangeTradedContractUnderlyer",
                    "pattern": "^fpml5\\.confirmation\\.ExchangeTradedContractUnderlyer$",
                    "description": "The class identifier for this type"
                },
                "underlyingAssetGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExchangeTradedFund": {
            "title": "ExchangeTradedFund",
            "description": "An instance of fpml5.confirmation.ExchangeTradedFund",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExchangeTradedFund",
                    "pattern": "^fpml5\\.confirmation\\.ExchangeTradedFund$",
                    "description": "The class identifier for this type"
                },
                "fundManager": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExchangeTradedOption": {
            "title": "ExchangeTradedOption",
            "description": "An instance of fpml5.confirmation.ExchangeTradedOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExchangeTradedOption",
                    "pattern": "^fpml5\\.confirmation\\.ExchangeTradedOption$",
                    "description": "The class identifier for this type"
                },
                "strike": {
                    "type": "number"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.PutCallEnum"
                },
                "exerciseStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseStyleEnum"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "multiplier": {
                    "type": "number"
                },
                "contractReference": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExecutionAdvice": {
            "title": "ExecutionAdvice",
            "description": "An instance of fpml5.confirmation.ExecutionAdvice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionAdvice",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionAdvice$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.ExecutionAdviceRetracted": {
            "title": "ExecutionAdviceRetracted",
            "description": "An instance of fpml5.confirmation.ExecutionAdviceRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionAdviceRetracted",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionAdviceRetracted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ExecutionDateTime": {
            "title": "ExecutionDateTime",
            "description": "An instance of fpml5.confirmation.ExecutionDateTime",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionDateTime",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionDateTime$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "format": "date-time",
                    "type": "string"
                },
                "executionDateTimeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExecutionNotification": {
            "title": "ExecutionNotification",
            "description": "An instance of fpml5.confirmation.ExecutionNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionNotification",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionNotification$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.ExecutionRetracted": {
            "title": "ExecutionRetracted",
            "description": "An instance of fpml5.confirmation.ExecutionRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionRetracted",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionRetracted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ExecutionType": {
            "title": "ExecutionType",
            "description": "An instance of fpml5.confirmation.ExecutionType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionType",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "executionTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExecutionVenueType": {
            "title": "ExecutionVenueType",
            "description": "An instance of fpml5.confirmation.ExecutionVenueType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExecutionVenueType",
                    "pattern": "^fpml5\\.confirmation\\.ExecutionVenueType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "executionVenueTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Exercise": {
            "title": "Exercise",
            "description": "An instance of fpml5.confirmation.Exercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Exercise",
                    "pattern": "^fpml5\\.confirmation\\.Exercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExerciseEvent": {
            "title": "ExerciseEvent",
            "description": "An instance of fpml5.confirmation.ExerciseEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExerciseEvent",
                    "pattern": "^fpml5\\.confirmation\\.ExerciseEvent$",
                    "description": "The class identifier for this type"
                },
                "adjustedExerciseDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedRelevantSwapEffectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedCashSettlementValuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedCashSettlementPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedExerciseFeePaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedExerciseDate", "adjustedRelevantSwapEffectiveDate"]
        },
        "fpml5.confirmation.ExerciseFee": {
            "title": "ExerciseFee",
            "description": "An instance of fpml5.confirmation.ExerciseFee",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExerciseFee",
                    "pattern": "^fpml5\\.confirmation\\.ExerciseFee$",
                    "description": "The class identifier for this type"
                },
                "feeAmount": {
                    "type": "number"
                },
                "feeRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExerciseFeeSchedule": {
            "title": "ExerciseFeeSchedule",
            "description": "An instance of fpml5.confirmation.ExerciseFeeSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExerciseFeeSchedule",
                    "pattern": "^fpml5\\.confirmation\\.ExerciseFeeSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExerciseNotice": {
            "title": "ExerciseNotice",
            "description": "An instance of fpml5.confirmation.ExerciseNotice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExerciseNotice",
                    "pattern": "^fpml5\\.confirmation\\.ExerciseNotice$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExercisePeriod": {
            "title": "ExercisePeriod",
            "description": "An instance of fpml5.confirmation.ExercisePeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExercisePeriod",
                    "pattern": "^fpml5\\.confirmation\\.ExercisePeriod$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExerciseProcedure": {
            "title": "ExerciseProcedure",
            "description": "An instance of fpml5.confirmation.ExerciseProcedure",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExerciseProcedure",
                    "pattern": "^fpml5\\.confirmation\\.ExerciseProcedure$",
                    "description": "The class identifier for this type"
                },
                "followUpConfirmation": {
                    "type": "boolean"
                },
                "limitedRightToConfirm": {
                    "type": "boolean"
                },
                "splitTicket": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "followUpConfirmation"]
        },
        "fpml5.confirmation.ExerciseProcedureOption": {
            "title": "ExerciseProcedureOption",
            "description": "An instance of fpml5.confirmation.ExerciseProcedureOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExerciseProcedureOption",
                    "pattern": "^fpml5\\.confirmation\\.ExerciseProcedureOption$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExtendibleProvision": {
            "title": "ExtendibleProvision",
            "description": "An instance of fpml5.confirmation.ExtendibleProvision",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExtendibleProvision",
                    "pattern": "^fpml5\\.confirmation\\.ExtendibleProvision$",
                    "description": "The class identifier for this type"
                },
                "exerciseGroup": {
                    "type": "string"
                },
                "followUpConfirmation": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "exerciseGroup", "followUpConfirmation"]
        },
        "fpml5.confirmation.ExtendibleProvisionAdjustedDates": {
            "title": "ExtendibleProvisionAdjustedDates",
            "description": "An instance of fpml5.confirmation.ExtendibleProvisionAdjustedDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExtendibleProvisionAdjustedDates",
                    "pattern": "^fpml5\\.confirmation\\.ExtendibleProvisionAdjustedDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ExtensionEvent": {
            "title": "ExtensionEvent",
            "description": "An instance of fpml5.confirmation.ExtensionEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExtensionEvent",
                    "pattern": "^fpml5\\.confirmation\\.ExtensionEvent$",
                    "description": "The class identifier for this type"
                },
                "adjustedExerciseDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedExtendedTerminationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedExerciseDate", "adjustedExtendedTerminationDate"]
        },
        "fpml5.confirmation.ExtraordinaryEvents": {
            "title": "ExtraordinaryEvents",
            "description": "An instance of fpml5.confirmation.ExtraordinaryEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ExtraordinaryEvents",
                    "pattern": "^fpml5\\.confirmation\\.ExtraordinaryEvents$",
                    "description": "The class identifier for this type"
                },
                "tenderOffer": {
                    "type": "boolean"
                },
                "compositionOfCombinedConsideration": {
                    "type": "boolean"
                },
                "failureToDeliver": {
                    "type": "boolean"
                },
                "nationalisationOrInsolvency": {
                    "$ref": "#/definitions/fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnum"
                },
                "delisting": {
                    "$ref": "#/definitions/fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityCommitment": {
            "title": "FacilityCommitment",
            "description": "An instance of fpml5.confirmation.FacilityCommitment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityCommitment",
                    "pattern": "^fpml5\\.confirmation\\.FacilityCommitment$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityContractIdentifier": {
            "title": "FacilityContractIdentifier",
            "description": "An instance of fpml5.confirmation.FacilityContractIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityContractIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.FacilityContractIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityExecutionExceptionDeclaration": {
            "title": "FacilityExecutionExceptionDeclaration",
            "description": "An instance of fpml5.confirmation.FacilityExecutionExceptionDeclaration",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityExecutionExceptionDeclaration",
                    "pattern": "^fpml5\\.confirmation\\.FacilityExecutionExceptionDeclaration$",
                    "description": "The class identifier for this type"
                },
                "reason": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityExtensionFeePayment": {
            "title": "FacilityExtensionFeePayment",
            "description": "An instance of fpml5.confirmation.FacilityExtensionFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityExtensionFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.FacilityExtensionFeePayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.FacilityFeature": {
            "title": "FacilityFeature",
            "description": "An instance of fpml5.confirmation.FacilityFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityFeature",
                    "pattern": "^fpml5\\.confirmation\\.FacilityFeature$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "facilityFeatureScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityIdentifier": {
            "title": "FacilityIdentifier",
            "description": "An instance of fpml5.confirmation.FacilityIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.FacilityIdentifier$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityNotification": {
            "title": "FacilityNotification",
            "description": "An instance of fpml5.confirmation.FacilityNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityNotification",
                    "pattern": "^fpml5\\.confirmation\\.FacilityNotification$",
                    "description": "The class identifier for this type"
                },
                "facilityEventGroupGroup": {
                    "type": "string"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "facilityEventGroupGroup", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.FacilityOutstandingsPosition": {
            "title": "FacilityOutstandingsPosition",
            "description": "An instance of fpml5.confirmation.FacilityOutstandingsPosition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityOutstandingsPosition",
                    "pattern": "^fpml5\\.confirmation\\.FacilityOutstandingsPosition$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityOutstandingsPositionStatement": {
            "title": "FacilityOutstandingsPositionStatement",
            "description": "An instance of fpml5.confirmation.FacilityOutstandingsPositionStatement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityOutstandingsPositionStatement",
                    "pattern": "^fpml5\\.confirmation\\.FacilityOutstandingsPositionStatement$",
                    "description": "The class identifier for this type"
                },
                "loanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "statementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "statementDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.FacilityPosition": {
            "title": "FacilityPosition",
            "description": "An instance of fpml5.confirmation.FacilityPosition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityPosition",
                    "pattern": "^fpml5\\.confirmation\\.FacilityPosition$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FacilityPositionStatement": {
            "title": "FacilityPositionStatement",
            "description": "An instance of fpml5.confirmation.FacilityPositionStatement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityPositionStatement",
                    "pattern": "^fpml5\\.confirmation\\.FacilityPositionStatement$",
                    "description": "The class identifier for this type"
                },
                "statementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "statementDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.FacilityRateChangeNotification": {
            "title": "FacilityRateChangeNotification",
            "description": "An instance of fpml5.confirmation.FacilityRateChangeNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityRateChangeNotification",
                    "pattern": "^fpml5\\.confirmation\\.FacilityRateChangeNotification$",
                    "description": "The class identifier for this type"
                },
                "facilityRateChangeGroupGroup": {
                    "type": "string"
                },
                "loanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "facilityRateChangeGroupGroup", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.FacilityReference": {
            "title": "FacilityReference",
            "description": "An instance of fpml5.confirmation.FacilityReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityReference",
                    "pattern": "^fpml5\\.confirmation\\.FacilityReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.FacilityStatement": {
            "title": "FacilityStatement",
            "description": "An instance of fpml5.confirmation.FacilityStatement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityStatement",
                    "pattern": "^fpml5\\.confirmation\\.FacilityStatement$",
                    "description": "The class identifier for this type"
                },
                "facilityGroupGroup": {
                    "type": "string"
                },
                "statementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "facilityGroupGroup", "statementDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.FacilitySummary": {
            "title": "FacilitySummary",
            "description": "An instance of fpml5.confirmation.FacilitySummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilitySummary",
                    "pattern": "^fpml5\\.confirmation\\.FacilitySummary$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate"]
        },
        "fpml5.confirmation.FacilityTermination": {
            "title": "FacilityTermination",
            "description": "An instance of fpml5.confirmation.FacilityTermination",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityTermination",
                    "pattern": "^fpml5\\.confirmation\\.FacilityTermination$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.FacilityType": {
            "title": "FacilityType",
            "description": "An instance of fpml5.confirmation.FacilityType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FacilityType",
                    "pattern": "^fpml5\\.confirmation\\.FacilityType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "facilityTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FailureToPay": {
            "title": "FailureToPay",
            "description": "An instance of fpml5.confirmation.FailureToPay",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FailureToPay",
                    "pattern": "^fpml5\\.confirmation\\.FailureToPay$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.FailureToPayEvent": {
            "title": "FailureToPayEvent",
            "description": "An instance of fpml5.confirmation.FailureToPayEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FailureToPayEvent",
                    "pattern": "^fpml5\\.confirmation\\.FailureToPayEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FallbackReferencePrice": {
            "title": "FallbackReferencePrice",
            "description": "An instance of fpml5.confirmation.FallbackReferencePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FallbackReferencePrice",
                    "pattern": "^fpml5\\.confirmation\\.FallbackReferencePrice$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FeaturePayment": {
            "title": "FeaturePayment",
            "description": "An instance of fpml5.confirmation.FeaturePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FeaturePayment",
                    "pattern": "^fpml5\\.confirmation\\.FeaturePayment$",
                    "description": "The class identifier for this type"
                },
                "levelPercentage": {
                    "type": "number"
                },
                "amount": {
                    "type": "number"
                },
                "time": {
                    "$ref": "#/definitions/fpml5.confirmation.TimeTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FeeLeg": {
            "title": "FeeLeg",
            "description": "An instance of fpml5.confirmation.FeeLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FeeLeg",
                    "pattern": "^fpml5\\.confirmation\\.FeeLeg$",
                    "description": "The class identifier for this type"
                },
                "marketFixedRate": {
                    "type": "number"
                },
                "paymentDelay": {
                    "type": "boolean"
                },
                "initialPoints": {
                    "type": "number"
                },
                "marketPrice": {
                    "type": "number"
                },
                "quotationStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationStyleEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FinalCalculationPeriodDateAdjustment": {
            "title": "FinalCalculationPeriodDateAdjustment",
            "description": "An instance of fpml5.confirmation.FinalCalculationPeriodDateAdjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FinalCalculationPeriodDateAdjustment",
                    "pattern": "^fpml5\\.confirmation\\.FinalCalculationPeriodDateAdjustment$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                }
            },
            "required": ["$class", "businessDayConvention"]
        },
        "fpml5.confirmation.FirstPeriodStartDate": {
            "title": "FirstPeriodStartDate",
            "description": "An instance of fpml5.confirmation.FirstPeriodStartDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FirstPeriodStartDate",
                    "pattern": "^fpml5\\.confirmation\\.FirstPeriodStartDate$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FixedAmountCalculation": {
            "title": "FixedAmountCalculation",
            "description": "An instance of fpml5.confirmation.FixedAmountCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedAmountCalculation",
                    "pattern": "^fpml5\\.confirmation\\.FixedAmountCalculation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FixedPaymentAmount": {
            "title": "FixedPaymentAmount",
            "description": "An instance of fpml5.confirmation.FixedPaymentAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedPaymentAmount",
                    "pattern": "^fpml5\\.confirmation\\.FixedPaymentAmount$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FixedPaymentLeg": {
            "title": "FixedPaymentLeg",
            "description": "An instance of fpml5.confirmation.FixedPaymentLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedPaymentLeg",
                    "pattern": "^fpml5\\.confirmation\\.FixedPaymentLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FixedPrice": {
            "title": "FixedPrice",
            "description": "An instance of fpml5.confirmation.FixedPrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedPrice",
                    "pattern": "^fpml5\\.confirmation\\.FixedPrice$",
                    "description": "The class identifier for this type"
                },
                "price": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "price"]
        },
        "fpml5.confirmation.FixedPriceLeg": {
            "title": "FixedPriceLeg",
            "description": "An instance of fpml5.confirmation.FixedPriceLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedPriceLeg",
                    "pattern": "^fpml5\\.confirmation\\.FixedPriceLeg$",
                    "description": "The class identifier for this type"
                },
                "worldscaleRate": {
                    "type": "number"
                },
                "totalNotionalQuantity": {
                    "type": "number"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "flatRate": {
                    "$ref": "#/definitions/fpml5.confirmation.FlatRateEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FixedRate": {
            "title": "FixedRate",
            "description": "An instance of fpml5.confirmation.FixedRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedRate",
                    "pattern": "^fpml5\\.confirmation\\.FixedRate$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FixedRateAccrual": {
            "title": "FixedRateAccrual",
            "description": "An instance of fpml5.confirmation.FixedRateAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedRateAccrual",
                    "pattern": "^fpml5\\.confirmation\\.FixedRateAccrual$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "numberOfDays": {
                    "type": "number"
                },
                "penaltySpread": {
                    "type": "number"
                },
                "defaultSpread": {
                    "type": "number"
                },
                "mandatoryCostRate": {
                    "type": "number"
                },
                "allInRate": {
                    "type": "number"
                },
                "rate": {
                    "type": "number"
                },
                "pikSpread": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "numberOfDays", "rate"]
        },
        "fpml5.confirmation.FixedRateOption": {
            "title": "FixedRateOption",
            "description": "An instance of fpml5.confirmation.FixedRateOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedRateOption",
                    "pattern": "^fpml5\\.confirmation\\.FixedRateOption$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "drawdownNoticeDays": {
                    "type": "integer"
                },
                "fxRateSetNoticeDays": {
                    "type": "integer"
                },
                "rateSetNoticeDays": {
                    "type": "integer"
                },
                "rate": {
                    "type": "number"
                },
                "pikSpread": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "rate"]
        },
        "fpml5.confirmation.FixedRateOptionChange": {
            "title": "FixedRateOptionChange",
            "description": "An instance of fpml5.confirmation.FixedRateOptionChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedRateOptionChange",
                    "pattern": "^fpml5\\.confirmation\\.FixedRateOptionChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.FixedRateReference": {
            "title": "FixedRateReference",
            "description": "An instance of fpml5.confirmation.FixedRateReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FixedRateReference",
                    "pattern": "^fpml5\\.confirmation\\.FixedRateReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingAmountCalculation": {
            "title": "FloatingAmountCalculation",
            "description": "An instance of fpml5.confirmation.FloatingAmountCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingAmountCalculation",
                    "pattern": "^fpml5\\.confirmation\\.FloatingAmountCalculation$",
                    "description": "The class identifier for this type"
                },
                "initialFixingDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingAmountEvents": {
            "title": "FloatingAmountEvents",
            "description": "An instance of fpml5.confirmation.FloatingAmountEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingAmountEvents",
                    "pattern": "^fpml5\\.confirmation\\.FloatingAmountEvents$",
                    "description": "The class identifier for this type"
                },
                "failureToPayPrincipal": {
                    "type": "boolean"
                },
                "writedown": {
                    "type": "boolean"
                },
                "impliedWritedown": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingAmountProvisions": {
            "title": "FloatingAmountProvisions",
            "description": "An instance of fpml5.confirmation.FloatingAmountProvisions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingAmountProvisions",
                    "pattern": "^fpml5\\.confirmation\\.FloatingAmountProvisions$",
                    "description": "The class identifier for this type"
                },
                "wACCapInterestProvision": {
                    "type": "boolean"
                },
                "stepUpProvision": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingLegCalculation": {
            "title": "FloatingLegCalculation",
            "description": "An instance of fpml5.confirmation.FloatingLegCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingLegCalculation",
                    "pattern": "^fpml5\\.confirmation\\.FloatingLegCalculation$",
                    "description": "The class identifier for this type"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "conversionFactor": {
                    "type": "number"
                },
                "spreadPercentage": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingPriceLeg": {
            "title": "FloatingPriceLeg",
            "description": "An instance of fpml5.confirmation.FloatingPriceLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingPriceLeg",
                    "pattern": "^fpml5\\.confirmation\\.FloatingPriceLeg$",
                    "description": "The class identifier for this type"
                },
                "totalNotionalQuantity": {
                    "type": "number"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "flatRate": {
                    "$ref": "#/definitions/fpml5.confirmation.FlatRateEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRate": {
            "title": "FloatingRate",
            "description": "An instance of fpml5.confirmation.FloatingRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRate",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRate$",
                    "description": "The class identifier for this type"
                },
                "rateTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.RateTreatmentEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRateAccrual": {
            "title": "FloatingRateAccrual",
            "description": "An instance of fpml5.confirmation.FloatingRateAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateAccrual",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateAccrual$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "numberOfDays": {
                    "type": "number"
                },
                "rateFixingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "baseRate": {
                    "type": "number"
                },
                "penaltySpread": {
                    "type": "number"
                },
                "defaultSpread": {
                    "type": "number"
                },
                "mandatoryCostRate": {
                    "type": "number"
                },
                "allInRate": {
                    "type": "number"
                },
                "spread": {
                    "type": "number"
                },
                "pikSpread": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "numberOfDays", "spread"]
        },
        "fpml5.confirmation.FloatingRateCalculation": {
            "title": "FloatingRateCalculation",
            "description": "An instance of fpml5.confirmation.FloatingRateCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateCalculation",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateCalculation$",
                    "description": "The class identifier for this type"
                },
                "initialRate": {
                    "type": "number"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "negativeInterestRateTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.NegativeInterestRateTreatmentEnum"
                },
                "rateTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.RateTreatmentEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRateCalculationReference": {
            "title": "FloatingRateCalculationReference",
            "description": "An instance of fpml5.confirmation.FloatingRateCalculationReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateCalculationReference",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateCalculationReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRateDefinition": {
            "title": "FloatingRateDefinition",
            "description": "An instance of fpml5.confirmation.FloatingRateDefinition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateDefinition",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateDefinition$",
                    "description": "The class identifier for this type"
                },
                "calculatedRate": {
                    "type": "number"
                },
                "floatingRateMultiplier": {
                    "type": "number"
                },
                "spread": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRateIndex": {
            "title": "FloatingRateIndex",
            "description": "An instance of fpml5.confirmation.FloatingRateIndex",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateIndex",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateIndex$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "floatingRateIndexScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRateIndexLoan": {
            "title": "FloatingRateIndexLoan",
            "description": "An instance of fpml5.confirmation.FloatingRateIndexLoan",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateIndexLoan",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateIndexLoan$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "floatingRateIndexScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FloatingRateOption": {
            "title": "FloatingRateOption",
            "description": "An instance of fpml5.confirmation.FloatingRateOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateOption",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateOption$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "drawdownNoticeDays": {
                    "type": "integer"
                },
                "fxRateSetNoticeDays": {
                    "type": "integer"
                },
                "rateSetNoticeDays": {
                    "type": "integer"
                },
                "spread": {
                    "type": "number"
                },
                "pikSpread": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "spread"]
        },
        "fpml5.confirmation.FloatingRateOptionChange": {
            "title": "FloatingRateOptionChange",
            "description": "An instance of fpml5.confirmation.FloatingRateOptionChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingRateOptionChange",
                    "pattern": "^fpml5\\.confirmation\\.FloatingRateOptionChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.FloatingStrikePrice": {
            "title": "FloatingStrikePrice",
            "description": "An instance of fpml5.confirmation.FloatingStrikePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FloatingStrikePrice",
                    "pattern": "^fpml5\\.confirmation\\.FloatingStrikePrice$",
                    "description": "The class identifier for this type"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "conversionFactor": {
                    "type": "number"
                },
                "spreadPercentage": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ForecastRateIndex": {
            "title": "ForecastRateIndex",
            "description": "An instance of fpml5.confirmation.ForecastRateIndex",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ForecastRateIndex",
                    "pattern": "^fpml5\\.confirmation\\.ForecastRateIndex$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Formula": {
            "title": "Formula",
            "description": "An instance of fpml5.confirmation.Formula",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Formula",
                    "pattern": "^fpml5\\.confirmation\\.Formula$",
                    "description": "The class identifier for this type"
                },
                "formulaDescription": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FormulaComponent": {
            "title": "FormulaComponent",
            "description": "An instance of fpml5.confirmation.FormulaComponent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FormulaComponent",
                    "pattern": "^fpml5\\.confirmation\\.FormulaComponent$",
                    "description": "The class identifier for this type"
                },
                "componentDescription": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": ["$class", "componentDescription"]
        },
        "fpml5.confirmation.FormulaTerm": {
            "title": "FormulaTerm",
            "description": "An instance of fpml5.confirmation.FormulaTerm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FormulaTerm",
                    "pattern": "^fpml5\\.confirmation\\.FormulaTerm$",
                    "description": "The class identifier for this type"
                },
                "coefficient": {
                    "type": "number"
                }
            },
            "required": ["$class", "coefficient"]
        },
        "fpml5.confirmation.ForwardRateCurve": {
            "title": "ForwardRateCurve",
            "description": "An instance of fpml5.confirmation.ForwardRateCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ForwardRateCurve",
                    "pattern": "^fpml5\\.confirmation\\.ForwardRateCurve$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FpML": {
            "title": "FpML",
            "description": "An instance of fpml5.confirmation.FpML",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FpML",
                    "pattern": "^fpml5\\.confirmation\\.FpML$",
                    "description": "The class identifier for this type"
                },
                "mixed": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Fra": {
            "title": "Fra",
            "description": "An instance of fpml5.confirmation.Fra",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Fra",
                    "pattern": "^fpml5\\.confirmation\\.Fra$",
                    "description": "The class identifier for this type"
                },
                "adjustedTerminationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "calculationPeriodNumberOfDays": {
                    "type": "integer"
                },
                "fraDiscounting": {
                    "$ref": "#/definitions/fpml5.confirmation.FraDiscountingEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedTerminationDate", "calculationPeriodNumberOfDays", "fraDiscounting"]
        },
        "fpml5.confirmation.Frequency": {
            "title": "Frequency",
            "description": "An instance of fpml5.confirmation.Frequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Frequency",
                    "pattern": "^fpml5\\.confirmation\\.Frequency$",
                    "description": "The class identifier for this type"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodExtendedEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.FundingFeePayment": {
            "title": "FundingFeePayment",
            "description": "An instance of fpml5.confirmation.FundingFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FundingFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.FundingFeePayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.Future": {
            "title": "Future",
            "description": "An instance of fpml5.confirmation.Future",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Future",
                    "pattern": "^fpml5\\.confirmation\\.Future$",
                    "description": "The class identifier for this type"
                },
                "multiplier": {
                    "type": "number"
                },
                "futureContractReference": {
                    "type": "string"
                },
                "maturity": {
                    "format": "date-time",
                    "type": "string"
                },
                "contractYearMonth": {
                    "format": "date-time",
                    "type": "string"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FutureId": {
            "title": "FutureId",
            "description": "An instance of fpml5.confirmation.FutureId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FutureId",
                    "pattern": "^fpml5\\.confirmation\\.FutureId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "futureIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FutureValueAmount": {
            "title": "FutureValueAmount",
            "description": "An instance of fpml5.confirmation.FutureValueAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FutureValueAmount",
                    "pattern": "^fpml5\\.confirmation\\.FutureValueAmount$",
                    "description": "The class identifier for this type"
                },
                "calculationPeriodNumberOfDays": {
                    "type": "integer"
                },
                "valueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "calculationPeriodNumberOfDays", "valueDate", "amount"]
        },
        "fpml5.confirmation.FxAccrual": {
            "title": "FxAccrual",
            "description": "An instance of fpml5.confirmation.FxAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrual",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrual$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualAverageStrikeReference": {
            "title": "FxAccrualAverageStrikeReference",
            "description": "An instance of fpml5.confirmation.FxAccrualAverageStrikeReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualAverageStrikeReference",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualAverageStrikeReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualBarrier": {
            "title": "FxAccrualBarrier",
            "description": "An instance of fpml5.confirmation.FxAccrualBarrier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualBarrier",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualBarrier$",
                    "description": "The class identifier for this type"
                },
                "accrualRetention": {
                    "$ref": "#/definitions/fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnum"
                },
                "barrierType": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierTypeSimpleEnum"
                },
                "style": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierStyleEnum"
                },
                "scope": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierScopeEnum"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionEnum"
                },
                "observationStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "barrierType", "style", "scope", "condition"]
        },
        "fpml5.confirmation.FxAccrualDigitalOption": {
            "title": "FxAccrualDigitalOption",
            "description": "An instance of fpml5.confirmation.FxAccrualDigitalOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualDigitalOption",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualDigitalOption$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualForward": {
            "title": "FxAccrualForward",
            "description": "An instance of fpml5.confirmation.FxAccrualForward",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualForward",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualForward$",
                    "description": "The class identifier for this type"
                },
                "spotRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualLeverage": {
            "title": "FxAccrualLeverage",
            "description": "An instance of fpml5.confirmation.FxAccrualLeverage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualLeverage",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualLeverage$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionEnum"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "condition"]
        },
        "fpml5.confirmation.FxAccrualLinearPayoffRegion": {
            "title": "FxAccrualLinearPayoffRegion",
            "description": "An instance of fpml5.confirmation.FxAccrualLinearPayoffRegion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualLinearPayoffRegion",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualLinearPayoffRegion$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualOption": {
            "title": "FxAccrualOption",
            "description": "An instance of fpml5.confirmation.FxAccrualOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualOption",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualOption$",
                    "description": "The class identifier for this type"
                },
                "spotRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualPayoffRegionReference": {
            "title": "FxAccrualPayoffRegionReference",
            "description": "An instance of fpml5.confirmation.FxAccrualPayoffRegionReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualPayoffRegionReference",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualPayoffRegionReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualRegion": {
            "title": "FxAccrualRegion",
            "description": "An instance of fpml5.confirmation.FxAccrualRegion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualRegion",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualRegion$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualRegionLowerBound": {
            "title": "FxAccrualRegionLowerBound",
            "description": "An instance of fpml5.confirmation.FxAccrualRegionLowerBound",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualRegionLowerBound",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualRegionLowerBound$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.FxRegionLowerBoundDirectionEnum"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                }
            },
            "required": ["$class", "condition"]
        },
        "fpml5.confirmation.FxAccrualRegionUpperBound": {
            "title": "FxAccrualRegionUpperBound",
            "description": "An instance of fpml5.confirmation.FxAccrualRegionUpperBound",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualRegionUpperBound",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualRegionUpperBound$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.FxRegionUpperBoundDirectionEnum"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                }
            },
            "required": ["$class", "condition"]
        },
        "fpml5.confirmation.FxAccrualSettlementPeriod": {
            "title": "FxAccrualSettlementPeriod",
            "description": "An instance of fpml5.confirmation.FxAccrualSettlementPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualSettlementPeriod",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualSettlementPeriod$",
                    "description": "The class identifier for this type"
                },
                "accrualFactor": {
                    "type": "number"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "settlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "notionalAmount": {
                    "type": "number"
                }
            },
            "required": ["$class", "expiryDate", "settlementDate", "notionalAmount"]
        },
        "fpml5.confirmation.FxAccrualSettlementPeriodPayoff": {
            "title": "FxAccrualSettlementPeriodPayoff",
            "description": "An instance of fpml5.confirmation.FxAccrualSettlementPeriodPayoff",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualSettlementPeriodPayoff",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualSettlementPeriodPayoff$",
                    "description": "The class identifier for this type"
                },
                "strike": {
                    "type": "number"
                },
                "counterCurrencyAmount": {
                    "type": "number"
                },
                "lowerBound": {
                    "type": "number"
                },
                "upperBound": {
                    "type": "number"
                },
                "payoffCap": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualSettlementPeriodSchedule": {
            "title": "FxAccrualSettlementPeriodSchedule",
            "description": "An instance of fpml5.confirmation.FxAccrualSettlementPeriodSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualSettlementPeriodSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualSettlementPeriodSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualStrike": {
            "title": "FxAccrualStrike",
            "description": "An instance of fpml5.confirmation.FxAccrualStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualStrike",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualStrike$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.FxAccrualStrikeReference": {
            "title": "FxAccrualStrikeReference",
            "description": "An instance of fpml5.confirmation.FxAccrualStrikeReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualStrikeReference",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualStrikeReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAccrualTrigger": {
            "title": "FxAccrualTrigger",
            "description": "An instance of fpml5.confirmation.FxAccrualTrigger",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualTrigger",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualTrigger$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                },
                "triggerCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                },
                "triggerRate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "triggerCondition", "triggerRate"]
        },
        "fpml5.confirmation.FxAccrualTriggerReference": {
            "title": "FxAccrualTriggerReference",
            "description": "An instance of fpml5.confirmation.FxAccrualTriggerReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAccrualTriggerReference",
                    "pattern": "^fpml5\\.confirmation\\.FxAccrualTriggerReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAdjustedDateAndDateAdjustments": {
            "title": "FxAdjustedDateAndDateAdjustments",
            "description": "An instance of fpml5.confirmation.FxAdjustedDateAndDateAdjustments",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAdjustedDateAndDateAdjustments",
                    "pattern": "^fpml5\\.confirmation\\.FxAdjustedDateAndDateAdjustments$",
                    "description": "The class identifier for this type"
                },
                "adjustedDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedDate"]
        },
        "fpml5.confirmation.FxAmericanExercise": {
            "title": "FxAmericanExercise",
            "description": "An instance of fpml5.confirmation.FxAmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.FxAmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "latestValueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "expiryDate", "latestValueDate"]
        },
        "fpml5.confirmation.FxAsianFeature": {
            "title": "FxAsianFeature",
            "description": "An instance of fpml5.confirmation.FxAsianFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAsianFeature",
                    "pattern": "^fpml5\\.confirmation\\.FxAsianFeature$",
                    "description": "The class identifier for this type"
                },
                "rateObservationQuoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.StrikeQuoteBasisEnum"
                },
                "rateObservationQuoteBasis1": {
                    "$ref": "#/definitions/fpml5.confirmation.StrikeQuoteBasisEnum"
                },
                "payoutFormula": {
                    "type": "string"
                },
                "precision": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxAverageRate": {
            "title": "FxAverageRate",
            "description": "An instance of fpml5.confirmation.FxAverageRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAverageRate",
                    "pattern": "^fpml5\\.confirmation\\.FxAverageRate$",
                    "description": "The class identifier for this type"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.FxAveragingMethodEnum"
                },
                "precision": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "averagingMethod"]
        },
        "fpml5.confirmation.FxAverageRateObservation": {
            "title": "FxAverageRateObservation",
            "description": "An instance of fpml5.confirmation.FxAverageRateObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAverageRateObservation",
                    "pattern": "^fpml5\\.confirmation\\.FxAverageRateObservation$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                },
                "averageRateWeightingFactor": {
                    "type": "number"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "date", "averageRateWeightingFactor"]
        },
        "fpml5.confirmation.FxAverageRateObservationSchedule": {
            "title": "FxAverageRateObservationSchedule",
            "description": "An instance of fpml5.confirmation.FxAverageRateObservationSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAverageRateObservationSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxAverageRateObservationSchedule$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate"]
        },
        "fpml5.confirmation.FxAverageStrike": {
            "title": "FxAverageStrike",
            "description": "An instance of fpml5.confirmation.FxAverageStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAverageStrike",
                    "pattern": "^fpml5\\.confirmation\\.FxAverageStrike$",
                    "description": "The class identifier for this type"
                },
                "strikeAdjustment": {
                    "type": "number"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.FxAveragingMethodEnum"
                },
                "precision": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "averagingMethod"]
        },
        "fpml5.confirmation.FxAveragingProcess": {
            "title": "FxAveragingProcess",
            "description": "An instance of fpml5.confirmation.FxAveragingProcess",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxAveragingProcess",
                    "pattern": "^fpml5\\.confirmation\\.FxAveragingProcess$",
                    "description": "The class identifier for this type"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.FxAveragingMethodEnum"
                },
                "precision": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "averagingMethod"]
        },
        "fpml5.confirmation.FxBarrierFeature": {
            "title": "FxBarrierFeature",
            "description": "An instance of fpml5.confirmation.FxBarrierFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxBarrierFeature",
                    "pattern": "^fpml5\\.confirmation\\.FxBarrierFeature$",
                    "description": "The class identifier for this type"
                },
                "barrierType": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierTypeEnum"
                },
                "direction": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierDirectionEnum"
                },
                "triggerRate": {
                    "type": "number"
                },
                "observationStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationEndDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "barrierType", "triggerRate"]
        },
        "fpml5.confirmation.FxBusinessCenterDateTime": {
            "title": "FxBusinessCenterDateTime",
            "description": "An instance of fpml5.confirmation.FxBusinessCenterDateTime",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxBusinessCenterDateTime",
                    "pattern": "^fpml5\\.confirmation\\.FxBusinessCenterDateTime$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "date"]
        },
        "fpml5.confirmation.FxCashSettlement": {
            "title": "FxCashSettlement",
            "description": "An instance of fpml5.confirmation.FxCashSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxCashSettlement",
                    "pattern": "^fpml5\\.confirmation\\.FxCashSettlement$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxCashSettlementSimple": {
            "title": "FxCashSettlementSimple",
            "description": "An instance of fpml5.confirmation.FxCashSettlementSimple",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxCashSettlementSimple",
                    "pattern": "^fpml5\\.confirmation\\.FxCashSettlementSimple$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxComplexBarrierBase": {
            "title": "FxComplexBarrierBase",
            "description": "An instance of fpml5.confirmation.FxComplexBarrierBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxComplexBarrierBase",
                    "pattern": "^fpml5\\.confirmation\\.FxComplexBarrierBase$",
                    "description": "The class identifier for this type"
                },
                "barrierType": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierTypeSimpleEnum"
                },
                "style": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierStyleEnum"
                },
                "scope": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierScopeEnum"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionEnum"
                },
                "observationStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "barrierType", "style", "scope", "condition"]
        },
        "fpml5.confirmation.FxComplexBarrierBaseReference": {
            "title": "FxComplexBarrierBaseReference",
            "description": "An instance of fpml5.confirmation.FxComplexBarrierBaseReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxComplexBarrierBaseReference",
                    "pattern": "^fpml5\\.confirmation\\.FxComplexBarrierBaseReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxConversion": {
            "title": "FxConversion",
            "description": "An instance of fpml5.confirmation.FxConversion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxConversion",
                    "pattern": "^fpml5\\.confirmation\\.FxConversion$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxCounterCurrencyAmount": {
            "title": "FxCounterCurrencyAmount",
            "description": "An instance of fpml5.confirmation.FxCounterCurrencyAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxCounterCurrencyAmount",
                    "pattern": "^fpml5\\.confirmation\\.FxCounterCurrencyAmount$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.FxCrossRateObservable": {
            "title": "FxCrossRateObservable",
            "description": "An instance of fpml5.confirmation.FxCrossRateObservable",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxCrossRateObservable",
                    "pattern": "^fpml5\\.confirmation\\.FxCrossRateObservable$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxCurve": {
            "title": "FxCurve",
            "description": "An instance of fpml5.confirmation.FxCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxCurve",
                    "pattern": "^fpml5\\.confirmation\\.FxCurve$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxCurveValuation": {
            "title": "FxCurveValuation",
            "description": "An instance of fpml5.confirmation.FxCurveValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxCurveValuation",
                    "pattern": "^fpml5\\.confirmation\\.FxCurveValuation$",
                    "description": "The class identifier for this type"
                },
                "buildDateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxDateOffset": {
            "title": "FxDateOffset",
            "description": "An instance of fpml5.confirmation.FxDateOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDateOffset",
                    "pattern": "^fpml5\\.confirmation\\.FxDateOffset$",
                    "description": "The class identifier for this type"
                },
                "convention": {
                    "$ref": "#/definitions/fpml5.confirmation.FxOffsetConventionEnum"
                }
            },
            "required": ["$class", "convention"]
        },
        "fpml5.confirmation.FxDigitalAmericanExercise": {
            "title": "FxDigitalAmericanExercise",
            "description": "An instance of fpml5.confirmation.FxDigitalAmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDigitalAmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.FxDigitalAmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "latestValueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "expiryDate", "latestValueDate"]
        },
        "fpml5.confirmation.FxDigitalOption": {
            "title": "FxDigitalOption",
            "description": "An instance of fpml5.confirmation.FxDigitalOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDigitalOption",
                    "pattern": "^fpml5\\.confirmation\\.FxDigitalOption$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxDisruption": {
            "title": "FxDisruption",
            "description": "An instance of fpml5.confirmation.FxDisruption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDisruption",
                    "pattern": "^fpml5\\.confirmation\\.FxDisruption$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxDisruptionEvent": {
            "title": "FxDisruptionEvent",
            "description": "An instance of fpml5.confirmation.FxDisruptionEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDisruptionEvent",
                    "pattern": "^fpml5\\.confirmation\\.FxDisruptionEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxDisruptionEvents": {
            "title": "FxDisruptionEvents",
            "description": "An instance of fpml5.confirmation.FxDisruptionEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDisruptionEvents",
                    "pattern": "^fpml5\\.confirmation\\.FxDisruptionEvents$",
                    "description": "The class identifier for this type"
                },
                "fxDisruptionEventGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "fxDisruptionEventGroup"]
        },
        "fpml5.confirmation.FxDisruptionFallback": {
            "title": "FxDisruptionFallback",
            "description": "An instance of fpml5.confirmation.FxDisruptionFallback",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDisruptionFallback",
                    "pattern": "^fpml5\\.confirmation\\.FxDisruptionFallback$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxDisruptionFallbacks": {
            "title": "FxDisruptionFallbacks",
            "description": "An instance of fpml5.confirmation.FxDisruptionFallbacks",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDisruptionFallbacks",
                    "pattern": "^fpml5\\.confirmation\\.FxDisruptionFallbacks$",
                    "description": "The class identifier for this type"
                },
                "fxDisruptionFallbackGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "fxDisruptionFallbackGroup"]
        },
        "fpml5.confirmation.FxDisruptionProvisions": {
            "title": "FxDisruptionProvisions",
            "description": "An instance of fpml5.confirmation.FxDisruptionProvisions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxDisruptionProvisions",
                    "pattern": "^fpml5\\.confirmation\\.FxDisruptionProvisions$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxEuropeanExercise": {
            "title": "FxEuropeanExercise",
            "description": "An instance of fpml5.confirmation.FxEuropeanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxEuropeanExercise",
                    "pattern": "^fpml5\\.confirmation\\.FxEuropeanExercise$",
                    "description": "The class identifier for this type"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "valueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "expiryDate", "valueDate"]
        },
        "fpml5.confirmation.FxExchangedCurrency": {
            "title": "FxExchangedCurrency",
            "description": "An instance of fpml5.confirmation.FxExchangedCurrency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxExchangedCurrency",
                    "pattern": "^fpml5\\.confirmation\\.FxExchangedCurrency$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxExpiryDate": {
            "title": "FxExpiryDate",
            "description": "An instance of fpml5.confirmation.FxExpiryDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxExpiryDate",
                    "pattern": "^fpml5\\.confirmation\\.FxExpiryDate$",
                    "description": "The class identifier for this type"
                },
                "adjustedDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedDate"]
        },
        "fpml5.confirmation.FxExpirySchedule": {
            "title": "FxExpirySchedule",
            "description": "An instance of fpml5.confirmation.FxExpirySchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxExpirySchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxExpirySchedule$",
                    "description": "The class identifier for this type"
                },
                "finalExpiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedDate": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "adjustedDate1": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFallbackReferencePrice": {
            "title": "FxFallbackReferencePrice",
            "description": "An instance of fpml5.confirmation.FxFallbackReferencePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFallbackReferencePrice",
                    "pattern": "^fpml5\\.confirmation\\.FxFallbackReferencePrice$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFeature": {
            "title": "FxFeature",
            "description": "An instance of fpml5.confirmation.FxFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFeature",
                    "pattern": "^fpml5\\.confirmation\\.FxFeature$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFixing": {
            "title": "FxFixing",
            "description": "An instance of fpml5.confirmation.FxFixing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFixing",
                    "pattern": "^fpml5\\.confirmation\\.FxFixing$",
                    "description": "The class identifier for this type"
                },
                "fixingDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFixingDate": {
            "title": "FxFixingDate",
            "description": "An instance of fpml5.confirmation.FxFixingDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFixingDate",
                    "pattern": "^fpml5\\.confirmation\\.FxFixingDate$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.FxFixingObservation": {
            "title": "FxFixingObservation",
            "description": "An instance of fpml5.confirmation.FxFixingObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFixingObservation",
                    "pattern": "^fpml5\\.confirmation\\.FxFixingObservation$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                },
                "weight": {
                    "type": "number"
                }
            },
            "required": ["$class", "date"]
        },
        "fpml5.confirmation.FxFixingSchedule": {
            "title": "FxFixingSchedule",
            "description": "An instance of fpml5.confirmation.FxFixingSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFixingSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxFixingSchedule$",
                    "description": "The class identifier for this type"
                },
                "fixingDate": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "numberOfFixings": {
                    "type": "integer"
                },
                "fixingDate1": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFixingScheduleSimple": {
            "title": "FxFixingScheduleSimple",
            "description": "An instance of fpml5.confirmation.FxFixingScheduleSimple",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFixingScheduleSimple",
                    "pattern": "^fpml5\\.confirmation\\.FxFixingScheduleSimple$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "fixingDate": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFlexibleForward": {
            "title": "FxFlexibleForward",
            "description": "An instance of fpml5.confirmation.FxFlexibleForward",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFlexibleForward",
                    "pattern": "^fpml5\\.confirmation\\.FxFlexibleForward$",
                    "description": "The class identifier for this type"
                },
                "finalSettlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxFlexibleForwardExecutionPeriod": {
            "title": "FxFlexibleForwardExecutionPeriod",
            "description": "An instance of fpml5.confirmation.FxFlexibleForwardExecutionPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFlexibleForwardExecutionPeriod",
                    "pattern": "^fpml5\\.confirmation\\.FxFlexibleForwardExecutionPeriod$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "expiryDate", "id"]
        },
        "fpml5.confirmation.FxFlexibleForwardRate": {
            "title": "FxFlexibleForwardRate",
            "description": "An instance of fpml5.confirmation.FxFlexibleForwardRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxFlexibleForwardRate",
                    "pattern": "^fpml5\\.confirmation\\.FxFlexibleForwardRate$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                }
            },
            "required": ["$class", "rate", "quoteBasis"]
        },
        "fpml5.confirmation.FxForwardStrikePrice": {
            "title": "FxForwardStrikePrice",
            "description": "An instance of fpml5.confirmation.FxForwardStrikePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxForwardStrikePrice",
                    "pattern": "^fpml5\\.confirmation\\.FxForwardStrikePrice$",
                    "description": "The class identifier for this type"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quoteBasis", "initialValue"]
        },
        "fpml5.confirmation.FxForwardVolatilityAgreement": {
            "title": "FxForwardVolatilityAgreement",
            "description": "An instance of fpml5.confirmation.FxForwardVolatilityAgreement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxForwardVolatilityAgreement",
                    "pattern": "^fpml5\\.confirmation\\.FxForwardVolatilityAgreement$",
                    "description": "The class identifier for this type"
                },
                "fixingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "forwardVolatilityStrikePrice": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "fixingDate", "forwardVolatilityStrikePrice"]
        },
        "fpml5.confirmation.FxInformationSource": {
            "title": "FxInformationSource",
            "description": "An instance of fpml5.confirmation.FxInformationSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxInformationSource",
                    "pattern": "^fpml5\\.confirmation\\.FxInformationSource$",
                    "description": "The class identifier for this type"
                },
                "rateSourcePageHeading": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxKnockoutCount": {
            "title": "FxKnockoutCount",
            "description": "An instance of fpml5.confirmation.FxKnockoutCount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxKnockoutCount",
                    "pattern": "^fpml5\\.confirmation\\.FxKnockoutCount$",
                    "description": "The class identifier for this type"
                },
                "conditionalFixings": {
                    "type": "integer"
                },
                "settlementAtKnockout": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "conditionalFixings", "settlementAtKnockout"]
        },
        "fpml5.confirmation.FxKnockoutLevel": {
            "title": "FxKnockoutLevel",
            "description": "An instance of fpml5.confirmation.FxKnockoutLevel",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxKnockoutLevel",
                    "pattern": "^fpml5\\.confirmation\\.FxKnockoutLevel$",
                    "description": "The class identifier for this type"
                },
                "intrinsicValue": {
                    "type": "number"
                },
                "targetStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.FxTargetStyleEnum"
                },
                "settlementAdjustmentStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.FxSettlementAdjustmentMethodEnum"
                }
            },
            "required": ["$class", "targetStyle"]
        },
        "fpml5.confirmation.FxLevel": {
            "title": "FxLevel",
            "description": "An instance of fpml5.confirmation.FxLevel",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxLevel",
                    "pattern": "^fpml5\\.confirmation\\.FxLevel$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.FxLevelReference": {
            "title": "FxLevelReference",
            "description": "An instance of fpml5.confirmation.FxLevelReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxLevelReference",
                    "pattern": "^fpml5\\.confirmation\\.FxLevelReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxLinkedNotionalAmount": {
            "title": "FxLinkedNotionalAmount",
            "description": "An instance of fpml5.confirmation.FxLinkedNotionalAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxLinkedNotionalAmount",
                    "pattern": "^fpml5\\.confirmation\\.FxLinkedNotionalAmount$",
                    "description": "The class identifier for this type"
                },
                "resetDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedFxSpotFixingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observedFxSpotRate": {
                    "type": "number"
                },
                "notionalAmount": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxLinkedNotionalSchedule": {
            "title": "FxLinkedNotionalSchedule",
            "description": "An instance of fpml5.confirmation.FxLinkedNotionalSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxLinkedNotionalSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxLinkedNotionalSchedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxMultipleExercise": {
            "title": "FxMultipleExercise",
            "description": "An instance of fpml5.confirmation.FxMultipleExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxMultipleExercise",
                    "pattern": "^fpml5\\.confirmation\\.FxMultipleExercise$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxOption": {
            "title": "FxOption",
            "description": "An instance of fpml5.confirmation.FxOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxOption",
                    "pattern": "^fpml5\\.confirmation\\.FxOption$",
                    "description": "The class identifier for this type"
                },
                "soldAs": {
                    "$ref": "#/definitions/fpml5.confirmation.PutCallEnum"
                },
                "spotRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxOptionFeatures": {
            "title": "FxOptionFeatures",
            "description": "An instance of fpml5.confirmation.FxOptionFeatures",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxOptionFeatures",
                    "pattern": "^fpml5\\.confirmation\\.FxOptionFeatures$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxOptionPayout": {
            "title": "FxOptionPayout",
            "description": "An instance of fpml5.confirmation.FxOptionPayout",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxOptionPayout",
                    "pattern": "^fpml5\\.confirmation\\.FxOptionPayout$",
                    "description": "The class identifier for this type"
                },
                "payoutStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.PayoutEnum"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "payoutStyle", "amount"]
        },
        "fpml5.confirmation.FxOptionPremium": {
            "title": "FxOptionPremium",
            "description": "An instance of fpml5.confirmation.FxOptionPremium",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxOptionPremium",
                    "pattern": "^fpml5\\.confirmation\\.FxOptionPremium$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxOptionStrikePrice": {
            "title": "FxOptionStrikePrice",
            "description": "An instance of fpml5.confirmation.FxOptionStrikePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxOptionStrikePrice",
                    "pattern": "^fpml5\\.confirmation\\.FxOptionStrikePrice$",
                    "description": "The class identifier for this type"
                },
                "strikeQuoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.StrikeQuoteBasisEnum"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "strikeQuoteBasis", "initialValue"]
        },
        "fpml5.confirmation.FxOutstandingGain": {
            "title": "FxOutstandingGain",
            "description": "An instance of fpml5.confirmation.FxOutstandingGain",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxOutstandingGain",
                    "pattern": "^fpml5\\.confirmation\\.FxOutstandingGain$",
                    "description": "The class identifier for this type"
                },
                "settlementAdjustmentStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.FxSettlementAdjustmentMethodEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxPayoffCap": {
            "title": "FxPayoffCap",
            "description": "An instance of fpml5.confirmation.FxPayoffCap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxPayoffCap",
                    "pattern": "^fpml5\\.confirmation\\.FxPayoffCap$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionEnum"
                },
                "settlementAdjustmentStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.FxSettlementAdjustmentMethodEnum"
                }
            },
            "required": ["$class", "condition", "settlementAdjustmentStyle"]
        },
        "fpml5.confirmation.FxPerformanceFixedLeg": {
            "title": "FxPerformanceFixedLeg",
            "description": "An instance of fpml5.confirmation.FxPerformanceFixedLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxPerformanceFixedLeg",
                    "pattern": "^fpml5\\.confirmation\\.FxPerformanceFixedLeg$",
                    "description": "The class identifier for this type"
                },
                "fixedRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "fixedRate"]
        },
        "fpml5.confirmation.FxPerformanceFloatingLeg": {
            "title": "FxPerformanceFloatingLeg",
            "description": "An instance of fpml5.confirmation.FxPerformanceFloatingLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxPerformanceFloatingLeg",
                    "pattern": "^fpml5\\.confirmation\\.FxPerformanceFloatingLeg$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxPerformanceSwap": {
            "title": "FxPerformanceSwap",
            "description": "An instance of fpml5.confirmation.FxPerformanceSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxPerformanceSwap",
                    "pattern": "^fpml5\\.confirmation\\.FxPerformanceSwap$",
                    "description": "The class identifier for this type"
                },
                "valuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "annualizationFactor": {
                    "type": "number"
                },
                "meanAdjustment": {
                    "type": "boolean"
                },
                "numberOfReturns": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "annualizationFactor", "meanAdjustment"]
        },
        "fpml5.confirmation.FxPivot": {
            "title": "FxPivot",
            "description": "An instance of fpml5.confirmation.FxPivot",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxPivot",
                    "pattern": "^fpml5\\.confirmation\\.FxPivot$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.FxPivotReference": {
            "title": "FxPivotReference",
            "description": "An instance of fpml5.confirmation.FxPivotReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxPivotReference",
                    "pattern": "^fpml5\\.confirmation\\.FxPivotReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxRangeAccrual": {
            "title": "FxRangeAccrual",
            "description": "An instance of fpml5.confirmation.FxRangeAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRangeAccrual",
                    "pattern": "^fpml5\\.confirmation\\.FxRangeAccrual$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxRate": {
            "title": "FxRate",
            "description": "An instance of fpml5.confirmation.FxRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRate",
                    "pattern": "^fpml5\\.confirmation\\.FxRate$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "rate"]
        },
        "fpml5.confirmation.FxRateAsset": {
            "title": "FxRateAsset",
            "description": "An instance of fpml5.confirmation.FxRateAsset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRateAsset",
                    "pattern": "^fpml5\\.confirmation\\.FxRateAsset$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxRateObservable": {
            "title": "FxRateObservable",
            "description": "An instance of fpml5.confirmation.FxRateObservable",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRateObservable",
                    "pattern": "^fpml5\\.confirmation\\.FxRateObservable$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxRateObservableReference": {
            "title": "FxRateObservableReference",
            "description": "An instance of fpml5.confirmation.FxRateObservableReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRateObservableReference",
                    "pattern": "^fpml5\\.confirmation\\.FxRateObservableReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxRateSet": {
            "title": "FxRateSet",
            "description": "An instance of fpml5.confirmation.FxRateSet",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRateSet",
                    "pattern": "^fpml5\\.confirmation\\.FxRateSet$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxRateSourceFixing": {
            "title": "FxRateSourceFixing",
            "description": "An instance of fpml5.confirmation.FxRateSourceFixing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxRateSourceFixing",
                    "pattern": "^fpml5\\.confirmation\\.FxRateSourceFixing$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSchedule": {
            "title": "FxSchedule",
            "description": "An instance of fpml5.confirmation.FxSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxSchedule$",
                    "description": "The class identifier for this type"
                },
                "adjustedDate": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "adjustedDate1": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxScheduleReference": {
            "title": "FxScheduleReference",
            "description": "An instance of fpml5.confirmation.FxScheduleReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxScheduleReference",
                    "pattern": "^fpml5\\.confirmation\\.FxScheduleReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSettlementPeriodBarrier": {
            "title": "FxSettlementPeriodBarrier",
            "description": "An instance of fpml5.confirmation.FxSettlementPeriodBarrier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSettlementPeriodBarrier",
                    "pattern": "^fpml5\\.confirmation\\.FxSettlementPeriodBarrier$",
                    "description": "The class identifier for this type"
                },
                "triggerRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "triggerRate"]
        },
        "fpml5.confirmation.FxSettlementRateSource": {
            "title": "FxSettlementRateSource",
            "description": "An instance of fpml5.confirmation.FxSettlementRateSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSettlementRateSource",
                    "pattern": "^fpml5\\.confirmation\\.FxSettlementRateSource$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSettlementSchedule": {
            "title": "FxSettlementSchedule",
            "description": "An instance of fpml5.confirmation.FxSettlementSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSettlementSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxSettlementSchedule$",
                    "description": "The class identifier for this type"
                },
                "finalSettlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedDate": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "adjustedDate1": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSingleLeg": {
            "title": "FxSingleLeg",
            "description": "An instance of fpml5.confirmation.FxSingleLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSingleLeg",
                    "pattern": "^fpml5\\.confirmation\\.FxSingleLeg$",
                    "description": "The class identifier for this type"
                },
                "dealtCurrency": {
                    "$ref": "#/definitions/fpml5.confirmation.DealtCurrencyEnum"
                },
                "tenorName": {
                    "$ref": "#/definitions/fpml5.confirmation.FxTenorPeriodEnum"
                },
                "valueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "currency1ValueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "currency2ValueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSpotRateSource": {
            "title": "FxSpotRateSource",
            "description": "An instance of fpml5.confirmation.FxSpotRateSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSpotRateSource",
                    "pattern": "^fpml5\\.confirmation\\.FxSpotRateSource$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxStraddle": {
            "title": "FxStraddle",
            "description": "An instance of fpml5.confirmation.FxStraddle",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxStraddle",
                    "pattern": "^fpml5\\.confirmation\\.FxStraddle$",
                    "description": "The class identifier for this type"
                },
                "straddleType": {
                    "$ref": "#/definitions/fpml5.confirmation.FxStraddleTypeEnum"
                }
            },
            "required": ["$class", "straddleType"]
        },
        "fpml5.confirmation.FxStraddlePremium": {
            "title": "FxStraddlePremium",
            "description": "An instance of fpml5.confirmation.FxStraddlePremium",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxStraddlePremium",
                    "pattern": "^fpml5\\.confirmation\\.FxStraddlePremium$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxStrike": {
            "title": "FxStrike",
            "description": "An instance of fpml5.confirmation.FxStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxStrike",
                    "pattern": "^fpml5\\.confirmation\\.FxStrike$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.FxStrikePrice": {
            "title": "FxStrikePrice",
            "description": "An instance of fpml5.confirmation.FxStrikePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxStrikePrice",
                    "pattern": "^fpml5\\.confirmation\\.FxStrikePrice$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "strikeQuoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.StrikeQuoteBasisEnum"
                }
            },
            "required": ["$class", "rate", "strikeQuoteBasis"]
        },
        "fpml5.confirmation.FxStrikeReference": {
            "title": "FxStrikeReference",
            "description": "An instance of fpml5.confirmation.FxStrikeReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxStrikeReference",
                    "pattern": "^fpml5\\.confirmation\\.FxStrikeReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSwap": {
            "title": "FxSwap",
            "description": "An instance of fpml5.confirmation.FxSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSwap",
                    "pattern": "^fpml5\\.confirmation\\.FxSwap$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxSwapLeg": {
            "title": "FxSwapLeg",
            "description": "An instance of fpml5.confirmation.FxSwapLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxSwapLeg",
                    "pattern": "^fpml5\\.confirmation\\.FxSwapLeg$",
                    "description": "The class identifier for this type"
                },
                "dealtCurrency": {
                    "$ref": "#/definitions/fpml5.confirmation.DealtCurrencyEnum"
                },
                "tenorName": {
                    "$ref": "#/definitions/fpml5.confirmation.FxTenorPeriodEnum"
                },
                "valueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "currency1ValueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "currency2ValueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTarget": {
            "title": "FxTarget",
            "description": "An instance of fpml5.confirmation.FxTarget",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTarget",
                    "pattern": "^fpml5\\.confirmation\\.FxTarget$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetAccumulationRegion": {
            "title": "FxTargetAccumulationRegion",
            "description": "An instance of fpml5.confirmation.FxTargetAccumulationRegion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetAccumulationRegion",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetAccumulationRegion$",
                    "description": "The class identifier for this type"
                },
                "multiplier": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetBarrier": {
            "title": "FxTargetBarrier",
            "description": "An instance of fpml5.confirmation.FxTargetBarrier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetBarrier",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetBarrier$",
                    "description": "The class identifier for this type"
                },
                "barrierType": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierTypeSimpleEnum"
                },
                "style": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierStyleEnum"
                },
                "scope": {
                    "$ref": "#/definitions/fpml5.confirmation.FxBarrierScopeEnum"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionEnum"
                },
                "observationStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "barrierType", "style", "scope", "condition"]
        },
        "fpml5.confirmation.FxTargetConstantPayoff": {
            "title": "FxTargetConstantPayoff",
            "description": "An instance of fpml5.confirmation.FxTargetConstantPayoff",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetConstantPayoff",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetConstantPayoff$",
                    "description": "The class identifier for this type"
                },
                "fixingAdjustment": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetConstantPayoffRegion": {
            "title": "FxTargetConstantPayoffRegion",
            "description": "An instance of fpml5.confirmation.FxTargetConstantPayoffRegion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetConstantPayoffRegion",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetConstantPayoffRegion$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetKnockoutForward": {
            "title": "FxTargetKnockoutForward",
            "description": "An instance of fpml5.confirmation.FxTargetKnockoutForward",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetKnockoutForward",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetKnockoutForward$",
                    "description": "The class identifier for this type"
                },
                "spotRate": {
                    "type": "number"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetLeverage": {
            "title": "FxTargetLeverage",
            "description": "An instance of fpml5.confirmation.FxTargetLeverage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetLeverage",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetLeverage$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.ConditionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "condition"]
        },
        "fpml5.confirmation.FxTargetLinearPayoffRegion": {
            "title": "FxTargetLinearPayoffRegion",
            "description": "An instance of fpml5.confirmation.FxTargetLinearPayoffRegion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetLinearPayoffRegion",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetLinearPayoffRegion$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetPayoffRegionReference": {
            "title": "FxTargetPayoffRegionReference",
            "description": "An instance of fpml5.confirmation.FxTargetPayoffRegionReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetPayoffRegionReference",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetPayoffRegionReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetPhysicalSettlement": {
            "title": "FxTargetPhysicalSettlement",
            "description": "An instance of fpml5.confirmation.FxTargetPhysicalSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetPhysicalSettlement",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetPhysicalSettlement$",
                    "description": "The class identifier for this type"
                },
                "settlementAdjustmentStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.FxSettlementAdjustmentMethodEnum"
                }
            },
            "required": ["$class", "settlementAdjustmentStyle"]
        },
        "fpml5.confirmation.FxTargetRebate": {
            "title": "FxTargetRebate",
            "description": "An instance of fpml5.confirmation.FxTargetRebate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetRebate",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetRebate$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetReference": {
            "title": "FxTargetReference",
            "description": "An instance of fpml5.confirmation.FxTargetReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetReference",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTargetRegionLowerBound": {
            "title": "FxTargetRegionLowerBound",
            "description": "An instance of fpml5.confirmation.FxTargetRegionLowerBound",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetRegionLowerBound",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetRegionLowerBound$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.FxRegionLowerBoundDirectionEnum"
                }
            },
            "required": ["$class", "condition"]
        },
        "fpml5.confirmation.FxTargetRegionUpperBound": {
            "title": "FxTargetRegionUpperBound",
            "description": "An instance of fpml5.confirmation.FxTargetRegionUpperBound",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetRegionUpperBound",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetRegionUpperBound$",
                    "description": "The class identifier for this type"
                },
                "condition": {
                    "$ref": "#/definitions/fpml5.confirmation.FxRegionUpperBoundDirectionEnum"
                }
            },
            "required": ["$class", "condition"]
        },
        "fpml5.confirmation.FxTargetSettlementPeriod": {
            "title": "FxTargetSettlementPeriod",
            "description": "An instance of fpml5.confirmation.FxTargetSettlementPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetSettlementPeriod",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetSettlementPeriod$",
                    "description": "The class identifier for this type"
                },
                "pivot": {
                    "type": "number"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "settlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "notionalAmount": {
                    "type": "number"
                }
            },
            "required": ["$class", "expiryDate", "settlementDate", "notionalAmount"]
        },
        "fpml5.confirmation.FxTargetSettlementPeriodPayoff": {
            "title": "FxTargetSettlementPeriodPayoff",
            "description": "An instance of fpml5.confirmation.FxTargetSettlementPeriodPayoff",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetSettlementPeriodPayoff",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetSettlementPeriodPayoff$",
                    "description": "The class identifier for this type"
                },
                "strike": {
                    "type": "number"
                },
                "counterCurrencyAmount": {
                    "type": "number"
                },
                "lowerBound": {
                    "type": "number"
                },
                "upperBound": {
                    "type": "number"
                },
                "payoffCap": {
                    "type": "number"
                }
            },
            "required": ["$class", "strike"]
        },
        "fpml5.confirmation.FxTargetSettlementPeriodSchedule": {
            "title": "FxTargetSettlementPeriodSchedule",
            "description": "An instance of fpml5.confirmation.FxTargetSettlementPeriodSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTargetSettlementPeriodSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxTargetSettlementPeriodSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTemplateTerms": {
            "title": "FxTemplateTerms",
            "description": "An instance of fpml5.confirmation.FxTemplateTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTemplateTerms",
                    "pattern": "^fpml5\\.confirmation\\.FxTemplateTerms$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "fxTemplateTermsScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.FxTerms": {
            "title": "FxTerms",
            "description": "An instance of fpml5.confirmation.FxTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTerms",
                    "pattern": "^fpml5\\.confirmation\\.FxTerms$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "fixingDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "rate"]
        },
        "fpml5.confirmation.FxTouch": {
            "title": "FxTouch",
            "description": "An instance of fpml5.confirmation.FxTouch",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTouch",
                    "pattern": "^fpml5\\.confirmation\\.FxTouch$",
                    "description": "The class identifier for this type"
                },
                "touchCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TouchConditionEnum"
                },
                "direction": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                },
                "triggerRate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                },
                "observationStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationEndDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "touchCondition", "triggerRate"]
        },
        "fpml5.confirmation.FxTrigger": {
            "title": "FxTrigger",
            "description": "An instance of fpml5.confirmation.FxTrigger",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTrigger",
                    "pattern": "^fpml5\\.confirmation\\.FxTrigger$",
                    "description": "The class identifier for this type"
                },
                "triggerCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                },
                "triggerRate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "triggerCondition", "triggerRate"]
        },
        "fpml5.confirmation.FxTriggerBase": {
            "title": "FxTriggerBase",
            "description": "An instance of fpml5.confirmation.FxTriggerBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxTriggerBase",
                    "pattern": "^fpml5\\.confirmation\\.FxTriggerBase$",
                    "description": "The class identifier for this type"
                },
                "triggerCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                },
                "triggerRate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                }
            },
            "required": ["$class", "triggerCondition", "triggerRate"]
        },
        "fpml5.confirmation.FxValuationDateOffset": {
            "title": "FxValuationDateOffset",
            "description": "An instance of fpml5.confirmation.FxValuationDateOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxValuationDateOffset",
                    "pattern": "^fpml5\\.confirmation\\.FxValuationDateOffset$",
                    "description": "The class identifier for this type"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.FxWeightedFixingSchedule": {
            "title": "FxWeightedFixingSchedule",
            "description": "An instance of fpml5.confirmation.FxWeightedFixingSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.FxWeightedFixingSchedule",
                    "pattern": "^fpml5\\.confirmation\\.FxWeightedFixingSchedule$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate1": {
                    "format": "date-time",
                    "type": "string"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "numberOfFixings": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GasDelivery": {
            "title": "GasDelivery",
            "description": "An instance of fpml5.confirmation.GasDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasDelivery",
                    "pattern": "^fpml5\\.confirmation\\.GasDelivery$",
                    "description": "The class identifier for this type"
                },
                "deliveryType": {
                    "$ref": "#/definitions/fpml5.confirmation.DeliveryTypeEnum"
                }
            },
            "required": ["$class", "deliveryType"]
        },
        "fpml5.confirmation.GasDeliveryPeriods": {
            "title": "GasDeliveryPeriods",
            "description": "An instance of fpml5.confirmation.GasDeliveryPeriods",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasDeliveryPeriods",
                    "pattern": "^fpml5\\.confirmation\\.GasDeliveryPeriods$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GasDeliveryPoint": {
            "title": "GasDeliveryPoint",
            "description": "An instance of fpml5.confirmation.GasDeliveryPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasDeliveryPoint",
                    "pattern": "^fpml5\\.confirmation\\.GasDeliveryPoint$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "deliveryPointScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GasPhysicalLeg": {
            "title": "GasPhysicalLeg",
            "description": "An instance of fpml5.confirmation.GasPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.GasPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GasPhysicalQuantity": {
            "title": "GasPhysicalQuantity",
            "description": "An instance of fpml5.confirmation.GasPhysicalQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasPhysicalQuantity",
                    "pattern": "^fpml5\\.confirmation\\.GasPhysicalQuantity$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GasProduct": {
            "title": "GasProduct",
            "description": "An instance of fpml5.confirmation.GasProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasProduct",
                    "pattern": "^fpml5\\.confirmation\\.GasProduct$",
                    "description": "The class identifier for this type"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.GasProductTypeEnum"
                },
                "calorificValue": {
                    "type": "number"
                }
            },
            "required": ["$class", "type"]
        },
        "fpml5.confirmation.GasQuality": {
            "title": "GasQuality",
            "description": "An instance of fpml5.confirmation.GasQuality",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GasQuality",
                    "pattern": "^fpml5\\.confirmation\\.GasQuality$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "gasQualityScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GeneralTerms": {
            "title": "GeneralTerms",
            "description": "An instance of fpml5.confirmation.GeneralTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GeneralTerms",
                    "pattern": "^fpml5\\.confirmation\\.GeneralTerms$",
                    "description": "The class identifier for this type"
                },
                "substitution": {
                    "type": "boolean"
                },
                "modifiedEquityDelivery": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GenericCommodityDeliveryPeriod": {
            "title": "GenericCommodityDeliveryPeriod",
            "description": "An instance of fpml5.confirmation.GenericCommodityDeliveryPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericCommodityDeliveryPeriod",
                    "pattern": "^fpml5\\.confirmation\\.GenericCommodityDeliveryPeriod$",
                    "description": "The class identifier for this type"
                },
                "applicableDay": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/fpml5.confirmation.DayOfWeekExtEnum"
                    }
                }
            },
            "required": ["$class", "applicableDay"]
        },
        "fpml5.confirmation.GenericCommodityGrade": {
            "title": "GenericCommodityGrade",
            "description": "An instance of fpml5.confirmation.GenericCommodityGrade",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericCommodityGrade",
                    "pattern": "^fpml5\\.confirmation\\.GenericCommodityGrade$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityGradeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GenericDimension": {
            "title": "GenericDimension",
            "description": "An instance of fpml5.confirmation.GenericDimension",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericDimension",
                    "pattern": "^fpml5\\.confirmation\\.GenericDimension$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": ["$class", "name"]
        },
        "fpml5.confirmation.GenericExerciseStyle": {
            "title": "GenericExerciseStyle",
            "description": "An instance of fpml5.confirmation.GenericExerciseStyle",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericExerciseStyle",
                    "pattern": "^fpml5\\.confirmation\\.GenericExerciseStyle$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "exerciseStyleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GenericFrequency": {
            "title": "GenericFrequency",
            "description": "An instance of fpml5.confirmation.GenericFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericFrequency",
                    "pattern": "^fpml5\\.confirmation\\.GenericFrequency$",
                    "description": "The class identifier for this type"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodExtendedEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.GenericOptionStrike": {
            "title": "GenericOptionStrike",
            "description": "An instance of fpml5.confirmation.GenericOptionStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericOptionStrike",
                    "pattern": "^fpml5\\.confirmation\\.GenericOptionStrike$",
                    "description": "The class identifier for this type"
                },
                "units": {
                    "type": "string"
                },
                "strikePrice": {
                    "type": "number"
                },
                "strikePercentage": {
                    "type": "number"
                }
            },
            "required": ["$class", "units"]
        },
        "fpml5.confirmation.GenericProduct": {
            "title": "GenericProduct",
            "description": "An instance of fpml5.confirmation.GenericProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericProduct",
                    "pattern": "^fpml5\\.confirmation\\.GenericProduct$",
                    "description": "The class identifier for this type"
                },
                "multiLeg": {
                    "type": "boolean"
                },
                "loadType": {
                    "$ref": "#/definitions/fpml5.confirmation.LoadTypeEnum"
                },
                "quantity": {
                    "type": "number"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "numberOfOptions": {
                    "type": "number"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GenericProductExchangeRate": {
            "title": "GenericProductExchangeRate",
            "description": "An instance of fpml5.confirmation.GenericProductExchangeRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericProductExchangeRate",
                    "pattern": "^fpml5\\.confirmation\\.GenericProductExchangeRate$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "spotRate": {
                    "type": "number"
                },
                "forwardPoints": {
                    "type": "number"
                },
                "pointValue": {
                    "$ref": "#/definitions/fpml5.confirmation.PointValue"
                }
            },
            "required": ["$class", "rate"]
        },
        "fpml5.confirmation.GenericProductFeature": {
            "title": "GenericProductFeature",
            "description": "An instance of fpml5.confirmation.GenericProductFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericProductFeature",
                    "pattern": "^fpml5\\.confirmation\\.GenericProductFeature$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "featureScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GenericProductQuotedCurrencyPair": {
            "title": "GenericProductQuotedCurrencyPair",
            "description": "An instance of fpml5.confirmation.GenericProductQuotedCurrencyPair",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericProductQuotedCurrencyPair",
                    "pattern": "^fpml5\\.confirmation\\.GenericProductQuotedCurrencyPair$",
                    "description": "The class identifier for this type"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                }
            },
            "required": ["$class", "quoteBasis"]
        },
        "fpml5.confirmation.GenericResetFrequency": {
            "title": "GenericResetFrequency",
            "description": "An instance of fpml5.confirmation.GenericResetFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GenericResetFrequency",
                    "pattern": "^fpml5\\.confirmation\\.GenericResetFrequency$",
                    "description": "The class identifier for this type"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodExtendedEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.GoverningLaw": {
            "title": "GoverningLaw",
            "description": "An instance of fpml5.confirmation.GoverningLaw",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GoverningLaw",
                    "pattern": "^fpml5\\.confirmation\\.GoverningLaw$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "governingLawScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.GracePeriodExtension": {
            "title": "GracePeriodExtension",
            "description": "An instance of fpml5.confirmation.GracePeriodExtension",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GracePeriodExtension",
                    "pattern": "^fpml5\\.confirmation\\.GracePeriodExtension$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.GrossCashflow": {
            "title": "GrossCashflow",
            "description": "An instance of fpml5.confirmation.GrossCashflow",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.GrossCashflow",
                    "pattern": "^fpml5\\.confirmation\\.GrossCashflow$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IdentifiedCurrency": {
            "title": "IdentifiedCurrency",
            "description": "An instance of fpml5.confirmation.IdentifiedCurrency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IdentifiedCurrency",
                    "pattern": "^fpml5\\.confirmation\\.IdentifiedCurrency$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                },
                "currencyScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IdentifiedCurrencyReference": {
            "title": "IdentifiedCurrencyReference",
            "description": "An instance of fpml5.confirmation.IdentifiedCurrencyReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IdentifiedCurrencyReference",
                    "pattern": "^fpml5\\.confirmation\\.IdentifiedCurrencyReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IdentifiedDate": {
            "title": "IdentifiedDate",
            "description": "An instance of fpml5.confirmation.IdentifiedDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IdentifiedDate",
                    "pattern": "^fpml5\\.confirmation\\.IdentifiedDate$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IdentifiedPayerReceiver": {
            "title": "IdentifiedPayerReceiver",
            "description": "An instance of fpml5.confirmation.IdentifiedPayerReceiver",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IdentifiedPayerReceiver",
                    "pattern": "^fpml5\\.confirmation\\.IdentifiedPayerReceiver$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "$ref": "#/definitions/fpml5.confirmation.PayerReceiverEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IdentifiedRate": {
            "title": "IdentifiedRate",
            "description": "An instance of fpml5.confirmation.IdentifiedRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IdentifiedRate",
                    "pattern": "^fpml5\\.confirmation\\.IdentifiedRate$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ImplementationSpecification": {
            "title": "ImplementationSpecification",
            "description": "An instance of fpml5.confirmation.ImplementationSpecification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ImplementationSpecification",
                    "pattern": "^fpml5\\.confirmation\\.ImplementationSpecification$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ImplementationSpecificationVersion": {
            "title": "ImplementationSpecificationVersion",
            "description": "An instance of fpml5.confirmation.ImplementationSpecificationVersion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ImplementationSpecificationVersion",
                    "pattern": "^fpml5\\.confirmation\\.ImplementationSpecificationVersion$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "implementationSpecificationVersionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IndependentAmount": {
            "title": "IndependentAmount",
            "description": "An instance of fpml5.confirmation.IndependentAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndependentAmount",
                    "pattern": "^fpml5\\.confirmation\\.IndependentAmount$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Index": {
            "title": "Index",
            "description": "An instance of fpml5.confirmation.Index",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Index",
                    "pattern": "^fpml5\\.confirmation\\.Index$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IndexAdjustmentEvents": {
            "title": "IndexAdjustmentEvents",
            "description": "An instance of fpml5.confirmation.IndexAdjustmentEvents",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndexAdjustmentEvents",
                    "pattern": "^fpml5\\.confirmation\\.IndexAdjustmentEvents$",
                    "description": "The class identifier for this type"
                },
                "indexModification": {
                    "$ref": "#/definitions/fpml5.confirmation.IndexEventConsequenceEnum"
                },
                "indexCancellation": {
                    "$ref": "#/definitions/fpml5.confirmation.IndexEventConsequenceEnum"
                },
                "indexDisruption": {
                    "$ref": "#/definitions/fpml5.confirmation.IndexEventConsequenceEnum"
                }
            },
            "required": ["$class", "indexModification", "indexCancellation", "indexDisruption"]
        },
        "fpml5.confirmation.IndexAnnexSource": {
            "title": "IndexAnnexSource",
            "description": "An instance of fpml5.confirmation.IndexAnnexSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndexAnnexSource",
                    "pattern": "^fpml5\\.confirmation\\.IndexAnnexSource$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "indexAnnexSourceScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IndexChange": {
            "title": "IndexChange",
            "description": "An instance of fpml5.confirmation.IndexChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndexChange",
                    "pattern": "^fpml5\\.confirmation\\.IndexChange$",
                    "description": "The class identifier for this type"
                },
                "indexFactor": {
                    "type": "number"
                }
            },
            "required": ["$class", "indexFactor"]
        },
        "fpml5.confirmation.IndexId": {
            "title": "IndexId",
            "description": "An instance of fpml5.confirmation.IndexId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndexId",
                    "pattern": "^fpml5\\.confirmation\\.IndexId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "indexIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IndexName": {
            "title": "IndexName",
            "description": "An instance of fpml5.confirmation.IndexName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndexName",
                    "pattern": "^fpml5\\.confirmation\\.IndexName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "indexNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IndexReferenceInformation": {
            "title": "IndexReferenceInformation",
            "description": "An instance of fpml5.confirmation.IndexReferenceInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndexReferenceInformation",
                    "pattern": "^fpml5\\.confirmation\\.IndexReferenceInformation$",
                    "description": "The class identifier for this type"
                },
                "indexSeries": {
                    "type": "integer"
                },
                "indexAnnexVersion": {
                    "type": "integer"
                },
                "indexAnnexDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "indexFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IndustryClassification": {
            "title": "IndustryClassification",
            "description": "An instance of fpml5.confirmation.IndustryClassification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IndustryClassification",
                    "pattern": "^fpml5\\.confirmation\\.IndustryClassification$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "industryClassificationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InflationRateCalculation": {
            "title": "InflationRateCalculation",
            "description": "An instance of fpml5.confirmation.InflationRateCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InflationRateCalculation",
                    "pattern": "^fpml5\\.confirmation\\.InflationRateCalculation$",
                    "description": "The class identifier for this type"
                },
                "initialIndexLevel": {
                    "type": "number"
                },
                "fallbackBondApplicable": {
                    "type": "boolean"
                },
                "initialRate": {
                    "type": "number"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "negativeInterestRateTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.NegativeInterestRateTreatmentEnum"
                },
                "rateTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.RateTreatmentEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "fallbackBondApplicable"]
        },
        "fpml5.confirmation.InformationProvider": {
            "title": "InformationProvider",
            "description": "An instance of fpml5.confirmation.InformationProvider",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InformationProvider",
                    "pattern": "^fpml5\\.confirmation\\.InformationProvider$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "informationProviderScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InformationSource": {
            "title": "InformationSource",
            "description": "An instance of fpml5.confirmation.InformationSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InformationSource",
                    "pattern": "^fpml5\\.confirmation\\.InformationSource$",
                    "description": "The class identifier for this type"
                },
                "rateSourcePageHeading": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InitialMargin": {
            "title": "InitialMargin",
            "description": "An instance of fpml5.confirmation.InitialMargin",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InitialMargin",
                    "pattern": "^fpml5\\.confirmation\\.InitialMargin$",
                    "description": "The class identifier for this type"
                },
                "marginType": {
                    "$ref": "#/definitions/fpml5.confirmation.MarginTypeEnum"
                }
            },
            "required": ["$class", "marginType"]
        },
        "fpml5.confirmation.InitialMarginCalculation": {
            "title": "InitialMarginCalculation",
            "description": "An instance of fpml5.confirmation.InitialMarginCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InitialMarginCalculation",
                    "pattern": "^fpml5\\.confirmation\\.InitialMarginCalculation$",
                    "description": "The class identifier for this type"
                },
                "marginRatio": {
                    "type": "number"
                },
                "marginRatioThreshold": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "haircut": {
                    "type": "number"
                },
                "haircutThreshold": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InitialPayment": {
            "title": "InitialPayment",
            "description": "An instance of fpml5.confirmation.InitialPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InitialPayment",
                    "pattern": "^fpml5\\.confirmation\\.InitialPayment$",
                    "description": "The class identifier for this type"
                },
                "adjustablePaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InstrumentId": {
            "title": "InstrumentId",
            "description": "An instance of fpml5.confirmation.InstrumentId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InstrumentId",
                    "pattern": "^fpml5\\.confirmation\\.InstrumentId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "instrumentIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "instrumentIdScheme"]
        },
        "fpml5.confirmation.InstrumentSet": {
            "title": "InstrumentSet",
            "description": "An instance of fpml5.confirmation.InstrumentSet",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InstrumentSet",
                    "pattern": "^fpml5\\.confirmation\\.InstrumentSet$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "underlyingAssetGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "curveInstrumentGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InstrumentTradeDetails": {
            "title": "InstrumentTradeDetails",
            "description": "An instance of fpml5.confirmation.InstrumentTradeDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InstrumentTradeDetails",
                    "pattern": "^fpml5\\.confirmation\\.InstrumentTradeDetails$",
                    "description": "The class identifier for this type"
                },
                "underlyingAssetGroup": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "underlyingAssetGroup"]
        },
        "fpml5.confirmation.InstrumentTradePricing": {
            "title": "InstrumentTradePricing",
            "description": "An instance of fpml5.confirmation.InstrumentTradePricing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InstrumentTradePricing",
                    "pattern": "^fpml5\\.confirmation\\.InstrumentTradePricing$",
                    "description": "The class identifier for this type"
                },
                "couponStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "exDividendDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "tradedFlatOfAccrued": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InstrumentTradePrincipal": {
            "title": "InstrumentTradePrincipal",
            "description": "An instance of fpml5.confirmation.InstrumentTradePrincipal",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InstrumentTradePrincipal",
                    "pattern": "^fpml5\\.confirmation\\.InstrumentTradePrincipal$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InstrumentTradeQuantity": {
            "title": "InstrumentTradeQuantity",
            "description": "An instance of fpml5.confirmation.InstrumentTradeQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InstrumentTradeQuantity",
                    "pattern": "^fpml5\\.confirmation\\.InstrumentTradeQuantity$",
                    "description": "The class identifier for this type"
                },
                "number": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterconnectionPoint": {
            "title": "InterconnectionPoint",
            "description": "An instance of fpml5.confirmation.InterconnectionPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterconnectionPoint",
                    "pattern": "^fpml5\\.confirmation\\.InterconnectionPoint$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "interconnectionPointScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestAccrualsCompoundingMethod": {
            "title": "InterestAccrualsCompoundingMethod",
            "description": "An instance of fpml5.confirmation.InterestAccrualsCompoundingMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestAccrualsCompoundingMethod",
                    "pattern": "^fpml5\\.confirmation\\.InterestAccrualsCompoundingMethod$",
                    "description": "The class identifier for this type"
                },
                "compoundingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.CompoundingMethodEnum"
                },
                "fixedRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestAccrualsMethod": {
            "title": "InterestAccrualsMethod",
            "description": "An instance of fpml5.confirmation.InterestAccrualsMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestAccrualsMethod",
                    "pattern": "^fpml5\\.confirmation\\.InterestAccrualsMethod$",
                    "description": "The class identifier for this type"
                },
                "fixedRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestCalculation": {
            "title": "InterestCalculation",
            "description": "An instance of fpml5.confirmation.InterestCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestCalculation",
                    "pattern": "^fpml5\\.confirmation\\.InterestCalculation$",
                    "description": "The class identifier for this type"
                },
                "interpolationPeriod": {
                    "$ref": "#/definitions/fpml5.confirmation.InterpolationPeriodEnum"
                },
                "id": {
                    "type": "string"
                },
                "fixedRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestCapitalization": {
            "title": "InterestCapitalization",
            "description": "An instance of fpml5.confirmation.InterestCapitalization",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestCapitalization",
                    "pattern": "^fpml5\\.confirmation\\.InterestCapitalization$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "calculationMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.InterestCalculationMethodEnum"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate", "calculationMethod", "effectiveDate"]
        },
        "fpml5.confirmation.InterestLeg": {
            "title": "InterestLeg",
            "description": "An instance of fpml5.confirmation.InterestLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestLeg",
                    "pattern": "^fpml5\\.confirmation\\.InterestLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestLegCalculationPeriodDates": {
            "title": "InterestLegCalculationPeriodDates",
            "description": "An instance of fpml5.confirmation.InterestLegCalculationPeriodDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestLegCalculationPeriodDates",
                    "pattern": "^fpml5\\.confirmation\\.InterestLegCalculationPeriodDates$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "id"]
        },
        "fpml5.confirmation.InterestLegCalculationPeriodDatesReference": {
            "title": "InterestLegCalculationPeriodDatesReference",
            "description": "An instance of fpml5.confirmation.InterestLegCalculationPeriodDatesReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestLegCalculationPeriodDatesReference",
                    "pattern": "^fpml5\\.confirmation\\.InterestLegCalculationPeriodDatesReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestLegResetDates": {
            "title": "InterestLegResetDates",
            "description": "An instance of fpml5.confirmation.InterestLegResetDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestLegResetDates",
                    "pattern": "^fpml5\\.confirmation\\.InterestLegResetDates$",
                    "description": "The class identifier for this type"
                },
                "resetRelativeTo": {
                    "$ref": "#/definitions/fpml5.confirmation.ResetRelativeToEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestRateStream": {
            "title": "InterestRateStream",
            "description": "An instance of fpml5.confirmation.InterestRateStream",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestRateStream",
                    "pattern": "^fpml5\\.confirmation\\.InterestRateStream$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestRateStreamReference": {
            "title": "InterestRateStreamReference",
            "description": "An instance of fpml5.confirmation.InterestRateStreamReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestRateStreamReference",
                    "pattern": "^fpml5\\.confirmation\\.InterestRateStreamReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.InterestShortFall": {
            "title": "InterestShortFall",
            "description": "An instance of fpml5.confirmation.InterestShortFall",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterestShortFall",
                    "pattern": "^fpml5\\.confirmation\\.InterestShortFall$",
                    "description": "The class identifier for this type"
                },
                "interestShortfallCap": {
                    "$ref": "#/definitions/fpml5.confirmation.InterestShortfallCapEnum"
                },
                "compounding": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "interestShortfallCap", "compounding"]
        },
        "fpml5.confirmation.IntermediaryInformation": {
            "title": "IntermediaryInformation",
            "description": "An instance of fpml5.confirmation.IntermediaryInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IntermediaryInformation",
                    "pattern": "^fpml5\\.confirmation\\.IntermediaryInformation$",
                    "description": "The class identifier for this type"
                },
                "intermediarySequenceNumber": {
                    "type": "integer"
                }
            },
            "required": ["$class", "intermediarySequenceNumber"]
        },
        "fpml5.confirmation.InterpolationMethod": {
            "title": "InterpolationMethod",
            "description": "An instance of fpml5.confirmation.InterpolationMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.InterpolationMethod",
                    "pattern": "^fpml5\\.confirmation\\.InterpolationMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "interpolationMethodScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IssuerId": {
            "title": "IssuerId",
            "description": "An instance of fpml5.confirmation.IssuerId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IssuerId",
                    "pattern": "^fpml5\\.confirmation\\.IssuerId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "issuerIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.IssuerTradeId": {
            "title": "IssuerTradeId",
            "description": "An instance of fpml5.confirmation.IssuerTradeId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.IssuerTradeId",
                    "pattern": "^fpml5\\.confirmation\\.IssuerTradeId$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Knock": {
            "title": "Knock",
            "description": "An instance of fpml5.confirmation.Knock",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Knock",
                    "pattern": "^fpml5\\.confirmation\\.Knock$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.KnockOutRateObservation": {
            "title": "KnockOutRateObservation",
            "description": "An instance of fpml5.confirmation.KnockOutRateObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.KnockOutRateObservation",
                    "pattern": "^fpml5\\.confirmation\\.KnockOutRateObservation$",
                    "description": "The class identifier for this type"
                },
                "observationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "triggerRate": {
                    "type": "number"
                },
                "observedRate": {
                    "type": "number"
                },
                "triggerCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                }
            },
            "required": ["$class", "observationDate", "triggerCondition"]
        },
        "fpml5.confirmation.Lag": {
            "title": "Lag",
            "description": "An instance of fpml5.confirmation.Lag",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Lag",
                    "pattern": "^fpml5\\.confirmation\\.Lag$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LagReference": {
            "title": "LagReference",
            "description": "An instance of fpml5.confirmation.LagReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LagReference",
                    "pattern": "^fpml5\\.confirmation\\.LagReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Language": {
            "title": "Language",
            "description": "An instance of fpml5.confirmation.Language",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Language",
                    "pattern": "^fpml5\\.confirmation\\.Language$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "languageScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LcAccrual": {
            "title": "LcAccrual",
            "description": "An instance of fpml5.confirmation.LcAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcAccrual",
                    "pattern": "^fpml5\\.confirmation\\.LcAccrual$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "rate"]
        },
        "fpml5.confirmation.LcAdjustment": {
            "title": "LcAdjustment",
            "description": "An instance of fpml5.confirmation.LcAdjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcAdjustment",
                    "pattern": "^fpml5\\.confirmation\\.LcAdjustment$",
                    "description": "The class identifier for this type"
                },
                "relatedBorrowing": {
                    "type": "boolean"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "relatedBorrowing", "effectiveDate"]
        },
        "fpml5.confirmation.LcFxRevaluation": {
            "title": "LcFxRevaluation",
            "description": "An instance of fpml5.confirmation.LcFxRevaluation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcFxRevaluation",
                    "pattern": "^fpml5\\.confirmation\\.LcFxRevaluation$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.LcIssuance": {
            "title": "LcIssuance",
            "description": "An instance of fpml5.confirmation.LcIssuance",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcIssuance",
                    "pattern": "^fpml5\\.confirmation\\.LcIssuance$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.LcIssuanceFeePayment": {
            "title": "LcIssuanceFeePayment",
            "description": "An instance of fpml5.confirmation.LcIssuanceFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcIssuanceFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.LcIssuanceFeePayment$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate", "effectiveDate"]
        },
        "fpml5.confirmation.LcNotification": {
            "title": "LcNotification",
            "description": "An instance of fpml5.confirmation.LcNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcNotification",
                    "pattern": "^fpml5\\.confirmation\\.LcNotification$",
                    "description": "The class identifier for this type"
                },
                "lcEventGroupGroup": {
                    "type": "string"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "lcEventGroupGroup", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LcOption": {
            "title": "LcOption",
            "description": "An instance of fpml5.confirmation.LcOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcOption",
                    "pattern": "^fpml5\\.confirmation\\.LcOption$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "rate"]
        },
        "fpml5.confirmation.LcOptionChange": {
            "title": "LcOptionChange",
            "description": "An instance of fpml5.confirmation.LcOptionChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcOptionChange",
                    "pattern": "^fpml5\\.confirmation\\.LcOptionChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.LcPurpose": {
            "title": "LcPurpose",
            "description": "An instance of fpml5.confirmation.LcPurpose",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcPurpose",
                    "pattern": "^fpml5\\.confirmation\\.LcPurpose$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "lcPurposeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LcRateChange": {
            "title": "LcRateChange",
            "description": "An instance of fpml5.confirmation.LcRateChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcRateChange",
                    "pattern": "^fpml5\\.confirmation\\.LcRateChange$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "rate", "effectiveDate"]
        },
        "fpml5.confirmation.LcRenewal": {
            "title": "LcRenewal",
            "description": "An instance of fpml5.confirmation.LcRenewal",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcRenewal",
                    "pattern": "^fpml5\\.confirmation\\.LcRenewal$",
                    "description": "The class identifier for this type"
                },
                "finalExpiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "finalExpiryDate", "effectiveDate"]
        },
        "fpml5.confirmation.LcTermination": {
            "title": "LcTermination",
            "description": "An instance of fpml5.confirmation.LcTermination",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcTermination",
                    "pattern": "^fpml5\\.confirmation\\.LcTermination$",
                    "description": "The class identifier for this type"
                },
                "expiry": {
                    "type": "boolean"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "expiry", "effectiveDate"]
        },
        "fpml5.confirmation.LcType": {
            "title": "LcType",
            "description": "An instance of fpml5.confirmation.LcType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LcType",
                    "pattern": "^fpml5\\.confirmation\\.LcType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "lcTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LegalEntity": {
            "title": "LegalEntity",
            "description": "An instance of fpml5.confirmation.LegalEntity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LegalEntity",
                    "pattern": "^fpml5\\.confirmation\\.LegalEntity$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LegalEntityReference": {
            "title": "LegalEntityReference",
            "description": "An instance of fpml5.confirmation.LegalEntityReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LegalEntityReference",
                    "pattern": "^fpml5\\.confirmation\\.LegalEntityReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LegAmount": {
            "title": "LegAmount",
            "description": "An instance of fpml5.confirmation.LegAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LegAmount",
                    "pattern": "^fpml5\\.confirmation\\.LegAmount$",
                    "description": "The class identifier for this type"
                },
                "encodedDescription": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LegId": {
            "title": "LegId",
            "description": "An instance of fpml5.confirmation.LegId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LegId",
                    "pattern": "^fpml5\\.confirmation\\.LegId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "legIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "legIdScheme"]
        },
        "fpml5.confirmation.LegIdentifier": {
            "title": "LegIdentifier",
            "description": "An instance of fpml5.confirmation.LegIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LegIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.LegIdentifier$",
                    "description": "The class identifier for this type"
                },
                "version": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LenderClassification": {
            "title": "LenderClassification",
            "description": "An instance of fpml5.confirmation.LenderClassification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LenderClassification",
                    "pattern": "^fpml5\\.confirmation\\.LenderClassification$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "lenderClassificationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LetterOfCredit": {
            "title": "LetterOfCredit",
            "description": "An instance of fpml5.confirmation.LetterOfCredit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LetterOfCredit",
                    "pattern": "^fpml5\\.confirmation\\.LetterOfCredit$",
                    "description": "The class identifier for this type"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "finalExpiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "lcAutoAdjust": {
                    "$ref": "#/definitions/fpml5.confirmation.LcAutoAdjustEnum"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "expiryDate", "effectiveDate"]
        },
        "fpml5.confirmation.LetterOfCreditFacility": {
            "title": "LetterOfCreditFacility",
            "description": "An instance of fpml5.confirmation.LetterOfCreditFacility",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LetterOfCreditFacility",
                    "pattern": "^fpml5\\.confirmation\\.LetterOfCreditFacility$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate"]
        },
        "fpml5.confirmation.LetterOfCreditReference": {
            "title": "LetterOfCreditReference",
            "description": "An instance of fpml5.confirmation.LetterOfCreditReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LetterOfCreditReference",
                    "pattern": "^fpml5\\.confirmation\\.LetterOfCreditReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.LetterOfCreditSummary": {
            "title": "LetterOfCreditSummary",
            "description": "An instance of fpml5.confirmation.LetterOfCreditSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LetterOfCreditSummary",
                    "pattern": "^fpml5\\.confirmation\\.LetterOfCreditSummary$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.Lien": {
            "title": "Lien",
            "description": "An instance of fpml5.confirmation.Lien",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Lien",
                    "pattern": "^fpml5\\.confirmation\\.Lien$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "lienScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LimitApplicable": {
            "title": "LimitApplicable",
            "description": "An instance of fpml5.confirmation.LimitApplicable",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LimitApplicable",
                    "pattern": "^fpml5\\.confirmation\\.LimitApplicable$",
                    "description": "The class identifier for this type"
                },
                "clipSize": {
                    "type": "integer"
                },
                "amountUtilized": {
                    "type": "integer"
                },
                "amountRemaining": {
                    "type": "integer"
                }
            },
            "required": ["$class", "clipSize"]
        },
        "fpml5.confirmation.LimitId": {
            "title": "LimitId",
            "description": "An instance of fpml5.confirmation.LimitId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LimitId",
                    "pattern": "^fpml5\\.confirmation\\.LimitId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditLimitIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LimitType": {
            "title": "LimitType",
            "description": "An instance of fpml5.confirmation.LimitType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LimitType",
                    "pattern": "^fpml5\\.confirmation\\.LimitType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "creditLimitTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LinkId": {
            "title": "LinkId",
            "description": "An instance of fpml5.confirmation.LinkId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LinkId",
                    "pattern": "^fpml5\\.confirmation\\.LinkId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "linkIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "linkIdScheme"]
        },
        "fpml5.confirmation.Loan": {
            "title": "Loan",
            "description": "An instance of fpml5.confirmation.Loan",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Loan",
                    "pattern": "^fpml5\\.confirmation\\.Loan$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "maturity": {
                    "format": "date-time",
                    "type": "string"
                },
                "creditAgreementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAcknowledgement": {
            "title": "LoanAcknowledgement",
            "description": "An instance of fpml5.confirmation.LoanAcknowledgement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAcknowledgement",
                    "pattern": "^fpml5\\.confirmation\\.LoanAcknowledgement$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocation": {
            "title": "LoanAllocation",
            "description": "An instance of fpml5.confirmation.LoanAllocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocation",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocation$",
                    "description": "The class identifier for this type"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAllocationConfirmationNotification": {
            "title": "LoanAllocationConfirmationNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationConfirmationNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationConfirmationNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationConfirmationNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationEvent": {
            "title": "LoanAllocationEvent",
            "description": "An instance of fpml5.confirmation.LoanAllocationEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationEvent$",
                    "description": "The class identifier for this type"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAllocationIdentifier": {
            "title": "LoanAllocationIdentifier",
            "description": "An instance of fpml5.confirmation.LoanAllocationIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationIdentifier$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAllocationNoSettlePeriod": {
            "title": "LoanAllocationNoSettlePeriod",
            "description": "An instance of fpml5.confirmation.LoanAllocationNoSettlePeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationNoSettlePeriod",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationNoSettlePeriod$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate"]
        },
        "fpml5.confirmation.LoanAllocationNoSettlePeriodType": {
            "title": "LoanAllocationNoSettlePeriodType",
            "description": "An instance of fpml5.confirmation.LoanAllocationNoSettlePeriodType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationNoSettlePeriodType",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationNoSettlePeriodType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "noSettlePeriodTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAllocationNotification": {
            "title": "LoanAllocationNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationPayment": {
            "title": "LoanAllocationPayment",
            "description": "An instance of fpml5.confirmation.LoanAllocationPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationPayment",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationPayment$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAllocationReference": {
            "title": "LoanAllocationReference",
            "description": "An instance of fpml5.confirmation.LoanAllocationReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationReference",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.LoanAllocationSettlementDateAvailabilityNotification": {
            "title": "LoanAllocationSettlementDateAvailabilityNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementDateAvailabilityNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementDateAvailabilityNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementDateAvailabilityNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationSettlementDateFinalizationNotification": {
            "title": "LoanAllocationSettlementDateFinalizationNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementDateFinalizationNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementDateFinalizationNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementDateFinalizationNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationSettlementEvent": {
            "title": "LoanAllocationSettlementEvent",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementEvent$",
                    "description": "The class identifier for this type"
                },
                "settlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "settlementDate"]
        },
        "fpml5.confirmation.LoanAllocationSettlementNotification": {
            "title": "LoanAllocationSettlementNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityLoanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationSettlementTask": {
            "title": "LoanAllocationSettlementTask",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementTask",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementTask",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementTask$",
                    "description": "The class identifier for this type"
                },
                "status": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingSettlementTaskStatusEnum"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "status"]
        },
        "fpml5.confirmation.LoanAllocationSettlementTaskNotification": {
            "title": "LoanAllocationSettlementTaskNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementTaskNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementTaskNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementTaskNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationSettlementTaskType": {
            "title": "LoanAllocationSettlementTaskType",
            "description": "An instance of fpml5.confirmation.LoanAllocationSettlementTaskType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationSettlementTaskType",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationSettlementTaskType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "allocationSettlementTaskTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanAllocationTransferFeeDueEvent": {
            "title": "LoanAllocationTransferFeeDueEvent",
            "description": "An instance of fpml5.confirmation.LoanAllocationTransferFeeDueEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationTransferFeeDueEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationTransferFeeDueEvent$",
                    "description": "The class identifier for this type"
                },
                "dueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "dueDate"]
        },
        "fpml5.confirmation.LoanAllocationTransferFeeDueNotification": {
            "title": "LoanAllocationTransferFeeDueNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationTransferFeeDueNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationTransferFeeDueNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationTransferFeeDueNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanAllocationTransferFeeOwedEvent": {
            "title": "LoanAllocationTransferFeeOwedEvent",
            "description": "An instance of fpml5.confirmation.LoanAllocationTransferFeeOwedEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationTransferFeeOwedEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationTransferFeeOwedEvent$",
                    "description": "The class identifier for this type"
                },
                "waivedFlag": {
                    "type": "boolean"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "waivedFlag"]
        },
        "fpml5.confirmation.LoanAllocationTransferFeeOwedNotification": {
            "title": "LoanAllocationTransferFeeOwedNotification",
            "description": "An instance of fpml5.confirmation.LoanAllocationTransferFeeOwedNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanAllocationTransferFeeOwedNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanAllocationTransferFeeOwedNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanBulkServicingNotification": {
            "title": "LoanBulkServicingNotification",
            "description": "An instance of fpml5.confirmation.LoanBulkServicingNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanBulkServicingNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanBulkServicingNotification$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityFeePaymentGroupGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityEventGroupGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "loanContractEventGroupGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "lcEventGroupGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "group1": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanContract": {
            "title": "LoanContract",
            "description": "An instance of fpml5.confirmation.LoanContract",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContract",
                    "pattern": "^fpml5\\.confirmation\\.LoanContract$",
                    "description": "The class identifier for this type"
                },
                "repricingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.LoanContractAdjustment": {
            "title": "LoanContractAdjustment",
            "description": "An instance of fpml5.confirmation.LoanContractAdjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContractAdjustment",
                    "pattern": "^fpml5\\.confirmation\\.LoanContractAdjustment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.LoanContractBaseRateSet": {
            "title": "LoanContractBaseRateSet",
            "description": "An instance of fpml5.confirmation.LoanContractBaseRateSet",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContractBaseRateSet",
                    "pattern": "^fpml5\\.confirmation\\.LoanContractBaseRateSet$",
                    "description": "The class identifier for this type"
                },
                "fixingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "fixingDate", "rate", "effectiveDate"]
        },
        "fpml5.confirmation.LoanContractMaturityChange": {
            "title": "LoanContractMaturityChange",
            "description": "An instance of fpml5.confirmation.LoanContractMaturityChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContractMaturityChange",
                    "pattern": "^fpml5\\.confirmation\\.LoanContractMaturityChange$",
                    "description": "The class identifier for this type"
                },
                "currentMaturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "priorMaturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "currentMaturityDate", "effectiveDate"]
        },
        "fpml5.confirmation.LoanContractNotification": {
            "title": "LoanContractNotification",
            "description": "An instance of fpml5.confirmation.LoanContractNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContractNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanContractNotification$",
                    "description": "The class identifier for this type"
                },
                "loanContractEventGroupGroup": {
                    "type": "string"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "loanContractEventGroupGroup", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanContractReference": {
            "title": "LoanContractReference",
            "description": "An instance of fpml5.confirmation.LoanContractReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContractReference",
                    "pattern": "^fpml5\\.confirmation\\.LoanContractReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.LoanContractSummary": {
            "title": "LoanContractSummary",
            "description": "An instance of fpml5.confirmation.LoanContractSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanContractSummary",
                    "pattern": "^fpml5\\.confirmation\\.LoanContractSummary$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.LoanInterestPayment": {
            "title": "LoanInterestPayment",
            "description": "An instance of fpml5.confirmation.LoanInterestPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanInterestPayment",
                    "pattern": "^fpml5\\.confirmation\\.LoanInterestPayment$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "calculationMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.InterestCalculationMethodEnum"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "endDate", "calculationMethod", "effectiveDate"]
        },
        "fpml5.confirmation.LoanNotificationAcknowledgement": {
            "title": "LoanNotificationAcknowledgement",
            "description": "An instance of fpml5.confirmation.LoanNotificationAcknowledgement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanNotificationAcknowledgement",
                    "pattern": "^fpml5\\.confirmation\\.LoanNotificationAcknowledgement$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanNotificationException": {
            "title": "LoanNotificationException",
            "description": "An instance of fpml5.confirmation.LoanNotificationException",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanNotificationException",
                    "pattern": "^fpml5\\.confirmation\\.LoanNotificationException$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanNotificationRetracted": {
            "title": "LoanNotificationRetracted",
            "description": "An instance of fpml5.confirmation.LoanNotificationRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanNotificationRetracted",
                    "pattern": "^fpml5\\.confirmation\\.LoanNotificationRetracted$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanParticipation": {
            "title": "LoanParticipation",
            "description": "An instance of fpml5.confirmation.LoanParticipation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanParticipation",
                    "pattern": "^fpml5\\.confirmation\\.LoanParticipation$",
                    "description": "The class identifier for this type"
                },
                "qualifyingParticipationSeller": {
                    "type": "string"
                },
                "applicable": {
                    "type": "boolean"
                },
                "partialCashSettlement": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.LoanPartyEventInstructionOverrideNotification": {
            "title": "LoanPartyEventInstructionOverrideNotification",
            "description": "An instance of fpml5.confirmation.LoanPartyEventInstructionOverrideNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanPartyEventInstructionOverrideNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanPartyEventInstructionOverrideNotification$",
                    "description": "The class identifier for this type"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanPartyProfileNotification": {
            "title": "LoanPartyProfileNotification",
            "description": "An instance of fpml5.confirmation.LoanPartyProfileNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanPartyProfileNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanPartyProfileNotification$",
                    "description": "The class identifier for this type"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanPartyTradingInstructionOverrideNotification": {
            "title": "LoanPartyTradingInstructionOverrideNotification",
            "description": "An instance of fpml5.confirmation.LoanPartyTradingInstructionOverrideNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanPartyTradingInstructionOverrideNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanPartyTradingInstructionOverrideNotification$",
                    "description": "The class identifier for this type"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanSettlementDateAvailabilityEvent": {
            "title": "LoanSettlementDateAvailabilityEvent",
            "description": "An instance of fpml5.confirmation.LoanSettlementDateAvailabilityEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanSettlementDateAvailabilityEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanSettlementDateAvailabilityEvent$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "onOrAfterDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "leadDays": {
                    "type": "integer"
                },
                "cutOffTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanSettlementDateFinalizationEvent": {
            "title": "LoanSettlementDateFinalizationEvent",
            "description": "An instance of fpml5.confirmation.LoanSettlementDateFinalizationEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanSettlementDateFinalizationEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanSettlementDateFinalizationEvent$",
                    "description": "The class identifier for this type"
                },
                "settlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "settlementDate"]
        },
        "fpml5.confirmation.LoanTrade": {
            "title": "LoanTrade",
            "description": "An instance of fpml5.confirmation.LoanTrade",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTrade",
                    "pattern": "^fpml5\\.confirmation\\.LoanTrade$",
                    "description": "The class identifier for this type"
                },
                "price": {
                    "type": "number"
                },
                "documentationType": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingDocTypeEnum"
                },
                "accrualSettlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingAccrualSettlementEnum"
                },
                "delayedCompensationFlag": {
                    "type": "boolean"
                },
                "nonRecurringFeesBenefactor": {
                    "$ref": "#/definitions/fpml5.confirmation.BuySellEnum"
                },
                "collateralRequiredFlag": {
                    "type": "boolean"
                },
                "votingRights": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingVotingRightsEnum"
                },
                "tradeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingTypeEnum"
                },
                "whenIssuedFlag": {
                    "type": "boolean"
                },
                "tradingAssociation": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingAssocEnum"
                },
                "formOfPurchase": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingFormOfPurchaseEnum"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": [
                "$class",
                "price",
                "documentationType",
                "accrualSettlementType",
                "delayedCompensationFlag",
                "nonRecurringFeesBenefactor",
                "tradeDate",
                "type",
                "whenIssuedFlag",
                "tradingAssociation",
                "formOfPurchase"
            ]
        },
        "fpml5.confirmation.LoanTradeConfirmationNotification": {
            "title": "LoanTradeConfirmationNotification",
            "description": "An instance of fpml5.confirmation.LoanTradeConfirmationNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeConfirmationNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeConfirmationNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanTradeEvent": {
            "title": "LoanTradeEvent",
            "description": "An instance of fpml5.confirmation.LoanTradeEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeEvent$",
                    "description": "The class identifier for this type"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradeNotification": {
            "title": "LoanTradeNotification",
            "description": "An instance of fpml5.confirmation.LoanTradeNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanTradePayment": {
            "title": "LoanTradePayment",
            "description": "An instance of fpml5.confirmation.LoanTradePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradePayment",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradePayment$",
                    "description": "The class identifier for this type"
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradeReference": {
            "title": "LoanTradeReference",
            "description": "An instance of fpml5.confirmation.LoanTradeReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeReference",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.LoanTradeSettlementTask": {
            "title": "LoanTradeSettlementTask",
            "description": "An instance of fpml5.confirmation.LoanTradeSettlementTask",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeSettlementTask",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeSettlementTask$",
                    "description": "The class identifier for this type"
                },
                "status": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingSettlementTaskStatusEnum"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "status"]
        },
        "fpml5.confirmation.LoanTradeSettlementTaskNotification": {
            "title": "LoanTradeSettlementTaskNotification",
            "description": "An instance of fpml5.confirmation.LoanTradeSettlementTaskNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeSettlementTaskNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeSettlementTaskNotification$",
                    "description": "The class identifier for this type"
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanTradeSettlementTaskType": {
            "title": "LoanTradeSettlementTaskType",
            "description": "An instance of fpml5.confirmation.LoanTradeSettlementTaskType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeSettlementTaskType",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeSettlementTaskType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "tradeSettlementTaskTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradeSummary": {
            "title": "LoanTradeSummary",
            "description": "An instance of fpml5.confirmation.LoanTradeSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeSummary",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeSummary$",
                    "description": "The class identifier for this type"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradeTransferFeeDueEvent": {
            "title": "LoanTradeTransferFeeDueEvent",
            "description": "An instance of fpml5.confirmation.LoanTradeTransferFeeDueEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeTransferFeeDueEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeTransferFeeDueEvent$",
                    "description": "The class identifier for this type"
                },
                "dueDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "dueDate"]
        },
        "fpml5.confirmation.LoanTradeTransferFeeDueNotification": {
            "title": "LoanTradeTransferFeeDueNotification",
            "description": "An instance of fpml5.confirmation.LoanTradeTransferFeeDueNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeTransferFeeDueNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeTransferFeeDueNotification$",
                    "description": "The class identifier for this type"
                },
                "facilityDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanTradeTransferFeeOwedEvent": {
            "title": "LoanTradeTransferFeeOwedEvent",
            "description": "An instance of fpml5.confirmation.LoanTradeTransferFeeOwedEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeTransferFeeOwedEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeTransferFeeOwedEvent$",
                    "description": "The class identifier for this type"
                },
                "waivedFlag": {
                    "type": "boolean"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "waivedFlag"]
        },
        "fpml5.confirmation.LoanTradeTransferFeeOwedNotification": {
            "title": "LoanTradeTransferFeeOwedNotification",
            "description": "An instance of fpml5.confirmation.LoanTradeTransferFeeOwedNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradeTransferFeeOwedNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradeTransferFeeOwedNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanTradingAccruingFeeAccrual": {
            "title": "LoanTradingAccruingFeeAccrual",
            "description": "An instance of fpml5.confirmation.LoanTradingAccruingFeeAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingAccruingFeeAccrual",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingAccruingFeeAccrual$",
                    "description": "The class identifier for this type"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingAccruingFeeTypeEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingCostOfCarry": {
            "title": "LoanTradingCostOfCarry",
            "description": "An instance of fpml5.confirmation.LoanTradingCostOfCarry",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingCostOfCarry",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingCostOfCarry$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingCostOfCarryAccrual": {
            "title": "LoanTradingCostOfCarryAccrual",
            "description": "An instance of fpml5.confirmation.LoanTradingCostOfCarryAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingCostOfCarryAccrual",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingCostOfCarryAccrual$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingCounterpartySettlementFundingFactors": {
            "title": "LoanTradingCounterpartySettlementFundingFactors",
            "description": "An instance of fpml5.confirmation.LoanTradingCounterpartySettlementFundingFactors",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingCounterpartySettlementFundingFactors",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingCounterpartySettlementFundingFactors$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingDelayedCompensation": {
            "title": "LoanTradingDelayedCompensation",
            "description": "An instance of fpml5.confirmation.LoanTradingDelayedCompensation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingDelayedCompensation",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingDelayedCompensation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingEconomicBenefit": {
            "title": "LoanTradingEconomicBenefit",
            "description": "An instance of fpml5.confirmation.LoanTradingEconomicBenefit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingEconomicBenefit",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingEconomicBenefit$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingLetterOfCreditAccrual": {
            "title": "LoanTradingLetterOfCreditAccrual",
            "description": "An instance of fpml5.confirmation.LoanTradingLetterOfCreditAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingLetterOfCreditAccrual",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingLetterOfCreditAccrual$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingNonRecurringFee": {
            "title": "LoanTradingNonRecurringFee",
            "description": "An instance of fpml5.confirmation.LoanTradingNonRecurringFee",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingNonRecurringFee",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingNonRecurringFee$",
                    "description": "The class identifier for this type"
                },
                "feeType": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingOutstandingsAccrual": {
            "title": "LoanTradingOutstandingsAccrual",
            "description": "An instance of fpml5.confirmation.LoanTradingOutstandingsAccrual",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingOutstandingsAccrual",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingOutstandingsAccrual$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingPartyRole": {
            "title": "LoanTradingPartyRole",
            "description": "An instance of fpml5.confirmation.LoanTradingPartyRole",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingPartyRole",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingPartyRole$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "tradingPartyRoleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.LoanTradingSettlementTaskDates": {
            "title": "LoanTradingSettlementTaskDates",
            "description": "An instance of fpml5.confirmation.LoanTradingSettlementTaskDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTradingSettlementTaskDates",
                    "pattern": "^fpml5\\.confirmation\\.LoanTradingSettlementTaskDates$",
                    "description": "The class identifier for this type"
                },
                "raisedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expectedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "clearedDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "raisedDate"]
        },
        "fpml5.confirmation.LoanTransfer": {
            "title": "LoanTransfer",
            "description": "An instance of fpml5.confirmation.LoanTransfer",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTransfer",
                    "pattern": "^fpml5\\.confirmation\\.LoanTransfer$",
                    "description": "The class identifier for this type"
                },
                "transferFeeRemittedBy": {
                    "$ref": "#/definitions/fpml5.confirmation.BuySellEnum"
                },
                "tradeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingTypeEnum"
                },
                "whenIssuedFlag": {
                    "type": "boolean"
                },
                "tradingAssociation": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingAssocEnum"
                },
                "formOfPurchase": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTradingFormOfPurchaseEnum"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "transferFeeRemittedBy", "tradeDate", "type", "whenIssuedFlag", "tradingAssociation", "formOfPurchase"]
        },
        "fpml5.confirmation.LoanTransferFee": {
            "title": "LoanTransferFee",
            "description": "An instance of fpml5.confirmation.LoanTransferFee",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTransferFee",
                    "pattern": "^fpml5\\.confirmation\\.LoanTransferFee$",
                    "description": "The class identifier for this type"
                },
                "remittedBy": {
                    "$ref": "#/definitions/fpml5.confirmation.BuySellEnum"
                },
                "paidBy": {
                    "$ref": "#/definitions/fpml5.confirmation.LoanTransferFeePaidByEnum"
                }
            },
            "required": ["$class", "remittedBy"]
        },
        "fpml5.confirmation.LoanTransferNotification": {
            "title": "LoanTransferNotification",
            "description": "An instance of fpml5.confirmation.LoanTransferNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTransferNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTransferNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.LoanTransferSettlementEvent": {
            "title": "LoanTransferSettlementEvent",
            "description": "An instance of fpml5.confirmation.LoanTransferSettlementEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTransferSettlementEvent",
                    "pattern": "^fpml5\\.confirmation\\.LoanTransferSettlementEvent$",
                    "description": "The class identifier for this type"
                },
                "settlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "settlementDate"]
        },
        "fpml5.confirmation.LoanTransferSettlementNotification": {
            "title": "LoanTransferSettlementNotification",
            "description": "An instance of fpml5.confirmation.LoanTransferSettlementNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.LoanTransferSettlementNotification",
                    "pattern": "^fpml5\\.confirmation\\.LoanTransferSettlementNotification$",
                    "description": "The class identifier for this type"
                },
                "loanTradeAllocationDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "facilityLoanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.MainPublication": {
            "title": "MainPublication",
            "description": "An instance of fpml5.confirmation.MainPublication",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MainPublication",
                    "pattern": "^fpml5\\.confirmation\\.MainPublication$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "mainPublicationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MakeWholeAmount": {
            "title": "MakeWholeAmount",
            "description": "An instance of fpml5.confirmation.MakeWholeAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MakeWholeAmount",
                    "pattern": "^fpml5\\.confirmation\\.MakeWholeAmount$",
                    "description": "The class identifier for this type"
                },
                "spread": {
                    "type": "number"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                }
            },
            "required": ["$class", "spread"]
        },
        "fpml5.confirmation.MakeWholeProvisions": {
            "title": "MakeWholeProvisions",
            "description": "An instance of fpml5.confirmation.MakeWholeProvisions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MakeWholeProvisions",
                    "pattern": "^fpml5\\.confirmation\\.MakeWholeProvisions$",
                    "description": "The class identifier for this type"
                },
                "makeWholeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "recallSpread": {
                    "type": "number"
                }
            },
            "required": ["$class", "makeWholeDate", "recallSpread"]
        },
        "fpml5.confirmation.MandatoryCostRateChange": {
            "title": "MandatoryCostRateChange",
            "description": "An instance of fpml5.confirmation.MandatoryCostRateChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MandatoryCostRateChange",
                    "pattern": "^fpml5\\.confirmation\\.MandatoryCostRateChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.MandatoryCostRateExpiry": {
            "title": "MandatoryCostRateExpiry",
            "description": "An instance of fpml5.confirmation.MandatoryCostRateExpiry",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MandatoryCostRateExpiry",
                    "pattern": "^fpml5\\.confirmation\\.MandatoryCostRateExpiry$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.MandatoryEarlyTermination": {
            "title": "MandatoryEarlyTermination",
            "description": "An instance of fpml5.confirmation.MandatoryEarlyTermination",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MandatoryEarlyTermination",
                    "pattern": "^fpml5\\.confirmation\\.MandatoryEarlyTermination$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MandatoryEarlyTerminationAdjustedDates": {
            "title": "MandatoryEarlyTerminationAdjustedDates",
            "description": "An instance of fpml5.confirmation.MandatoryEarlyTerminationAdjustedDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MandatoryEarlyTerminationAdjustedDates",
                    "pattern": "^fpml5\\.confirmation\\.MandatoryEarlyTerminationAdjustedDates$",
                    "description": "The class identifier for this type"
                },
                "adjustedEarlyTerminationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedCashSettlementValuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedCashSettlementPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "adjustedEarlyTerminationDate", "adjustedCashSettlementValuationDate", "adjustedCashSettlementPaymentDate"]
        },
        "fpml5.confirmation.ManualExercise": {
            "title": "ManualExercise",
            "description": "An instance of fpml5.confirmation.ManualExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ManualExercise",
                    "pattern": "^fpml5\\.confirmation\\.ManualExercise$",
                    "description": "The class identifier for this type"
                },
                "fallbackExercise": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Market": {
            "title": "Market",
            "description": "An instance of fpml5.confirmation.Market",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Market",
                    "pattern": "^fpml5\\.confirmation\\.Market$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "pricingStructureGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "pricingStructureValuationGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MarketDisruption": {
            "title": "MarketDisruption",
            "description": "An instance of fpml5.confirmation.MarketDisruption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MarketDisruption",
                    "pattern": "^fpml5\\.confirmation\\.MarketDisruption$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "marketDisruptionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MarketDisruptionEvent": {
            "title": "MarketDisruptionEvent",
            "description": "An instance of fpml5.confirmation.MarketDisruptionEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MarketDisruptionEvent",
                    "pattern": "^fpml5\\.confirmation\\.MarketDisruptionEvent$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMarketDisruptionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MarketReference": {
            "title": "MarketReference",
            "description": "An instance of fpml5.confirmation.MarketReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MarketReference",
                    "pattern": "^fpml5\\.confirmation\\.MarketReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MasterAgreement": {
            "title": "MasterAgreement",
            "description": "An instance of fpml5.confirmation.MasterAgreement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterAgreement",
                    "pattern": "^fpml5\\.confirmation\\.MasterAgreement$",
                    "description": "The class identifier for this type"
                },
                "masterAgreementDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MasterAgreementId": {
            "title": "MasterAgreementId",
            "description": "An instance of fpml5.confirmation.MasterAgreementId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterAgreementId",
                    "pattern": "^fpml5\\.confirmation\\.MasterAgreementId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "masterAgreementIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MasterAgreementType": {
            "title": "MasterAgreementType",
            "description": "An instance of fpml5.confirmation.MasterAgreementType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterAgreementType",
                    "pattern": "^fpml5\\.confirmation\\.MasterAgreementType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "masterAgreementTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MasterAgreementVersion": {
            "title": "MasterAgreementVersion",
            "description": "An instance of fpml5.confirmation.MasterAgreementVersion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterAgreementVersion",
                    "pattern": "^fpml5\\.confirmation\\.MasterAgreementVersion$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "masterAgreementVersionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MasterConfirmation": {
            "title": "MasterConfirmation",
            "description": "An instance of fpml5.confirmation.MasterConfirmation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterConfirmation",
                    "pattern": "^fpml5\\.confirmation\\.MasterConfirmation$",
                    "description": "The class identifier for this type"
                },
                "masterConfirmationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "masterConfirmationAnnexDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "masterConfirmationDate"]
        },
        "fpml5.confirmation.MasterConfirmationAnnexType": {
            "title": "MasterConfirmationAnnexType",
            "description": "An instance of fpml5.confirmation.MasterConfirmationAnnexType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterConfirmationAnnexType",
                    "pattern": "^fpml5\\.confirmation\\.MasterConfirmationAnnexType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "masterConfirmationAnnexTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MasterConfirmationType": {
            "title": "MasterConfirmationType",
            "description": "An instance of fpml5.confirmation.MasterConfirmationType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MasterConfirmationType",
                    "pattern": "^fpml5\\.confirmation\\.MasterConfirmationType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "masterConfirmationTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MatchId": {
            "title": "MatchId",
            "description": "An instance of fpml5.confirmation.MatchId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MatchId",
                    "pattern": "^fpml5\\.confirmation\\.MatchId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "matchIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Material": {
            "title": "Material",
            "description": "An instance of fpml5.confirmation.Material",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Material",
                    "pattern": "^fpml5\\.confirmation\\.Material$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityMetalProductTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Math": {
            "title": "Math",
            "description": "An instance of fpml5.confirmation.Math",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Math",
                    "pattern": "^fpml5\\.confirmation\\.Math$",
                    "description": "The class identifier for this type"
                },
                "mixed": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "any": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "any"]
        },
        "fpml5.confirmation.MatrixSource": {
            "title": "MatrixSource",
            "description": "An instance of fpml5.confirmation.MatrixSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MatrixSource",
                    "pattern": "^fpml5\\.confirmation\\.MatrixSource$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "settledEntityMatrixSourceScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MatrixTerm": {
            "title": "MatrixTerm",
            "description": "An instance of fpml5.confirmation.MatrixTerm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MatrixTerm",
                    "pattern": "^fpml5\\.confirmation\\.MatrixTerm$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "matrixTermScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MatrixType": {
            "title": "MatrixType",
            "description": "An instance of fpml5.confirmation.MatrixType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MatrixType",
                    "pattern": "^fpml5\\.confirmation\\.MatrixType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "matrixTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MaturingContractsType": {
            "title": "MaturingContractsType",
            "description": "An instance of fpml5.confirmation.MaturingContractsType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MaturingContractsType",
                    "pattern": "^fpml5\\.confirmation\\.MaturingContractsType$",
                    "description": "The class identifier for this type"
                },
                "loanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MaturityNotification": {
            "title": "MaturityNotification",
            "description": "An instance of fpml5.confirmation.MaturityNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MaturityNotification",
                    "pattern": "^fpml5\\.confirmation\\.MaturityNotification$",
                    "description": "The class identifier for this type"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.MessageAddress": {
            "title": "MessageAddress",
            "description": "An instance of fpml5.confirmation.MessageAddress",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MessageAddress",
                    "pattern": "^fpml5\\.confirmation\\.MessageAddress$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "messageAddressScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MessageId": {
            "title": "MessageId",
            "description": "An instance of fpml5.confirmation.MessageId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MessageId",
                    "pattern": "^fpml5\\.confirmation\\.MessageId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "messageIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "messageIdScheme"]
        },
        "fpml5.confirmation.Metal": {
            "title": "Metal",
            "description": "An instance of fpml5.confirmation.Metal",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Metal",
                    "pattern": "^fpml5\\.confirmation\\.Metal$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MetalDelivery": {
            "title": "MetalDelivery",
            "description": "An instance of fpml5.confirmation.MetalDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MetalDelivery",
                    "pattern": "^fpml5\\.confirmation\\.MetalDelivery$",
                    "description": "The class identifier for this type"
                },
                "totalQuantityTolerance": {
                    "type": "number"
                },
                "periodQuantityTolerance": {
                    "type": "number"
                },
                "title": {
                    "$ref": "#/definitions/fpml5.confirmation.MetalTitleEnum"
                }
            },
            "required": ["$class", "totalQuantityTolerance", "periodQuantityTolerance", "title"]
        },
        "fpml5.confirmation.MetalPhysicalLeg": {
            "title": "MetalPhysicalLeg",
            "description": "An instance of fpml5.confirmation.MetalPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MetalPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.MetalPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "conversionFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MimeType": {
            "title": "MimeType",
            "description": "An instance of fpml5.confirmation.MimeType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MimeType",
                    "pattern": "^fpml5\\.confirmation\\.MimeType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "mimeTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MiscFeePayment": {
            "title": "MiscFeePayment",
            "description": "An instance of fpml5.confirmation.MiscFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MiscFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.MiscFeePayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.Money": {
            "title": "Money",
            "description": "An instance of fpml5.confirmation.Money",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Money",
                    "pattern": "^fpml5\\.confirmation\\.Money$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.MoneyRef": {
            "title": "MoneyRef",
            "description": "An instance of fpml5.confirmation.MoneyRef",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MoneyRef",
                    "pattern": "^fpml5\\.confirmation\\.MoneyRef$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.MoneyWithParticipantShare": {
            "title": "MoneyWithParticipantShare",
            "description": "An instance of fpml5.confirmation.MoneyWithParticipantShare",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MoneyWithParticipantShare",
                    "pattern": "^fpml5\\.confirmation\\.MoneyWithParticipantShare$",
                    "description": "The class identifier for this type"
                },
                "shareAmount": {
                    "type": "number"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.Mortgage": {
            "title": "Mortgage",
            "description": "An instance of fpml5.confirmation.Mortgage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Mortgage",
                    "pattern": "^fpml5\\.confirmation\\.Mortgage$",
                    "description": "The class identifier for this type"
                },
                "issuerName": {
                    "type": "string"
                },
                "couponRate": {
                    "type": "number"
                },
                "maturity": {
                    "format": "date-time",
                    "type": "string"
                },
                "originalPrincipalAmount": {
                    "type": "number"
                },
                "tranche": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MortgageSector": {
            "title": "MortgageSector",
            "description": "An instance of fpml5.confirmation.MortgageSector",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MortgageSector",
                    "pattern": "^fpml5\\.confirmation\\.MortgageSector$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "mortgageSectorScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MultiCurrency": {
            "title": "MultiCurrency",
            "description": "An instance of fpml5.confirmation.MultiCurrency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MultiCurrency",
                    "pattern": "^fpml5\\.confirmation\\.MultiCurrency$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MultiDimensionalPricingData": {
            "title": "MultiDimensionalPricingData",
            "description": "An instance of fpml5.confirmation.MultiDimensionalPricingData",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MultiDimensionalPricingData",
                    "pattern": "^fpml5\\.confirmation\\.MultiDimensionalPricingData$",
                    "description": "The class identifier for this type"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                },
                "valuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTime": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MultipleExercise": {
            "title": "MultipleExercise",
            "description": "An instance of fpml5.confirmation.MultipleExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MultipleExercise",
                    "pattern": "^fpml5\\.confirmation\\.MultipleExercise$",
                    "description": "The class identifier for this type"
                },
                "integralMultipleAmount": {
                    "type": "number"
                },
                "minimumNotionalAmount": {
                    "type": "number"
                },
                "minimumNumberOfOptions": {
                    "type": "integer"
                },
                "maximumNotionalAmount": {
                    "type": "number"
                },
                "maximumNumberOfOptions": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MultipleValuationDates": {
            "title": "MultipleValuationDates",
            "description": "An instance of fpml5.confirmation.MultipleValuationDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MultipleValuationDates",
                    "pattern": "^fpml5\\.confirmation\\.MultipleValuationDates$",
                    "description": "The class identifier for this type"
                },
                "businessDaysThereafter": {
                    "type": "integer"
                },
                "numberValuationDates": {
                    "type": "integer"
                },
                "businessDays": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.MutualFund": {
            "title": "MutualFund",
            "description": "An instance of fpml5.confirmation.MutualFund",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.MutualFund",
                    "pattern": "^fpml5\\.confirmation\\.MutualFund$",
                    "description": "The class identifier for this type"
                },
                "openEndedFund": {
                    "type": "boolean"
                },
                "fundManager": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NetAndGross": {
            "title": "NetAndGross",
            "description": "An instance of fpml5.confirmation.NetAndGross",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NetAndGross",
                    "pattern": "^fpml5\\.confirmation\\.NetAndGross$",
                    "description": "The class identifier for this type"
                },
                "net": {
                    "type": "number"
                },
                "gross": {
                    "type": "number"
                },
                "net1": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NonCorrectableRequestMessage": {
            "title": "NonCorrectableRequestMessage",
            "description": "An instance of fpml5.confirmation.NonCorrectableRequestMessage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonCorrectableRequestMessage",
                    "pattern": "^fpml5\\.confirmation\\.NonCorrectableRequestMessage$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.NonDeliverableSettlement": {
            "title": "NonDeliverableSettlement",
            "description": "An instance of fpml5.confirmation.NonDeliverableSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonDeliverableSettlement",
                    "pattern": "^fpml5\\.confirmation\\.NonDeliverableSettlement$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NonDeliverableSubstitute": {
            "title": "NonDeliverableSubstitute",
            "description": "An instance of fpml5.confirmation.NonDeliverableSubstitute",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonDeliverableSubstitute",
                    "pattern": "^fpml5\\.confirmation\\.NonDeliverableSubstitute$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NonNegativeAmountSchedule": {
            "title": "NonNegativeAmountSchedule",
            "description": "An instance of fpml5.confirmation.NonNegativeAmountSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonNegativeAmountSchedule",
                    "pattern": "^fpml5\\.confirmation\\.NonNegativeAmountSchedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.NonNegativeMoney": {
            "title": "NonNegativeMoney",
            "description": "An instance of fpml5.confirmation.NonNegativeMoney",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonNegativeMoney",
                    "pattern": "^fpml5\\.confirmation\\.NonNegativeMoney$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.NonNegativePayment": {
            "title": "NonNegativePayment",
            "description": "An instance of fpml5.confirmation.NonNegativePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonNegativePayment",
                    "pattern": "^fpml5\\.confirmation\\.NonNegativePayment$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NonNegativeSchedule": {
            "title": "NonNegativeSchedule",
            "description": "An instance of fpml5.confirmation.NonNegativeSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonNegativeSchedule",
                    "pattern": "^fpml5\\.confirmation\\.NonNegativeSchedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.NonNegativeStep": {
            "title": "NonNegativeStep",
            "description": "An instance of fpml5.confirmation.NonNegativeStep",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonNegativeStep",
                    "pattern": "^fpml5\\.confirmation\\.NonNegativeStep$",
                    "description": "The class identifier for this type"
                },
                "stepValue": {
                    "type": "number"
                },
                "stepDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "stepValue", "stepDate"]
        },
        "fpml5.confirmation.NonPeriodicFixedPriceLeg": {
            "title": "NonPeriodicFixedPriceLeg",
            "description": "An instance of fpml5.confirmation.NonPeriodicFixedPriceLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonPeriodicFixedPriceLeg",
                    "pattern": "^fpml5\\.confirmation\\.NonPeriodicFixedPriceLeg$",
                    "description": "The class identifier for this type"
                },
                "masterAgreementPaymentDates": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NonRecurringFeePaymentNotification": {
            "title": "NonRecurringFeePaymentNotification",
            "description": "An instance of fpml5.confirmation.NonRecurringFeePaymentNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonRecurringFeePaymentNotification",
                    "pattern": "^fpml5\\.confirmation\\.NonRecurringFeePaymentNotification$",
                    "description": "The class identifier for this type"
                },
                "facilityFeePaymentGroupGroup": {
                    "type": "string"
                },
                "loanContractDetailsModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "facilityFeePaymentGroupGroup", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.NonRecurringMiscFeeType": {
            "title": "NonRecurringMiscFeeType",
            "description": "An instance of fpml5.confirmation.NonRecurringMiscFeeType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NonRecurringMiscFeeType",
                    "pattern": "^fpml5\\.confirmation\\.NonRecurringMiscFeeType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "nonRecurringMiscFeeTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NotDomesticCurrency": {
            "title": "NotDomesticCurrency",
            "description": "An instance of fpml5.confirmation.NotDomesticCurrency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotDomesticCurrency",
                    "pattern": "^fpml5\\.confirmation\\.NotDomesticCurrency$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.NotificationMessageHeader": {
            "title": "NotificationMessageHeader",
            "description": "An instance of fpml5.confirmation.NotificationMessageHeader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotificationMessageHeader",
                    "pattern": "^fpml5\\.confirmation\\.NotificationMessageHeader$",
                    "description": "The class identifier for this type"
                },
                "creationTimestamp": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTimestamp": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "creationTimestamp"]
        },
        "fpml5.confirmation.NotifyingParty": {
            "title": "NotifyingParty",
            "description": "An instance of fpml5.confirmation.NotifyingParty",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotifyingParty",
                    "pattern": "^fpml5\\.confirmation\\.NotifyingParty$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Notional": {
            "title": "Notional",
            "description": "An instance of fpml5.confirmation.Notional",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Notional",
                    "pattern": "^fpml5\\.confirmation\\.Notional$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NotionalAmount": {
            "title": "NotionalAmount",
            "description": "An instance of fpml5.confirmation.NotionalAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotionalAmount",
                    "pattern": "^fpml5\\.confirmation\\.NotionalAmount$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.NotionalAmountReference": {
            "title": "NotionalAmountReference",
            "description": "An instance of fpml5.confirmation.NotionalAmountReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotionalAmountReference",
                    "pattern": "^fpml5\\.confirmation\\.NotionalAmountReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.NotionalReference": {
            "title": "NotionalReference",
            "description": "An instance of fpml5.confirmation.NotionalReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotionalReference",
                    "pattern": "^fpml5\\.confirmation\\.NotionalReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NotionalReportingType": {
            "title": "NotionalReportingType",
            "description": "An instance of fpml5.confirmation.NotionalReportingType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotionalReportingType",
                    "pattern": "^fpml5\\.confirmation\\.NotionalReportingType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "notionalTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NotionalStepRule": {
            "title": "NotionalStepRule",
            "description": "An instance of fpml5.confirmation.NotionalStepRule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NotionalStepRule",
                    "pattern": "^fpml5\\.confirmation\\.NotionalStepRule$",
                    "description": "The class identifier for this type"
                },
                "firstNotionalStepDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "lastNotionalStepDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "notionalStepAmount": {
                    "type": "number"
                },
                "notionalStepRate": {
                    "type": "number"
                },
                "stepRelativeTo": {
                    "$ref": "#/definitions/fpml5.confirmation.StepRelativeToEnum"
                }
            },
            "required": ["$class", "firstNotionalStepDate", "lastNotionalStepDate"]
        },
        "fpml5.confirmation.NoTouchLowerBarrierObservation": {
            "title": "NoTouchLowerBarrierObservation",
            "description": "An instance of fpml5.confirmation.NoTouchLowerBarrierObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NoTouchLowerBarrierObservation",
                    "pattern": "^fpml5\\.confirmation\\.NoTouchLowerBarrierObservation$",
                    "description": "The class identifier for this type"
                },
                "triggerRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NoTouchRateObservation": {
            "title": "NoTouchRateObservation",
            "description": "An instance of fpml5.confirmation.NoTouchRateObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NoTouchRateObservation",
                    "pattern": "^fpml5\\.confirmation\\.NoTouchRateObservation$",
                    "description": "The class identifier for this type"
                },
                "observationStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationEndDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "exerciseSide": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseSideEnum"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "isExercisable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "observationStartDate", "observationEndDate"]
        },
        "fpml5.confirmation.NoTouchUpperBarrierObservation": {
            "title": "NoTouchUpperBarrierObservation",
            "description": "An instance of fpml5.confirmation.NoTouchUpperBarrierObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NoTouchUpperBarrierObservation",
                    "pattern": "^fpml5\\.confirmation\\.NoTouchUpperBarrierObservation$",
                    "description": "The class identifier for this type"
                },
                "triggerRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NumberOfOptionsReference": {
            "title": "NumberOfOptionsReference",
            "description": "An instance of fpml5.confirmation.NumberOfOptionsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NumberOfOptionsReference",
                    "pattern": "^fpml5\\.confirmation\\.NumberOfOptionsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.NumberOfUnitsReference": {
            "title": "NumberOfUnitsReference",
            "description": "An instance of fpml5.confirmation.NumberOfUnitsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.NumberOfUnitsReference",
                    "pattern": "^fpml5\\.confirmation\\.NumberOfUnitsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ObligationAccelerationEvent": {
            "title": "ObligationAccelerationEvent",
            "description": "An instance of fpml5.confirmation.ObligationAccelerationEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ObligationAccelerationEvent",
                    "pattern": "^fpml5\\.confirmation\\.ObligationAccelerationEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ObligationDefaultEvent": {
            "title": "ObligationDefaultEvent",
            "description": "An instance of fpml5.confirmation.ObligationDefaultEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ObligationDefaultEvent",
                    "pattern": "^fpml5\\.confirmation\\.ObligationDefaultEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Obligations": {
            "title": "Obligations",
            "description": "An instance of fpml5.confirmation.Obligations",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Obligations",
                    "pattern": "^fpml5\\.confirmation\\.Obligations$",
                    "description": "The class identifier for this type"
                },
                "category": {
                    "$ref": "#/definitions/fpml5.confirmation.ObligationCategoryEnum"
                },
                "notSubordinated": {
                    "type": "boolean"
                },
                "notSovereignLender": {
                    "type": "boolean"
                },
                "notDomesticLaw": {
                    "type": "boolean"
                },
                "listed": {
                    "type": "boolean"
                },
                "notDomesticIssuance": {
                    "type": "boolean"
                },
                "fullFaithAndCreditObLiability": {
                    "type": "boolean"
                },
                "generalFundObligationLiability": {
                    "type": "boolean"
                },
                "revenueObligationLiability": {
                    "type": "boolean"
                },
                "notContingent": {
                    "type": "boolean"
                },
                "excluded": {
                    "type": "string"
                },
                "othReferenceEntityObligations": {
                    "type": "string"
                },
                "cashSettlementOnly": {
                    "type": "boolean"
                },
                "deliveryOfCommitments": {
                    "type": "boolean"
                },
                "continuity": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "category"]
        },
        "fpml5.confirmation.ObservationFrequency": {
            "title": "ObservationFrequency",
            "description": "An instance of fpml5.confirmation.ObservationFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ObservationFrequency",
                    "pattern": "^fpml5\\.confirmation\\.ObservationFrequency$",
                    "description": "The class identifier for this type"
                },
                "periodConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.RollConventionEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.ObservedPrice": {
            "title": "ObservedPrice",
            "description": "An instance of fpml5.confirmation.ObservedPrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ObservedPrice",
                    "pattern": "^fpml5\\.confirmation\\.ObservedPrice$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ObservedRate": {
            "title": "ObservedRate",
            "description": "An instance of fpml5.confirmation.ObservedRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ObservedRate",
                    "pattern": "^fpml5\\.confirmation\\.ObservedRate$",
                    "description": "The class identifier for this type"
                },
                "rate": {
                    "type": "number"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "rate"]
        },
        "fpml5.confirmation.Offset": {
            "title": "Offset",
            "description": "An instance of fpml5.confirmation.Offset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Offset",
                    "pattern": "^fpml5\\.confirmation\\.Offset$",
                    "description": "The class identifier for this type"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.OffsetPrevailingTime": {
            "title": "OffsetPrevailingTime",
            "description": "An instance of fpml5.confirmation.OffsetPrevailingTime",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OffsetPrevailingTime",
                    "pattern": "^fpml5\\.confirmation\\.OffsetPrevailingTime$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OilDelivery": {
            "title": "OilDelivery",
            "description": "An instance of fpml5.confirmation.OilDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OilDelivery",
                    "pattern": "^fpml5\\.confirmation\\.OilDelivery$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OilPhysicalLeg": {
            "title": "OilPhysicalLeg",
            "description": "An instance of fpml5.confirmation.OilPhysicalLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OilPhysicalLeg",
                    "pattern": "^fpml5\\.confirmation\\.OilPhysicalLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OilPipelineDelivery": {
            "title": "OilPipelineDelivery",
            "description": "An instance of fpml5.confirmation.OilPipelineDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OilPipelineDelivery",
                    "pattern": "^fpml5\\.confirmation\\.OilPipelineDelivery$",
                    "description": "The class identifier for this type"
                },
                "deliverableByBarge": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "deliverableByBarge"]
        },
        "fpml5.confirmation.OilProduct": {
            "title": "OilProduct",
            "description": "An instance of fpml5.confirmation.OilProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OilProduct",
                    "pattern": "^fpml5\\.confirmation\\.OilProduct$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OilProductType": {
            "title": "OilProductType",
            "description": "An instance of fpml5.confirmation.OilProductType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OilProductType",
                    "pattern": "^fpml5\\.confirmation\\.OilProductType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "commodityOilProductTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OilTransferDelivery": {
            "title": "OilTransferDelivery",
            "description": "An instance of fpml5.confirmation.OilTransferDelivery",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OilTransferDelivery",
                    "pattern": "^fpml5\\.confirmation\\.OilTransferDelivery$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.OnBehalfOf": {
            "title": "OnBehalfOf",
            "description": "An instance of fpml5.confirmation.OnBehalfOf",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OnBehalfOf",
                    "pattern": "^fpml5\\.confirmation\\.OnBehalfOf$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionalEarlyTermination": {
            "title": "OptionalEarlyTermination",
            "description": "An instance of fpml5.confirmation.OptionalEarlyTermination",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionalEarlyTermination",
                    "pattern": "^fpml5\\.confirmation\\.OptionalEarlyTermination$",
                    "description": "The class identifier for this type"
                },
                "exerciseGroup": {
                    "type": "string"
                },
                "followUpConfirmation": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "exerciseGroup"]
        },
        "fpml5.confirmation.OptionalEarlyTerminationAdjustedDates": {
            "title": "OptionalEarlyTerminationAdjustedDates",
            "description": "An instance of fpml5.confirmation.OptionalEarlyTerminationAdjustedDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionalEarlyTerminationAdjustedDates",
                    "pattern": "^fpml5\\.confirmation\\.OptionalEarlyTerminationAdjustedDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionEvent": {
            "title": "OptionEvent",
            "description": "An instance of fpml5.confirmation.OptionEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionEvent",
                    "pattern": "^fpml5\\.confirmation\\.OptionEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionExercise": {
            "title": "OptionExercise",
            "description": "An instance of fpml5.confirmation.OptionExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionExercise",
                    "pattern": "^fpml5\\.confirmation\\.OptionExercise$",
                    "description": "The class identifier for this type"
                },
                "exerciseDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "exerciseTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "exerciseTiming": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseTimingEnum"
                },
                "exerciseAction": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseActionEnum"
                },
                "expiry": {
                    "type": "boolean"
                },
                "fullExercise": {
                    "type": "boolean"
                },
                "exerciseInNumberOfOptions": {
                    "type": "number"
                },
                "outstandingNumberOfOptions": {
                    "type": "number"
                },
                "exerciseInNumberOfUnits": {
                    "type": "number"
                },
                "outstandingNumberOfUnits": {
                    "type": "number"
                },
                "exerciseSide": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseSideEnum"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionExerciseAmounts": {
            "title": "OptionExerciseAmounts",
            "description": "An instance of fpml5.confirmation.OptionExerciseAmounts",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionExerciseAmounts",
                    "pattern": "^fpml5\\.confirmation\\.OptionExerciseAmounts$",
                    "description": "The class identifier for this type"
                },
                "exerciseInNumberOfOptions": {
                    "type": "number"
                },
                "outstandingNumberOfOptions": {
                    "type": "number"
                },
                "exerciseInNumberOfUnits": {
                    "type": "number"
                },
                "outstandingNumberOfUnits": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionExpiry": {
            "title": "OptionExpiry",
            "description": "An instance of fpml5.confirmation.OptionExpiry",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionExpiry",
                    "pattern": "^fpml5\\.confirmation\\.OptionExpiry$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "date", "time"]
        },
        "fpml5.confirmation.OptionExpiryBase": {
            "title": "OptionExpiryBase",
            "description": "An instance of fpml5.confirmation.OptionExpiryBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionExpiryBase",
                    "pattern": "^fpml5\\.confirmation\\.OptionExpiryBase$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "date", "time"]
        },
        "fpml5.confirmation.OptionFeature": {
            "title": "OptionFeature",
            "description": "An instance of fpml5.confirmation.OptionFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionFeature",
                    "pattern": "^fpml5\\.confirmation\\.OptionFeature$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionFeatures": {
            "title": "OptionFeatures",
            "description": "An instance of fpml5.confirmation.OptionFeatures",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionFeatures",
                    "pattern": "^fpml5\\.confirmation\\.OptionFeatures$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionNumericStrike": {
            "title": "OptionNumericStrike",
            "description": "An instance of fpml5.confirmation.OptionNumericStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionNumericStrike",
                    "pattern": "^fpml5\\.confirmation\\.OptionNumericStrike$",
                    "description": "The class identifier for this type"
                },
                "strikePrice": {
                    "type": "number"
                },
                "strikePercentage": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionStrike": {
            "title": "OptionStrike",
            "description": "An instance of fpml5.confirmation.OptionStrike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionStrike",
                    "pattern": "^fpml5\\.confirmation\\.OptionStrike$",
                    "description": "The class identifier for this type"
                },
                "strikePrice": {
                    "type": "number"
                },
                "strikePercentage": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OptionType": {
            "title": "OptionType",
            "description": "An instance of fpml5.confirmation.OptionType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OptionType",
                    "pattern": "^fpml5\\.confirmation\\.OptionType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "optionTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OrderId": {
            "title": "OrderId",
            "description": "An instance of fpml5.confirmation.OrderId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OrderId",
                    "pattern": "^fpml5\\.confirmation\\.OrderId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "orderIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OrderIdentifier": {
            "title": "OrderIdentifier",
            "description": "An instance of fpml5.confirmation.OrderIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OrderIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.OrderIdentifier$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OrganizationCharacteristic": {
            "title": "OrganizationCharacteristic",
            "description": "An instance of fpml5.confirmation.OrganizationCharacteristic",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OrganizationCharacteristic",
                    "pattern": "^fpml5\\.confirmation\\.OrganizationCharacteristic$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "organizationCharacteristicScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OrganizationType": {
            "title": "OrganizationType",
            "description": "An instance of fpml5.confirmation.OrganizationType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OrganizationType",
                    "pattern": "^fpml5\\.confirmation\\.OrganizationType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "organizationTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OriginalMessageType": {
            "title": "OriginalMessageType",
            "description": "An instance of fpml5.confirmation.OriginalMessageType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OriginalMessageType",
                    "pattern": "^fpml5\\.confirmation\\.OriginalMessageType$",
                    "description": "The class identifier for this type"
                },
                "any": {
                    "type": "string"
                }
            },
            "required": ["$class", "any"]
        },
        "fpml5.confirmation.OriginatingEvent": {
            "title": "OriginatingEvent",
            "description": "An instance of fpml5.confirmation.OriginatingEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OriginatingEvent",
                    "pattern": "^fpml5\\.confirmation\\.OriginatingEvent$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "originatingEventScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OtcClassification": {
            "title": "OtcClassification",
            "description": "An instance of fpml5.confirmation.OtcClassification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OtcClassification",
                    "pattern": "^fpml5\\.confirmation\\.OtcClassification$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "otcClassificationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OtherAgreement": {
            "title": "OtherAgreement",
            "description": "An instance of fpml5.confirmation.OtherAgreement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OtherAgreement",
                    "pattern": "^fpml5\\.confirmation\\.OtherAgreement$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OtherAgreementId": {
            "title": "OtherAgreementId",
            "description": "An instance of fpml5.confirmation.OtherAgreementId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OtherAgreementId",
                    "pattern": "^fpml5\\.confirmation\\.OtherAgreementId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "agreementIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OtherAgreementType": {
            "title": "OtherAgreementType",
            "description": "An instance of fpml5.confirmation.OtherAgreementType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OtherAgreementType",
                    "pattern": "^fpml5\\.confirmation\\.OtherAgreementType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "agreementTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OtherAgreementVersion": {
            "title": "OtherAgreementVersion",
            "description": "An instance of fpml5.confirmation.OtherAgreementVersion",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OtherAgreementVersion",
                    "pattern": "^fpml5\\.confirmation\\.OtherAgreementVersion$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "agreementVersionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OutstandingContractsStatement": {
            "title": "OutstandingContractsStatement",
            "description": "An instance of fpml5.confirmation.OutstandingContractsStatement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OutstandingContractsStatement",
                    "pattern": "^fpml5\\.confirmation\\.OutstandingContractsStatement$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "statementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comments": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "statementDate", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.OutstandingsPosition": {
            "title": "OutstandingsPosition",
            "description": "An instance of fpml5.confirmation.OutstandingsPosition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OutstandingsPosition",
                    "pattern": "^fpml5\\.confirmation\\.OutstandingsPosition$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.OverrideId": {
            "title": "OverrideId",
            "description": "An instance of fpml5.confirmation.OverrideId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OverrideId",
                    "pattern": "^fpml5\\.confirmation\\.OverrideId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "overrideIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "overrideIdScheme"]
        },
        "fpml5.confirmation.OverrideIdentifier": {
            "title": "OverrideIdentifier",
            "description": "An instance of fpml5.confirmation.OverrideIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.OverrideIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.OverrideIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PackageHeader": {
            "title": "PackageHeader",
            "description": "An instance of fpml5.confirmation.PackageHeader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PackageHeader",
                    "pattern": "^fpml5\\.confirmation\\.PackageHeader$",
                    "description": "The class identifier for this type"
                },
                "size": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PackageInformation": {
            "title": "PackageInformation",
            "description": "An instance of fpml5.confirmation.PackageInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PackageInformation",
                    "pattern": "^fpml5\\.confirmation\\.PackageInformation$",
                    "description": "The class identifier for this type"
                },
                "intentToAllocate": {
                    "type": "boolean"
                },
                "intentToClear": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PackageSummary": {
            "title": "PackageSummary",
            "description": "An instance of fpml5.confirmation.PackageSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PackageSummary",
                    "pattern": "^fpml5\\.confirmation\\.PackageSummary$",
                    "description": "The class identifier for this type"
                },
                "size": {
                    "type": "number"
                },
                "sequenceNumber": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PackageType": {
            "title": "PackageType",
            "description": "An instance of fpml5.confirmation.PackageType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PackageType",
                    "pattern": "^fpml5\\.confirmation\\.PackageType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "packageTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ParametricAdjustment": {
            "title": "ParametricAdjustment",
            "description": "An instance of fpml5.confirmation.ParametricAdjustment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ParametricAdjustment",
                    "pattern": "^fpml5\\.confirmation\\.ParametricAdjustment$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": ["$class", "name"]
        },
        "fpml5.confirmation.ParametricAdjustmentPoint": {
            "title": "ParametricAdjustmentPoint",
            "description": "An instance of fpml5.confirmation.ParametricAdjustmentPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ParametricAdjustmentPoint",
                    "pattern": "^fpml5\\.confirmation\\.ParametricAdjustmentPoint$",
                    "description": "The class identifier for this type"
                },
                "parameterValue": {
                    "type": "number"
                },
                "adjustmentValue": {
                    "type": "number"
                }
            },
            "required": ["$class", "parameterValue", "adjustmentValue"]
        },
        "fpml5.confirmation.PartialExercise": {
            "title": "PartialExercise",
            "description": "An instance of fpml5.confirmation.PartialExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartialExercise",
                    "pattern": "^fpml5\\.confirmation\\.PartialExercise$",
                    "description": "The class identifier for this type"
                },
                "integralMultipleAmount": {
                    "type": "number"
                },
                "minimumNotionalAmount": {
                    "type": "number"
                },
                "minimumNumberOfOptions": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Party": {
            "title": "Party",
            "description": "An instance of fpml5.confirmation.Party",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Party",
                    "pattern": "^fpml5\\.confirmation\\.Party$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "id"]
        },
        "fpml5.confirmation.PartyEntityClassification": {
            "title": "PartyEntityClassification",
            "description": "An instance of fpml5.confirmation.PartyEntityClassification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyEntityClassification",
                    "pattern": "^fpml5\\.confirmation\\.PartyEntityClassification$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyGroupType": {
            "title": "PartyGroupType",
            "description": "An instance of fpml5.confirmation.PartyGroupType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyGroupType",
                    "pattern": "^fpml5\\.confirmation\\.PartyGroupType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "partyGroupTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyId": {
            "title": "PartyId",
            "description": "An instance of fpml5.confirmation.PartyId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyId",
                    "pattern": "^fpml5\\.confirmation\\.PartyId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "partyIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "partyIdScheme"]
        },
        "fpml5.confirmation.PartyMessageInformation": {
            "title": "PartyMessageInformation",
            "description": "An instance of fpml5.confirmation.PartyMessageInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyMessageInformation",
                    "pattern": "^fpml5\\.confirmation\\.PartyMessageInformation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyName": {
            "title": "PartyName",
            "description": "An instance of fpml5.confirmation.PartyName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyName",
                    "pattern": "^fpml5\\.confirmation\\.PartyName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "partyNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyNoticePeriod": {
            "title": "PartyNoticePeriod",
            "description": "An instance of fpml5.confirmation.PartyNoticePeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyNoticePeriod",
                    "pattern": "^fpml5\\.confirmation\\.PartyNoticePeriod$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyPortfolioName": {
            "title": "PartyPortfolioName",
            "description": "An instance of fpml5.confirmation.PartyPortfolioName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyPortfolioName",
                    "pattern": "^fpml5\\.confirmation\\.PartyPortfolioName$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyProfile": {
            "title": "PartyProfile",
            "description": "An instance of fpml5.confirmation.PartyProfile",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyProfile",
                    "pattern": "^fpml5\\.confirmation\\.PartyProfile$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.PartyProfileDocumentation": {
            "title": "PartyProfileDocumentation",
            "description": "An instance of fpml5.confirmation.PartyProfileDocumentation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyProfileDocumentation",
                    "pattern": "^fpml5\\.confirmation\\.PartyProfileDocumentation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyProfileId": {
            "title": "PartyProfileId",
            "description": "An instance of fpml5.confirmation.PartyProfileId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyProfileId",
                    "pattern": "^fpml5\\.confirmation\\.PartyProfileId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "partyProfileIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "partyProfileIdScheme"]
        },
        "fpml5.confirmation.PartyProfileIdentifier": {
            "title": "PartyProfileIdentifier",
            "description": "An instance of fpml5.confirmation.PartyProfileIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyProfileIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.PartyProfileIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyReference": {
            "title": "PartyReference",
            "description": "An instance of fpml5.confirmation.PartyReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyReference",
                    "pattern": "^fpml5\\.confirmation\\.PartyReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyRelationshipType": {
            "title": "PartyRelationshipType",
            "description": "An instance of fpml5.confirmation.PartyRelationshipType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyRelationshipType",
                    "pattern": "^fpml5\\.confirmation\\.PartyRelationshipType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "partyRelationshipTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyRole": {
            "title": "PartyRole",
            "description": "An instance of fpml5.confirmation.PartyRole",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyRole",
                    "pattern": "^fpml5\\.confirmation\\.PartyRole$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "partyRoleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyRoleType": {
            "title": "PartyRoleType",
            "description": "An instance of fpml5.confirmation.PartyRoleType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyRoleType",
                    "pattern": "^fpml5\\.confirmation\\.PartyRoleType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "partyRoleTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyTradeIdentifier": {
            "title": "PartyTradeIdentifier",
            "description": "An instance of fpml5.confirmation.PartyTradeIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyTradeIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.PartyTradeIdentifier$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyTradeIdentifierReference": {
            "title": "PartyTradeIdentifierReference",
            "description": "An instance of fpml5.confirmation.PartyTradeIdentifierReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyTradeIdentifierReference",
                    "pattern": "^fpml5\\.confirmation\\.PartyTradeIdentifierReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyTradeIdentifiers": {
            "title": "PartyTradeIdentifiers",
            "description": "An instance of fpml5.confirmation.PartyTradeIdentifiers",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyTradeIdentifiers",
                    "pattern": "^fpml5\\.confirmation\\.PartyTradeIdentifiers$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PartyTradeInformation": {
            "title": "PartyTradeInformation",
            "description": "An instance of fpml5.confirmation.PartyTradeInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PartyTradeInformation",
                    "pattern": "^fpml5\\.confirmation\\.PartyTradeInformation$",
                    "description": "The class identifier for this type"
                },
                "isAccountingHedge": {
                    "type": "boolean"
                },
                "intentToAllocate": {
                    "type": "boolean"
                },
                "intentToClear": {
                    "type": "boolean"
                },
                "endUserException": {
                    "type": "boolean"
                },
                "nonStandardTerms": {
                    "type": "boolean"
                },
                "offMarketPrice": {
                    "type": "boolean"
                },
                "largeSizeTrade": {
                    "type": "boolean"
                },
                "compressedTrade": {
                    "type": "boolean"
                },
                "isSecuritiesFinancing": {
                    "type": "boolean"
                },
                "isCommodityHedge": {
                    "type": "boolean"
                },
                "isDisputed": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PassThrough": {
            "title": "PassThrough",
            "description": "An instance of fpml5.confirmation.PassThrough",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PassThrough",
                    "pattern": "^fpml5\\.confirmation\\.PassThrough$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PassThroughItem": {
            "title": "PassThroughItem",
            "description": "An instance of fpml5.confirmation.PassThroughItem",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PassThroughItem",
                    "pattern": "^fpml5\\.confirmation\\.PassThroughItem$",
                    "description": "The class identifier for this type"
                },
                "passThroughPercentage": {
                    "type": "number"
                }
            },
            "required": ["$class", "passThroughPercentage"]
        },
        "fpml5.confirmation.Payment": {
            "title": "Payment",
            "description": "An instance of fpml5.confirmation.Payment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Payment",
                    "pattern": "^fpml5\\.confirmation\\.Payment$",
                    "description": "The class identifier for this type"
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PaymentCalculationPeriod": {
            "title": "PaymentCalculationPeriod",
            "description": "An instance of fpml5.confirmation.PaymentCalculationPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentCalculationPeriod",
                    "pattern": "^fpml5\\.confirmation\\.PaymentCalculationPeriod$",
                    "description": "The class identifier for this type"
                },
                "unadjustedPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "fixedPaymentAmount": {
                    "type": "number"
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PaymentDates": {
            "title": "PaymentDates",
            "description": "An instance of fpml5.confirmation.PaymentDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentDates",
                    "pattern": "^fpml5\\.confirmation\\.PaymentDates$",
                    "description": "The class identifier for this type"
                },
                "firstPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "lastRegularPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "payRelativeTo": {
                    "$ref": "#/definitions/fpml5.confirmation.PayRelativeToEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "payRelativeTo"]
        },
        "fpml5.confirmation.PaymentDatesReference": {
            "title": "PaymentDatesReference",
            "description": "An instance of fpml5.confirmation.PaymentDatesReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentDatesReference",
                    "pattern": "^fpml5\\.confirmation\\.PaymentDatesReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PaymentDetail": {
            "title": "PaymentDetail",
            "description": "An instance of fpml5.confirmation.PaymentDetail",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentDetail",
                    "pattern": "^fpml5\\.confirmation\\.PaymentDetail$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PaymentDetails": {
            "title": "PaymentDetails",
            "description": "An instance of fpml5.confirmation.PaymentDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentDetails",
                    "pattern": "^fpml5\\.confirmation\\.PaymentDetails$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PaymentProjection": {
            "title": "PaymentProjection",
            "description": "An instance of fpml5.confirmation.PaymentProjection",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentProjection",
                    "pattern": "^fpml5\\.confirmation\\.PaymentProjection$",
                    "description": "The class identifier for this type"
                },
                "nextPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "nextPaymentDate"]
        },
        "fpml5.confirmation.PaymentReference": {
            "title": "PaymentReference",
            "description": "An instance of fpml5.confirmation.PaymentReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentReference",
                    "pattern": "^fpml5\\.confirmation\\.PaymentReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PaymentType": {
            "title": "PaymentType",
            "description": "An instance of fpml5.confirmation.PaymentType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PaymentType",
                    "pattern": "^fpml5\\.confirmation\\.PaymentType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "paymentTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PCDeliverableObligationCharac": {
            "title": "PCDeliverableObligationCharac",
            "description": "An instance of fpml5.confirmation.PCDeliverableObligationCharac",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PCDeliverableObligationCharac",
                    "pattern": "^fpml5\\.confirmation\\.PCDeliverableObligationCharac$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                },
                "partialCashSettlement": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.PenaltyRateChange": {
            "title": "PenaltyRateChange",
            "description": "An instance of fpml5.confirmation.PenaltyRateChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PenaltyRateChange",
                    "pattern": "^fpml5\\.confirmation\\.PenaltyRateChange$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.PenaltyRateExpiry": {
            "title": "PenaltyRateExpiry",
            "description": "An instance of fpml5.confirmation.PenaltyRateExpiry",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PenaltyRateExpiry",
                    "pattern": "^fpml5\\.confirmation\\.PenaltyRateExpiry$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.PendingPayment": {
            "title": "PendingPayment",
            "description": "An instance of fpml5.confirmation.PendingPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PendingPayment",
                    "pattern": "^fpml5\\.confirmation\\.PendingPayment$",
                    "description": "The class identifier for this type"
                },
                "paymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "paymentDate"]
        },
        "fpml5.confirmation.PercentageRule": {
            "title": "PercentageRule",
            "description": "An instance of fpml5.confirmation.PercentageRule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PercentageRule",
                    "pattern": "^fpml5\\.confirmation\\.PercentageRule$",
                    "description": "The class identifier for this type"
                },
                "paymentPercent": {
                    "type": "number"
                }
            },
            "required": ["$class", "paymentPercent"]
        },
        "fpml5.confirmation.PercentageTolerance": {
            "title": "PercentageTolerance",
            "description": "An instance of fpml5.confirmation.PercentageTolerance",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PercentageTolerance",
                    "pattern": "^fpml5\\.confirmation\\.PercentageTolerance$",
                    "description": "The class identifier for this type"
                },
                "postitive": {
                    "type": "number"
                },
                "negative": {
                    "type": "number"
                }
            },
            "required": ["$class", "postitive", "negative"]
        },
        "fpml5.confirmation.Period": {
            "title": "Period",
            "description": "An instance of fpml5.confirmation.Period",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Period",
                    "pattern": "^fpml5\\.confirmation\\.Period$",
                    "description": "The class identifier for this type"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.PeriodicDates": {
            "title": "PeriodicDates",
            "description": "An instance of fpml5.confirmation.PeriodicDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PeriodicDates",
                    "pattern": "^fpml5\\.confirmation\\.PeriodicDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PeriodicPayment": {
            "title": "PeriodicPayment",
            "description": "An instance of fpml5.confirmation.PeriodicPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PeriodicPayment",
                    "pattern": "^fpml5\\.confirmation\\.PeriodicPayment$",
                    "description": "The class identifier for this type"
                },
                "firstPeriodStartDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "firstPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "lastRegularPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "rollConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.RollConventionEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PeriodRate": {
            "title": "PeriodRate",
            "description": "An instance of fpml5.confirmation.PeriodRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PeriodRate",
                    "pattern": "^fpml5\\.confirmation\\.PeriodRate$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "rate"]
        },
        "fpml5.confirmation.Person": {
            "title": "Person",
            "description": "An instance of fpml5.confirmation.Person",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Person",
                    "pattern": "^fpml5\\.confirmation\\.Person$",
                    "description": "The class identifier for this type"
                },
                "honorific": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "middleName": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "initial": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "surname": {
                    "type": "string"
                },
                "suffix": {
                    "type": "string"
                },
                "dateOfBirth": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PersonId": {
            "title": "PersonId",
            "description": "An instance of fpml5.confirmation.PersonId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PersonId",
                    "pattern": "^fpml5\\.confirmation\\.PersonId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "personIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PersonReference": {
            "title": "PersonReference",
            "description": "An instance of fpml5.confirmation.PersonReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PersonReference",
                    "pattern": "^fpml5\\.confirmation\\.PersonReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PersonRole": {
            "title": "PersonRole",
            "description": "An instance of fpml5.confirmation.PersonRole",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PersonRole",
                    "pattern": "^fpml5\\.confirmation\\.PersonRole$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "personRoleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PerturbationType": {
            "title": "PerturbationType",
            "description": "An instance of fpml5.confirmation.PerturbationType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PerturbationType",
                    "pattern": "^fpml5\\.confirmation\\.PerturbationType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "perturbationTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PhysicalSettlement": {
            "title": "PhysicalSettlement",
            "description": "An instance of fpml5.confirmation.PhysicalSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PhysicalSettlement",
                    "pattern": "^fpml5\\.confirmation\\.PhysicalSettlement$",
                    "description": "The class identifier for this type"
                },
                "productGroup": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PhysicalSettlementPeriod": {
            "title": "PhysicalSettlementPeriod",
            "description": "An instance of fpml5.confirmation.PhysicalSettlementPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PhysicalSettlementPeriod",
                    "pattern": "^fpml5\\.confirmation\\.PhysicalSettlementPeriod$",
                    "description": "The class identifier for this type"
                },
                "businessDaysNotSpecified": {
                    "type": "boolean"
                },
                "businessDays": {
                    "type": "integer"
                },
                "maximumBusinessDays": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PhysicalSettlementTerms": {
            "title": "PhysicalSettlementTerms",
            "description": "An instance of fpml5.confirmation.PhysicalSettlementTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PhysicalSettlementTerms",
                    "pattern": "^fpml5\\.confirmation\\.PhysicalSettlementTerms$",
                    "description": "The class identifier for this type"
                },
                "escrow": {
                    "type": "boolean"
                },
                "sixtyBusinessDaySettlementCap": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Portfolio": {
            "title": "Portfolio",
            "description": "An instance of fpml5.confirmation.Portfolio",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Portfolio",
                    "pattern": "^fpml5\\.confirmation\\.Portfolio$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PortfolioConstituentReference": {
            "title": "PortfolioConstituentReference",
            "description": "An instance of fpml5.confirmation.PortfolioConstituentReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PortfolioConstituentReference",
                    "pattern": "^fpml5\\.confirmation\\.PortfolioConstituentReference$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                }
            },
            "required": ["$class", "sequenceNumber"]
        },
        "fpml5.confirmation.PortfolioName": {
            "title": "PortfolioName",
            "description": "An instance of fpml5.confirmation.PortfolioName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PortfolioName",
                    "pattern": "^fpml5\\.confirmation\\.PortfolioName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "portfolioNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PortfolioReference": {
            "title": "PortfolioReference",
            "description": "An instance of fpml5.confirmation.PortfolioReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PortfolioReference",
                    "pattern": "^fpml5\\.confirmation\\.PortfolioReference$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "submissionsComplete": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "sequenceNumber"]
        },
        "fpml5.confirmation.PortfolioReferenceBase": {
            "title": "PortfolioReferenceBase",
            "description": "An instance of fpml5.confirmation.PortfolioReferenceBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PortfolioReferenceBase",
                    "pattern": "^fpml5\\.confirmation\\.PortfolioReferenceBase$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PositiveMoney": {
            "title": "PositiveMoney",
            "description": "An instance of fpml5.confirmation.PositiveMoney",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PositiveMoney",
                    "pattern": "^fpml5\\.confirmation\\.PositiveMoney$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.Postponement": {
            "title": "Postponement",
            "description": "An instance of fpml5.confirmation.Postponement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Postponement",
                    "pattern": "^fpml5\\.confirmation\\.Postponement$",
                    "description": "The class identifier for this type"
                },
                "maximumNumberOfDays": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Premium": {
            "title": "Premium",
            "description": "An instance of fpml5.confirmation.Premium",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Premium",
                    "pattern": "^fpml5\\.confirmation\\.Premium$",
                    "description": "The class identifier for this type"
                },
                "premiumType": {
                    "$ref": "#/definitions/fpml5.confirmation.PremiumTypeEnum"
                },
                "percentageOfNotional": {
                    "type": "number"
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PremiumQuote": {
            "title": "PremiumQuote",
            "description": "An instance of fpml5.confirmation.PremiumQuote",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PremiumQuote",
                    "pattern": "^fpml5\\.confirmation\\.PremiumQuote$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "number"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.PremiumQuoteBasisEnum"
                }
            },
            "required": ["$class", "value", "quoteBasis"]
        },
        "fpml5.confirmation.Prepayment": {
            "title": "Prepayment",
            "description": "An instance of fpml5.confirmation.Prepayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Prepayment",
                    "pattern": "^fpml5\\.confirmation\\.Prepayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.PrePayment1": {
            "title": "PrePayment1",
            "description": "An instance of fpml5.confirmation.PrePayment1",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrePayment1",
                    "pattern": "^fpml5\\.confirmation\\.PrePayment1$",
                    "description": "The class identifier for this type"
                },
                "prePayment": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "prePayment"]
        },
        "fpml5.confirmation.PrepaymentNotification": {
            "title": "PrepaymentNotification",
            "description": "An instance of fpml5.confirmation.PrepaymentNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrepaymentNotification",
                    "pattern": "^fpml5\\.confirmation\\.PrepaymentNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.PrevailingTime": {
            "title": "PrevailingTime",
            "description": "An instance of fpml5.confirmation.PrevailingTime",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrevailingTime",
                    "pattern": "^fpml5\\.confirmation\\.PrevailingTime$",
                    "description": "The class identifier for this type"
                },
                "hourMinuteTime": {
                    "$ref": "#/definitions/fpml5.confirmation.HourMinuteTime"
                }
            },
            "required": ["$class", "hourMinuteTime"]
        },
        "fpml5.confirmation.Price": {
            "title": "Price",
            "description": "An instance of fpml5.confirmation.Price",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Price",
                    "pattern": "^fpml5\\.confirmation\\.Price$",
                    "description": "The class identifier for this type"
                },
                "accruedInterestPrice": {
                    "type": "number"
                },
                "accruedInterestPrice1": {
                    "type": "number"
                },
                "cleanNetPrice": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PriceMateriality": {
            "title": "PriceMateriality",
            "description": "An instance of fpml5.confirmation.PriceMateriality",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PriceMateriality",
                    "pattern": "^fpml5\\.confirmation\\.PriceMateriality$",
                    "description": "The class identifier for this type"
                },
                "percentage": {
                    "type": "number"
                }
            },
            "required": ["$class", "percentage"]
        },
        "fpml5.confirmation.PriceQuoteUnits": {
            "title": "PriceQuoteUnits",
            "description": "An instance of fpml5.confirmation.PriceQuoteUnits",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PriceQuoteUnits",
                    "pattern": "^fpml5\\.confirmation\\.PriceQuoteUnits$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "priceQuoteUnitsScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PriceSourceDisruption": {
            "title": "PriceSourceDisruption",
            "description": "An instance of fpml5.confirmation.PriceSourceDisruption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PriceSourceDisruption",
                    "pattern": "^fpml5\\.confirmation\\.PriceSourceDisruption$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingContext": {
            "title": "PricingContext",
            "description": "An instance of fpml5.confirmation.PricingContext",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingContext",
                    "pattern": "^fpml5\\.confirmation\\.PricingContext$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "pricingContextScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingDataPointCoordinate": {
            "title": "PricingDataPointCoordinate",
            "description": "An instance of fpml5.confirmation.PricingDataPointCoordinate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingDataPointCoordinate",
                    "pattern": "^fpml5\\.confirmation\\.PricingDataPointCoordinate$",
                    "description": "The class identifier for this type"
                },
                "pricingStructureIndexModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "strike": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingDataPointCoordinateReference": {
            "title": "PricingDataPointCoordinateReference",
            "description": "An instance of fpml5.confirmation.PricingDataPointCoordinateReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingDataPointCoordinateReference",
                    "pattern": "^fpml5\\.confirmation\\.PricingDataPointCoordinateReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingInputReplacement": {
            "title": "PricingInputReplacement",
            "description": "An instance of fpml5.confirmation.PricingInputReplacement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingInputReplacement",
                    "pattern": "^fpml5\\.confirmation\\.PricingInputReplacement$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingInputType": {
            "title": "PricingInputType",
            "description": "An instance of fpml5.confirmation.PricingInputType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingInputType",
                    "pattern": "^fpml5\\.confirmation\\.PricingInputType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "pricingInputTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingMethod": {
            "title": "PricingMethod",
            "description": "An instance of fpml5.confirmation.PricingMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingMethod",
                    "pattern": "^fpml5\\.confirmation\\.PricingMethod$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingModel": {
            "title": "PricingModel",
            "description": "An instance of fpml5.confirmation.PricingModel",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingModel",
                    "pattern": "^fpml5\\.confirmation\\.PricingModel$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "pricingModelScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingParameterDerivative": {
            "title": "PricingParameterDerivative",
            "description": "An instance of fpml5.confirmation.PricingParameterDerivative",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingParameterDerivative",
                    "pattern": "^fpml5\\.confirmation\\.PricingParameterDerivative$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingParameterDerivativeReference": {
            "title": "PricingParameterDerivativeReference",
            "description": "An instance of fpml5.confirmation.PricingParameterDerivativeReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingParameterDerivativeReference",
                    "pattern": "^fpml5\\.confirmation\\.PricingParameterDerivativeReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingParameterShift": {
            "title": "PricingParameterShift",
            "description": "An instance of fpml5.confirmation.PricingParameterShift",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingParameterShift",
                    "pattern": "^fpml5\\.confirmation\\.PricingParameterShift$",
                    "description": "The class identifier for this type"
                },
                "shift": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "shift"]
        },
        "fpml5.confirmation.PricingStructurePoint": {
            "title": "PricingStructurePoint",
            "description": "An instance of fpml5.confirmation.PricingStructurePoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingStructurePoint",
                    "pattern": "^fpml5\\.confirmation\\.PricingStructurePoint$",
                    "description": "The class identifier for this type"
                },
                "pricingCoordinateOrReferenceModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "underlyingAssetGroup": {
                    "type": "string"
                },
                "value": {
                    "type": "number"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                },
                "valuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingStructureReference": {
            "title": "PricingStructureReference",
            "description": "An instance of fpml5.confirmation.PricingStructureReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingStructureReference",
                    "pattern": "^fpml5\\.confirmation\\.PricingStructureReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PricingStructureValuation": {
            "title": "PricingStructureValuation",
            "description": "An instance of fpml5.confirmation.PricingStructureValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PricingStructureValuation",
                    "pattern": "^fpml5\\.confirmation\\.PricingStructureValuation$",
                    "description": "The class identifier for this type"
                },
                "buildDateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PrincipalExchange": {
            "title": "PrincipalExchange",
            "description": "An instance of fpml5.confirmation.PrincipalExchange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrincipalExchange",
                    "pattern": "^fpml5\\.confirmation\\.PrincipalExchange$",
                    "description": "The class identifier for this type"
                },
                "unadjustedPrincipalExchangeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedPrincipalExchangeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "principalExchangeAmount": {
                    "type": "number"
                },
                "discountFactor": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PrincipalExchangeAmount": {
            "title": "PrincipalExchangeAmount",
            "description": "An instance of fpml5.confirmation.PrincipalExchangeAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrincipalExchangeAmount",
                    "pattern": "^fpml5\\.confirmation\\.PrincipalExchangeAmount$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PrincipalExchangeDescriptions": {
            "title": "PrincipalExchangeDescriptions",
            "description": "An instance of fpml5.confirmation.PrincipalExchangeDescriptions",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrincipalExchangeDescriptions",
                    "pattern": "^fpml5\\.confirmation\\.PrincipalExchangeDescriptions$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PrincipalExchangeFeatures": {
            "title": "PrincipalExchangeFeatures",
            "description": "An instance of fpml5.confirmation.PrincipalExchangeFeatures",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrincipalExchangeFeatures",
                    "pattern": "^fpml5\\.confirmation\\.PrincipalExchangeFeatures$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PrincipalExchanges": {
            "title": "PrincipalExchanges",
            "description": "An instance of fpml5.confirmation.PrincipalExchanges",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PrincipalExchanges",
                    "pattern": "^fpml5\\.confirmation\\.PrincipalExchanges$",
                    "description": "The class identifier for this type"
                },
                "initialExchange": {
                    "type": "boolean"
                },
                "finalExchange": {
                    "type": "boolean"
                },
                "intermediateExchange": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialExchange", "finalExchange", "intermediateExchange"]
        },
        "fpml5.confirmation.ProblemLocation": {
            "title": "ProblemLocation",
            "description": "An instance of fpml5.confirmation.ProblemLocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProblemLocation",
                    "pattern": "^fpml5\\.confirmation\\.ProblemLocation$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "locationType": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProductComponentIdentifier": {
            "title": "ProductComponentIdentifier",
            "description": "An instance of fpml5.confirmation.ProductComponentIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProductComponentIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.ProductComponentIdentifier$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProductId": {
            "title": "ProductId",
            "description": "An instance of fpml5.confirmation.ProductId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProductId",
                    "pattern": "^fpml5\\.confirmation\\.ProductId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "productIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProductReference": {
            "title": "ProductReference",
            "description": "An instance of fpml5.confirmation.ProductReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProductReference",
                    "pattern": "^fpml5\\.confirmation\\.ProductReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProductSummary": {
            "title": "ProductSummary",
            "description": "An instance of fpml5.confirmation.ProductSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProductSummary",
                    "pattern": "^fpml5\\.confirmation\\.ProductSummary$",
                    "description": "The class identifier for this type"
                },
                "finalSettlementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "indexFactor": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProductType": {
            "title": "ProductType",
            "description": "An instance of fpml5.confirmation.ProductType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProductType",
                    "pattern": "^fpml5\\.confirmation\\.ProductType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "productTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProposedCollateralAllocation": {
            "title": "ProposedCollateralAllocation",
            "description": "An instance of fpml5.confirmation.ProposedCollateralAllocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProposedCollateralAllocation",
                    "pattern": "^fpml5\\.confirmation\\.ProposedCollateralAllocation$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProRataFacilities": {
            "title": "ProRataFacilities",
            "description": "An instance of fpml5.confirmation.ProRataFacilities",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProRataFacilities",
                    "pattern": "^fpml5\\.confirmation\\.ProRataFacilities$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProtectionTerms": {
            "title": "ProtectionTerms",
            "description": "An instance of fpml5.confirmation.ProtectionTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProtectionTerms",
                    "pattern": "^fpml5\\.confirmation\\.ProtectionTerms$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ProtectionTermsReference": {
            "title": "ProtectionTermsReference",
            "description": "An instance of fpml5.confirmation.ProtectionTermsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ProtectionTermsReference",
                    "pattern": "^fpml5\\.confirmation\\.ProtectionTermsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.PubliclyAvailableInformation": {
            "title": "PubliclyAvailableInformation",
            "description": "An instance of fpml5.confirmation.PubliclyAvailableInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.PubliclyAvailableInformation",
                    "pattern": "^fpml5\\.confirmation\\.PubliclyAvailableInformation$",
                    "description": "The class identifier for this type"
                },
                "standardPublicSources": {
                    "type": "boolean"
                },
                "publicSource": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "specifiedNumber": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.QuantityReference": {
            "title": "QuantityReference",
            "description": "An instance of fpml5.confirmation.QuantityReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.QuantityReference",
                    "pattern": "^fpml5\\.confirmation\\.QuantityReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.QuantityUnit": {
            "title": "QuantityUnit",
            "description": "An instance of fpml5.confirmation.QuantityUnit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.QuantityUnit",
                    "pattern": "^fpml5\\.confirmation\\.QuantityUnit$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "quantityUnitScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Quanto": {
            "title": "Quanto",
            "description": "An instance of fpml5.confirmation.Quanto",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Quanto",
                    "pattern": "^fpml5\\.confirmation\\.Quanto$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Quotation": {
            "title": "Quotation",
            "description": "An instance of fpml5.confirmation.Quotation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Quotation",
                    "pattern": "^fpml5\\.confirmation\\.Quotation$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "number"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                },
                "valuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTime": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.QuotationCharacteristics": {
            "title": "QuotationCharacteristics",
            "description": "An instance of fpml5.confirmation.QuotationCharacteristics",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.QuotationCharacteristics",
                    "pattern": "^fpml5\\.confirmation\\.QuotationCharacteristics$",
                    "description": "The class identifier for this type"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                },
                "time": {
                    "format": "date-time",
                    "type": "string"
                },
                "valuationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTime": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.QuotedAssetSet": {
            "title": "QuotedAssetSet",
            "description": "An instance of fpml5.confirmation.QuotedAssetSet",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.QuotedAssetSet",
                    "pattern": "^fpml5\\.confirmation\\.QuotedAssetSet$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.QuotedCurrencyPair": {
            "title": "QuotedCurrencyPair",
            "description": "An instance of fpml5.confirmation.QuotedCurrencyPair",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.QuotedCurrencyPair",
                    "pattern": "^fpml5\\.confirmation\\.QuotedCurrencyPair$",
                    "description": "The class identifier for this type"
                },
                "quoteBasis": {
                    "$ref": "#/definitions/fpml5.confirmation.QuoteBasisEnum"
                }
            },
            "required": ["$class", "quoteBasis"]
        },
        "fpml5.confirmation.QuoteTiming": {
            "title": "QuoteTiming",
            "description": "An instance of fpml5.confirmation.QuoteTiming",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.QuoteTiming",
                    "pattern": "^fpml5\\.confirmation\\.QuoteTiming$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "quoteTimingScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RateIndex": {
            "title": "RateIndex",
            "description": "An instance of fpml5.confirmation.RateIndex",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RateIndex",
                    "pattern": "^fpml5\\.confirmation\\.RateIndex$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RateLimits": {
            "title": "RateLimits",
            "description": "An instance of fpml5.confirmation.RateLimits",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RateLimits",
                    "pattern": "^fpml5\\.confirmation\\.RateLimits$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RateObservation": {
            "title": "RateObservation",
            "description": "An instance of fpml5.confirmation.RateObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RateObservation",
                    "pattern": "^fpml5\\.confirmation\\.RateObservation$",
                    "description": "The class identifier for this type"
                },
                "resetDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedFixingDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "observedRate": {
                    "type": "number"
                },
                "treatedRate": {
                    "type": "number"
                },
                "observationWeight": {
                    "type": "integer"
                },
                "forecastRate": {
                    "type": "number"
                },
                "treatedForecastRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "observationWeight"]
        },
        "fpml5.confirmation.RateReference": {
            "title": "RateReference",
            "description": "An instance of fpml5.confirmation.RateReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RateReference",
                    "pattern": "^fpml5\\.confirmation\\.RateReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RateSourcePage": {
            "title": "RateSourcePage",
            "description": "An instance of fpml5.confirmation.RateSourcePage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RateSourcePage",
                    "pattern": "^fpml5\\.confirmation\\.RateSourcePage$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "rateSourcePageScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Reason": {
            "title": "Reason",
            "description": "An instance of fpml5.confirmation.Reason",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Reason",
                    "pattern": "^fpml5\\.confirmation\\.Reason$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReasonCode": {
            "title": "ReasonCode",
            "description": "An instance of fpml5.confirmation.ReasonCode",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReasonCode",
                    "pattern": "^fpml5\\.confirmation\\.ReasonCode$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "reasonCodeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceAmount": {
            "title": "ReferenceAmount",
            "description": "An instance of fpml5.confirmation.ReferenceAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceAmount",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceAmount$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "referenceAmountScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceBank": {
            "title": "ReferenceBank",
            "description": "An instance of fpml5.confirmation.ReferenceBank",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceBank",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceBank$",
                    "description": "The class identifier for this type"
                },
                "referenceBankName": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceBankId": {
            "title": "ReferenceBankId",
            "description": "An instance of fpml5.confirmation.ReferenceBankId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceBankId",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceBankId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "referenceBankIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceInformation": {
            "title": "ReferenceInformation",
            "description": "An instance of fpml5.confirmation.ReferenceInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceInformation",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceInformation$",
                    "description": "The class identifier for this type"
                },
                "noReferenceObligation": {
                    "type": "boolean"
                },
                "unknownReferenceObligation": {
                    "type": "boolean"
                },
                "allGuarantees": {
                    "type": "boolean"
                },
                "referencePrice": {
                    "type": "number"
                },
                "referencePolicy": {
                    "type": "boolean"
                },
                "securedList": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceLevel": {
            "title": "ReferenceLevel",
            "description": "An instance of fpml5.confirmation.ReferenceLevel",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceLevel",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceLevel$",
                    "description": "The class identifier for this type"
                },
                "amount": {
                    "type": "number"
                }
            },
            "required": ["$class", "amount"]
        },
        "fpml5.confirmation.ReferenceLevelUnit": {
            "title": "ReferenceLevelUnit",
            "description": "An instance of fpml5.confirmation.ReferenceLevelUnit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceLevelUnit",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceLevelUnit$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "weatherIndexReferenceLevelScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceObligation": {
            "title": "ReferenceObligation",
            "description": "An instance of fpml5.confirmation.ReferenceObligation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceObligation",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceObligation$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "standardReferenceObligation": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferencePair": {
            "title": "ReferencePair",
            "description": "An instance of fpml5.confirmation.ReferencePair",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferencePair",
                    "pattern": "^fpml5\\.confirmation\\.ReferencePair$",
                    "description": "The class identifier for this type"
                },
                "noReferenceObligation": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferencePool": {
            "title": "ReferencePool",
            "description": "An instance of fpml5.confirmation.ReferencePool",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferencePool",
                    "pattern": "^fpml5\\.confirmation\\.ReferencePool$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferencePoolItem": {
            "title": "ReferencePoolItem",
            "description": "An instance of fpml5.confirmation.ReferencePoolItem",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferencePoolItem",
                    "pattern": "^fpml5\\.confirmation\\.ReferencePoolItem$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReferenceSwapCurve": {
            "title": "ReferenceSwapCurve",
            "description": "An instance of fpml5.confirmation.ReferenceSwapCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReferenceSwapCurve",
                    "pattern": "^fpml5\\.confirmation\\.ReferenceSwapCurve$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Region": {
            "title": "Region",
            "description": "An instance of fpml5.confirmation.Region",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Region",
                    "pattern": "^fpml5\\.confirmation\\.Region$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "regionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RegulatorId": {
            "title": "RegulatorId",
            "description": "An instance of fpml5.confirmation.RegulatorId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RegulatorId",
                    "pattern": "^fpml5\\.confirmation\\.RegulatorId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "regulatorIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RelatedBusinessUnit": {
            "title": "RelatedBusinessUnit",
            "description": "An instance of fpml5.confirmation.RelatedBusinessUnit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelatedBusinessUnit",
                    "pattern": "^fpml5\\.confirmation\\.RelatedBusinessUnit$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RelatedParty": {
            "title": "RelatedParty",
            "description": "An instance of fpml5.confirmation.RelatedParty",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelatedParty",
                    "pattern": "^fpml5\\.confirmation\\.RelatedParty$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RelatedPerson": {
            "title": "RelatedPerson",
            "description": "An instance of fpml5.confirmation.RelatedPerson",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelatedPerson",
                    "pattern": "^fpml5\\.confirmation\\.RelatedPerson$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RelativeDateOffset": {
            "title": "RelativeDateOffset",
            "description": "An instance of fpml5.confirmation.RelativeDateOffset",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelativeDateOffset",
                    "pattern": "^fpml5\\.confirmation\\.RelativeDateOffset$",
                    "description": "The class identifier for this type"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.RelativeDates": {
            "title": "RelativeDates",
            "description": "An instance of fpml5.confirmation.RelativeDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelativeDates",
                    "pattern": "^fpml5\\.confirmation\\.RelativeDates$",
                    "description": "The class identifier for this type"
                },
                "periodSkip": {
                    "type": "integer"
                },
                "businessDayConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.BusinessDayConventionEnum"
                },
                "dayType": {
                    "$ref": "#/definitions/fpml5.confirmation.DayTypeEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "businessDayConvention", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.RelativeDateSequence": {
            "title": "RelativeDateSequence",
            "description": "An instance of fpml5.confirmation.RelativeDateSequence",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelativeDateSequence",
                    "pattern": "^fpml5\\.confirmation\\.RelativeDateSequence$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RelativePrice": {
            "title": "RelativePrice",
            "description": "An instance of fpml5.confirmation.RelativePrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelativePrice",
                    "pattern": "^fpml5\\.confirmation\\.RelativePrice$",
                    "description": "The class identifier for this type"
                },
                "spread": {
                    "type": "number"
                },
                "bondEquityModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "spread"]
        },
        "fpml5.confirmation.RelevantUnderlyingDateReference": {
            "title": "RelevantUnderlyingDateReference",
            "description": "An instance of fpml5.confirmation.RelevantUnderlyingDateReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RelevantUnderlyingDateReference",
                    "pattern": "^fpml5\\.confirmation\\.RelevantUnderlyingDateReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class", "href"]
        },
        "fpml5.confirmation.Repayment": {
            "title": "Repayment",
            "description": "An instance of fpml5.confirmation.Repayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Repayment",
                    "pattern": "^fpml5\\.confirmation\\.Repayment$",
                    "description": "The class identifier for this type"
                },
                "price": {
                    "type": "number"
                },
                "refusalAllowed": {
                    "type": "boolean"
                },
                "borrowerMandatory": {
                    "type": "boolean"
                },
                "scheduledRepayment": {
                    "type": "boolean"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "refusalAllowed", "effectiveDate"]
        },
        "fpml5.confirmation.Repo": {
            "title": "Repo",
            "description": "An instance of fpml5.confirmation.Repo",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Repo",
                    "pattern": "^fpml5\\.confirmation\\.Repo$",
                    "description": "The class identifier for this type"
                },
                "duration": {
                    "$ref": "#/definitions/fpml5.confirmation.RepoDurationEnum"
                },
                "callingParty": {
                    "$ref": "#/definitions/fpml5.confirmation.CallingPartyEnum"
                },
                "bondEquityModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RepoFarLeg": {
            "title": "RepoFarLeg",
            "description": "An instance of fpml5.confirmation.RepoFarLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RepoFarLeg",
                    "pattern": "^fpml5\\.confirmation\\.RepoFarLeg$",
                    "description": "The class identifier for this type"
                },
                "repoInterest": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RepoLegBase": {
            "title": "RepoLegBase",
            "description": "An instance of fpml5.confirmation.RepoLegBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RepoLegBase",
                    "pattern": "^fpml5\\.confirmation\\.RepoLegBase$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RepoNearLeg": {
            "title": "RepoNearLeg",
            "description": "An instance of fpml5.confirmation.RepoNearLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RepoNearLeg",
                    "pattern": "^fpml5\\.confirmation\\.RepoNearLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportId": {
            "title": "ReportId",
            "description": "An instance of fpml5.confirmation.ReportId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportId",
                    "pattern": "^fpml5\\.confirmation\\.ReportId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "reportIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingBoolean": {
            "title": "ReportingBoolean",
            "description": "An instance of fpml5.confirmation.ReportingBoolean",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingBoolean",
                    "pattern": "^fpml5\\.confirmation\\.ReportingBoolean$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "reportingBooleanScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingCurrencyType": {
            "title": "ReportingCurrencyType",
            "description": "An instance of fpml5.confirmation.ReportingCurrencyType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingCurrencyType",
                    "pattern": "^fpml5\\.confirmation\\.ReportingCurrencyType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "reportingCurrencyTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingLevel": {
            "title": "ReportingLevel",
            "description": "An instance of fpml5.confirmation.ReportingLevel",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingLevel",
                    "pattern": "^fpml5\\.confirmation\\.ReportingLevel$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "reportingLevelScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingPurpose": {
            "title": "ReportingPurpose",
            "description": "An instance of fpml5.confirmation.ReportingPurpose",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingPurpose",
                    "pattern": "^fpml5\\.confirmation\\.ReportingPurpose$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "reportingPurposeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingRegime": {
            "title": "ReportingRegime",
            "description": "An instance of fpml5.confirmation.ReportingRegime",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingRegime",
                    "pattern": "^fpml5\\.confirmation\\.ReportingRegime$",
                    "description": "The class identifier for this type"
                },
                "mandatoryFacilityExecution": {
                    "type": "boolean"
                },
                "mandatoryFacilityExecutionException": {
                    "type": "boolean"
                },
                "exceedsClearingThreshold": {
                    "type": "boolean"
                },
                "preEnactmentTrade": {
                    "type": "boolean"
                },
                "transmissionOfOrder": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingRegimeIdentifier": {
            "title": "ReportingRegimeIdentifier",
            "description": "An instance of fpml5.confirmation.ReportingRegimeIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingRegimeIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.ReportingRegimeIdentifier$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingRegimeName": {
            "title": "ReportingRegimeName",
            "description": "An instance of fpml5.confirmation.ReportingRegimeName",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingRegimeName",
                    "pattern": "^fpml5\\.confirmation\\.ReportingRegimeName$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "reportingRegimeNameScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportingRole": {
            "title": "ReportingRole",
            "description": "An instance of fpml5.confirmation.ReportingRole",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportingRole",
                    "pattern": "^fpml5\\.confirmation\\.ReportingRole$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "reportingRoleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReportSectionIdentification": {
            "title": "ReportSectionIdentification",
            "description": "An instance of fpml5.confirmation.ReportSectionIdentification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReportSectionIdentification",
                    "pattern": "^fpml5\\.confirmation\\.ReportSectionIdentification$",
                    "description": "The class identifier for this type"
                },
                "sectionNumber": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Representations": {
            "title": "Representations",
            "description": "An instance of fpml5.confirmation.Representations",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Representations",
                    "pattern": "^fpml5\\.confirmation\\.Representations$",
                    "description": "The class identifier for this type"
                },
                "nonReliance": {
                    "type": "boolean"
                },
                "agreementsRegardingHedging": {
                    "type": "boolean"
                },
                "indexDisclaimer": {
                    "type": "boolean"
                },
                "additionalAcknowledgements": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "nonReliance", "agreementsRegardingHedging", "additionalAcknowledgements"]
        },
        "fpml5.confirmation.RepudiationMoratoriumEvent": {
            "title": "RepudiationMoratoriumEvent",
            "description": "An instance of fpml5.confirmation.RepudiationMoratoriumEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RepudiationMoratoriumEvent",
                    "pattern": "^fpml5\\.confirmation\\.RepudiationMoratoriumEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RequestAllocation": {
            "title": "RequestAllocation",
            "description": "An instance of fpml5.confirmation.RequestAllocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestAllocation",
                    "pattern": "^fpml5\\.confirmation\\.RequestAllocation$",
                    "description": "The class identifier for this type"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestAllocationRetracted": {
            "title": "RequestAllocationRetracted",
            "description": "An instance of fpml5.confirmation.RequestAllocationRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestAllocationRetracted",
                    "pattern": "^fpml5\\.confirmation\\.RequestAllocationRetracted$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestClearing": {
            "title": "RequestClearing",
            "description": "An instance of fpml5.confirmation.RequestClearing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestClearing",
                    "pattern": "^fpml5\\.confirmation\\.RequestClearing$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestClearingEligibility": {
            "title": "RequestClearingEligibility",
            "description": "An instance of fpml5.confirmation.RequestClearingEligibility",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestClearingEligibility",
                    "pattern": "^fpml5\\.confirmation\\.RequestClearingEligibility$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestClearingRetracted": {
            "title": "RequestClearingRetracted",
            "description": "An instance of fpml5.confirmation.RequestClearingRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestClearingRetracted",
                    "pattern": "^fpml5\\.confirmation\\.RequestClearingRetracted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestCollateralAllocation": {
            "title": "RequestCollateralAllocation",
            "description": "An instance of fpml5.confirmation.RequestCollateralAllocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestCollateralAllocation",
                    "pattern": "^fpml5\\.confirmation\\.RequestCollateralAllocation$",
                    "description": "The class identifier for this type"
                },
                "serviceName": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestConfirmation": {
            "title": "RequestConfirmation",
            "description": "An instance of fpml5.confirmation.RequestConfirmation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestConfirmation",
                    "pattern": "^fpml5\\.confirmation\\.RequestConfirmation$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestConsent": {
            "title": "RequestConsent",
            "description": "An instance of fpml5.confirmation.RequestConsent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestConsent",
                    "pattern": "^fpml5\\.confirmation\\.RequestConsent$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestConsentRetracted": {
            "title": "RequestConsentRetracted",
            "description": "An instance of fpml5.confirmation.RequestConsentRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestConsentRetracted",
                    "pattern": "^fpml5\\.confirmation\\.RequestConsentRetracted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestedAction": {
            "title": "RequestedAction",
            "description": "An instance of fpml5.confirmation.RequestedAction",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestedAction",
                    "pattern": "^fpml5\\.confirmation\\.RequestedAction$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "requestedActionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RequestedClearingAction": {
            "title": "RequestedClearingAction",
            "description": "An instance of fpml5.confirmation.RequestedClearingAction",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestedClearingAction",
                    "pattern": "^fpml5\\.confirmation\\.RequestedClearingAction$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "requestedClearingActionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RequestedCollateralAllocationAction": {
            "title": "RequestedCollateralAllocationAction",
            "description": "An instance of fpml5.confirmation.RequestedCollateralAllocationAction",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestedCollateralAllocationAction",
                    "pattern": "^fpml5\\.confirmation\\.RequestedCollateralAllocationAction$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "requestedCollateralAllocationActionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RequestedWithdrawalAction": {
            "title": "RequestedWithdrawalAction",
            "description": "An instance of fpml5.confirmation.RequestedWithdrawalAction",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestedWithdrawalAction",
                    "pattern": "^fpml5\\.confirmation\\.RequestedWithdrawalAction$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "requestedWithdrawalActionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RequestEventStatus": {
            "title": "RequestEventStatus",
            "description": "An instance of fpml5.confirmation.RequestEventStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestEventStatus",
                    "pattern": "^fpml5\\.confirmation\\.RequestEventStatus$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestExecution": {
            "title": "RequestExecution",
            "description": "An instance of fpml5.confirmation.RequestExecution",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestExecution",
                    "pattern": "^fpml5\\.confirmation\\.RequestExecution$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestExecutionRetracted": {
            "title": "RequestExecutionRetracted",
            "description": "An instance of fpml5.confirmation.RequestExecutionRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestExecutionRetracted",
                    "pattern": "^fpml5\\.confirmation\\.RequestExecutionRetracted$",
                    "description": "The class identifier for this type"
                },
                "additionalEventGroup": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestMessageHeader": {
            "title": "RequestMessageHeader",
            "description": "An instance of fpml5.confirmation.RequestMessageHeader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestMessageHeader",
                    "pattern": "^fpml5\\.confirmation\\.RequestMessageHeader$",
                    "description": "The class identifier for this type"
                },
                "creationTimestamp": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTimestamp": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "creationTimestamp"]
        },
        "fpml5.confirmation.RequestRetransmission": {
            "title": "RequestRetransmission",
            "description": "An instance of fpml5.confirmation.RequestRetransmission",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestRetransmission",
                    "pattern": "^fpml5\\.confirmation\\.RequestRetransmission$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestTradeReferenceInformationUpdate": {
            "title": "RequestTradeReferenceInformationUpdate",
            "description": "An instance of fpml5.confirmation.RequestTradeReferenceInformationUpdate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestTradeReferenceInformationUpdate",
                    "pattern": "^fpml5\\.confirmation\\.RequestTradeReferenceInformationUpdate$",
                    "description": "The class identifier for this type"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.RequestTradeReferenceInformationUpdateRetracted": {
            "title": "RequestTradeReferenceInformationUpdateRetracted",
            "description": "An instance of fpml5.confirmation.RequestTradeReferenceInformationUpdateRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequestTradeReferenceInformationUpdateRetracted",
                    "pattern": "^fpml5\\.confirmation\\.RequestTradeReferenceInformationUpdateRetracted$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.RequiredIdentifierDate": {
            "title": "RequiredIdentifierDate",
            "description": "An instance of fpml5.confirmation.RequiredIdentifierDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RequiredIdentifierDate",
                    "pattern": "^fpml5\\.confirmation\\.RequiredIdentifierDate$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "id"]
        },
        "fpml5.confirmation.ResetDates": {
            "title": "ResetDates",
            "description": "An instance of fpml5.confirmation.ResetDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResetDates",
                    "pattern": "^fpml5\\.confirmation\\.ResetDates$",
                    "description": "The class identifier for this type"
                },
                "resetRelativeTo": {
                    "$ref": "#/definitions/fpml5.confirmation.ResetRelativeToEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "id"]
        },
        "fpml5.confirmation.ResetDatesReference": {
            "title": "ResetDatesReference",
            "description": "An instance of fpml5.confirmation.ResetDatesReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResetDatesReference",
                    "pattern": "^fpml5\\.confirmation\\.ResetDatesReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ResetFrequency": {
            "title": "ResetFrequency",
            "description": "An instance of fpml5.confirmation.ResetFrequency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResetFrequency",
                    "pattern": "^fpml5\\.confirmation\\.ResetFrequency$",
                    "description": "The class identifier for this type"
                },
                "weeklyRollConvention": {
                    "$ref": "#/definitions/fpml5.confirmation.WeeklyRollConventionEnum"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodExtendedEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.Resource": {
            "title": "Resource",
            "description": "An instance of fpml5.confirmation.Resource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Resource",
                    "pattern": "^fpml5\\.confirmation\\.Resource$",
                    "description": "The class identifier for this type"
                },
                "sizeInBytes": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "comments": {
                    "type": "string"
                },
                "string": {
                    "type": "string"
                },
                "hexadecimalBinary": {
                    "type": "string"
                },
                "base64Binary": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ResourceId": {
            "title": "ResourceId",
            "description": "An instance of fpml5.confirmation.ResourceId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResourceId",
                    "pattern": "^fpml5\\.confirmation\\.ResourceId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "resourceIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ResourceLength": {
            "title": "ResourceLength",
            "description": "An instance of fpml5.confirmation.ResourceLength",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResourceLength",
                    "pattern": "^fpml5\\.confirmation\\.ResourceLength$",
                    "description": "The class identifier for this type"
                },
                "lengthUnit": {
                    "$ref": "#/definitions/fpml5.confirmation.LengthUnitEnum"
                },
                "lengthValue": {
                    "type": "number"
                }
            },
            "required": ["$class", "lengthUnit", "lengthValue"]
        },
        "fpml5.confirmation.ResourceType": {
            "title": "ResourceType",
            "description": "An instance of fpml5.confirmation.ResourceType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResourceType",
                    "pattern": "^fpml5\\.confirmation\\.ResourceType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "resourceTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ResponseMessageHeader": {
            "title": "ResponseMessageHeader",
            "description": "An instance of fpml5.confirmation.ResponseMessageHeader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ResponseMessageHeader",
                    "pattern": "^fpml5\\.confirmation\\.ResponseMessageHeader$",
                    "description": "The class identifier for this type"
                },
                "creationTimestamp": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryTimestamp": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "creationTimestamp"]
        },
        "fpml5.confirmation.Restructuring": {
            "title": "Restructuring",
            "description": "An instance of fpml5.confirmation.Restructuring",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Restructuring",
                    "pattern": "^fpml5\\.confirmation\\.Restructuring$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                },
                "multipleHolderObligation": {
                    "type": "boolean"
                },
                "multipleCreditEventNotices": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.RestructuringEvent": {
            "title": "RestructuringEvent",
            "description": "An instance of fpml5.confirmation.RestructuringEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RestructuringEvent",
                    "pattern": "^fpml5\\.confirmation\\.RestructuringEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RestructuringType": {
            "title": "RestructuringType",
            "description": "An instance of fpml5.confirmation.RestructuringType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RestructuringType",
                    "pattern": "^fpml5\\.confirmation\\.RestructuringType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "restructuringScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Return": {
            "title": "Return",
            "description": "An instance of fpml5.confirmation.Return",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Return",
                    "pattern": "^fpml5\\.confirmation\\.Return$",
                    "description": "The class identifier for this type"
                },
                "returnType": {
                    "$ref": "#/definitions/fpml5.confirmation.ReturnTypeEnum"
                }
            },
            "required": ["$class", "returnType"]
        },
        "fpml5.confirmation.ReturnLeg": {
            "title": "ReturnLeg",
            "description": "An instance of fpml5.confirmation.ReturnLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnLeg",
                    "pattern": "^fpml5\\.confirmation\\.ReturnLeg$",
                    "description": "The class identifier for this type"
                },
                "notionalAdjustments": {
                    "$ref": "#/definitions/fpml5.confirmation.NotionalAdjustmentEnum"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "notionalAdjustments"]
        },
        "fpml5.confirmation.ReturnLegValuation": {
            "title": "ReturnLegValuation",
            "description": "An instance of fpml5.confirmation.ReturnLegValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnLegValuation",
                    "pattern": "^fpml5\\.confirmation\\.ReturnLegValuation$",
                    "description": "The class identifier for this type"
                },
                "notionalReset": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReturnLegValuationPrice": {
            "title": "ReturnLegValuationPrice",
            "description": "An instance of fpml5.confirmation.ReturnLegValuationPrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnLegValuationPrice",
                    "pattern": "^fpml5\\.confirmation\\.ReturnLegValuationPrice$",
                    "description": "The class identifier for this type"
                },
                "accruedInterestPrice": {
                    "type": "number"
                },
                "accruedInterestPrice1": {
                    "type": "number"
                },
                "cleanNetPrice": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReturnSwap": {
            "title": "ReturnSwap",
            "description": "An instance of fpml5.confirmation.ReturnSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwap",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwap$",
                    "description": "The class identifier for this type"
                },
                "returnSwapLegGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "returnSwapLegGroup"]
        },
        "fpml5.confirmation.ReturnSwapAdditionalPayment": {
            "title": "ReturnSwapAdditionalPayment",
            "description": "An instance of fpml5.confirmation.ReturnSwapAdditionalPayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwapAdditionalPayment",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwapAdditionalPayment$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReturnSwapAmount": {
            "title": "ReturnSwapAmount",
            "description": "An instance of fpml5.confirmation.ReturnSwapAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwapAmount",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwapAmount$",
                    "description": "The class identifier for this type"
                },
                "cashSettlement": {
                    "type": "boolean"
                },
                "optionsExchangeDividends": {
                    "type": "boolean"
                },
                "additionalDividends": {
                    "type": "boolean"
                },
                "allDividends": {
                    "type": "boolean"
                },
                "encodedDescription": {
                    "type": "string"
                }
            },
            "required": ["$class", "cashSettlement"]
        },
        "fpml5.confirmation.ReturnSwapEarlyTermination": {
            "title": "ReturnSwapEarlyTermination",
            "description": "An instance of fpml5.confirmation.ReturnSwapEarlyTermination",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwapEarlyTermination",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwapEarlyTermination$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReturnSwapNotional": {
            "title": "ReturnSwapNotional",
            "description": "An instance of fpml5.confirmation.ReturnSwapNotional",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwapNotional",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwapNotional$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReturnSwapNotionalAmountReference": {
            "title": "ReturnSwapNotionalAmountReference",
            "description": "An instance of fpml5.confirmation.ReturnSwapNotionalAmountReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwapNotionalAmountReference",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwapNotionalAmountReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ReturnSwapPaymentDates": {
            "title": "ReturnSwapPaymentDates",
            "description": "An instance of fpml5.confirmation.ReturnSwapPaymentDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ReturnSwapPaymentDates",
                    "pattern": "^fpml5\\.confirmation\\.ReturnSwapPaymentDates$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Revolver": {
            "title": "Revolver",
            "description": "An instance of fpml5.confirmation.Revolver",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Revolver",
                    "pattern": "^fpml5\\.confirmation\\.Revolver$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate"]
        },
        "fpml5.confirmation.Rollover": {
            "title": "Rollover",
            "description": "An instance of fpml5.confirmation.Rollover",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Rollover",
                    "pattern": "^fpml5\\.confirmation\\.Rollover$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.RolloverNotification": {
            "title": "RolloverNotification",
            "description": "An instance of fpml5.confirmation.RolloverNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RolloverNotification",
                    "pattern": "^fpml5\\.confirmation\\.RolloverNotification$",
                    "description": "The class identifier for this type"
                },
                "noticeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "isGlobalOnly": {
                    "type": "boolean"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "noticeDate", "isGlobalOnly", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.Rounding": {
            "title": "Rounding",
            "description": "An instance of fpml5.confirmation.Rounding",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Rounding",
                    "pattern": "^fpml5\\.confirmation\\.Rounding$",
                    "description": "The class identifier for this type"
                },
                "roundingDirection": {
                    "$ref": "#/definitions/fpml5.confirmation.RoundingDirectionEnum"
                },
                "precision": {
                    "type": "integer"
                }
            },
            "required": ["$class", "roundingDirection", "precision"]
        },
        "fpml5.confirmation.Routing": {
            "title": "Routing",
            "description": "An instance of fpml5.confirmation.Routing",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Routing",
                    "pattern": "^fpml5\\.confirmation\\.Routing$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RoutingExplicitDetails": {
            "title": "RoutingExplicitDetails",
            "description": "An instance of fpml5.confirmation.RoutingExplicitDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RoutingExplicitDetails",
                    "pattern": "^fpml5\\.confirmation\\.RoutingExplicitDetails$",
                    "description": "The class identifier for this type"
                },
                "routingName": {
                    "type": "string"
                },
                "routingAccountNumber": {
                    "type": "string"
                },
                "routingReferenceText": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "routingName"]
        },
        "fpml5.confirmation.RoutingId": {
            "title": "RoutingId",
            "description": "An instance of fpml5.confirmation.RoutingId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RoutingId",
                    "pattern": "^fpml5\\.confirmation\\.RoutingId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "routingIdCodeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RoutingIds": {
            "title": "RoutingIds",
            "description": "An instance of fpml5.confirmation.RoutingIds",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RoutingIds",
                    "pattern": "^fpml5\\.confirmation\\.RoutingIds$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.RoutingIdsAndExplicitDetails": {
            "title": "RoutingIdsAndExplicitDetails",
            "description": "An instance of fpml5.confirmation.RoutingIdsAndExplicitDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.RoutingIdsAndExplicitDetails",
                    "pattern": "^fpml5\\.confirmation\\.RoutingIdsAndExplicitDetails$",
                    "description": "The class identifier for this type"
                },
                "routingName": {
                    "type": "string"
                },
                "routingAccountNumber": {
                    "type": "string"
                },
                "routingReferenceText": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "routingName"]
        },
        "fpml5.confirmation.Schedule": {
            "title": "Schedule",
            "description": "An instance of fpml5.confirmation.Schedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Schedule",
                    "pattern": "^fpml5\\.confirmation\\.Schedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.ScheduleReference": {
            "title": "ScheduleReference",
            "description": "An instance of fpml5.confirmation.ScheduleReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ScheduleReference",
                    "pattern": "^fpml5\\.confirmation\\.ScheduleReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Sensitivity": {
            "title": "Sensitivity",
            "description": "An instance of fpml5.confirmation.Sensitivity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Sensitivity",
                    "pattern": "^fpml5\\.confirmation\\.Sensitivity$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "number"
                },
                "definitionRef": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SensitivityDefinition": {
            "title": "SensitivityDefinition",
            "description": "An instance of fpml5.confirmation.SensitivityDefinition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SensitivityDefinition",
                    "pattern": "^fpml5\\.confirmation\\.SensitivityDefinition$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "pricingCoordinateOrReferenceModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SensitivitySet": {
            "title": "SensitivitySet",
            "description": "An instance of fpml5.confirmation.SensitivitySet",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SensitivitySet",
                    "pattern": "^fpml5\\.confirmation\\.SensitivitySet$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SensitivitySetDefinition": {
            "title": "SensitivitySetDefinition",
            "description": "An instance of fpml5.confirmation.SensitivitySetDefinition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SensitivitySetDefinition",
                    "pattern": "^fpml5\\.confirmation\\.SensitivitySetDefinition$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "scale": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "scale"]
        },
        "fpml5.confirmation.SensitivitySetDefinitionReference": {
            "title": "SensitivitySetDefinitionReference",
            "description": "An instance of fpml5.confirmation.SensitivitySetDefinitionReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SensitivitySetDefinitionReference",
                    "pattern": "^fpml5\\.confirmation\\.SensitivitySetDefinitionReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SequencedDisruptionFallback": {
            "title": "SequencedDisruptionFallback",
            "description": "An instance of fpml5.confirmation.SequencedDisruptionFallback",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SequencedDisruptionFallback",
                    "pattern": "^fpml5\\.confirmation\\.SequencedDisruptionFallback$",
                    "description": "The class identifier for this type"
                },
                "sequence": {
                    "type": "integer"
                }
            },
            "required": ["$class", "sequence"]
        },
        "fpml5.confirmation.ServiceAdvisory": {
            "title": "ServiceAdvisory",
            "description": "An instance of fpml5.confirmation.ServiceAdvisory",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceAdvisory",
                    "pattern": "^fpml5\\.confirmation\\.ServiceAdvisory$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "effectiveFrom": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveTo": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "description"]
        },
        "fpml5.confirmation.ServiceAdvisoryCategory": {
            "title": "ServiceAdvisoryCategory",
            "description": "An instance of fpml5.confirmation.ServiceAdvisoryCategory",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceAdvisoryCategory",
                    "pattern": "^fpml5\\.confirmation\\.ServiceAdvisoryCategory$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "serviceAdvisoryCategoryScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ServiceNotification": {
            "title": "ServiceNotification",
            "description": "An instance of fpml5.confirmation.ServiceNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceNotification",
                    "pattern": "^fpml5\\.confirmation\\.ServiceNotification$",
                    "description": "The class identifier for this type"
                },
                "serviceName": {
                    "type": "string"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ServiceProcessingCycle": {
            "title": "ServiceProcessingCycle",
            "description": "An instance of fpml5.confirmation.ServiceProcessingCycle",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceProcessingCycle",
                    "pattern": "^fpml5\\.confirmation\\.ServiceProcessingCycle$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "serviceProcessingCycleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ServiceProcessingEvent": {
            "title": "ServiceProcessingEvent",
            "description": "An instance of fpml5.confirmation.ServiceProcessingEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceProcessingEvent",
                    "pattern": "^fpml5\\.confirmation\\.ServiceProcessingEvent$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "serviceProcessingEventScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ServiceProcessingStatus": {
            "title": "ServiceProcessingStatus",
            "description": "An instance of fpml5.confirmation.ServiceProcessingStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceProcessingStatus",
                    "pattern": "^fpml5\\.confirmation\\.ServiceProcessingStatus$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ServiceProcessingStep": {
            "title": "ServiceProcessingStep",
            "description": "An instance of fpml5.confirmation.ServiceProcessingStep",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceProcessingStep",
                    "pattern": "^fpml5\\.confirmation\\.ServiceProcessingStep$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "serviceProcessingStep": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ServiceStatus": {
            "title": "ServiceStatus",
            "description": "An instance of fpml5.confirmation.ServiceStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ServiceStatus",
                    "pattern": "^fpml5\\.confirmation\\.ServiceStatus$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "serviceStatusScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettledEntityMatrix": {
            "title": "SettledEntityMatrix",
            "description": "An instance of fpml5.confirmation.SettledEntityMatrix",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettledEntityMatrix",
                    "pattern": "^fpml5\\.confirmation\\.SettledEntityMatrix$",
                    "description": "The class identifier for this type"
                },
                "publicationDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementDetails": {
            "title": "SettlementDetails",
            "description": "An instance of fpml5.confirmation.SettlementDetails",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementDetails",
                    "pattern": "^fpml5\\.confirmation\\.SettlementDetails$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementInformation": {
            "title": "SettlementInformation",
            "description": "An instance of fpml5.confirmation.SettlementInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementInformation",
                    "pattern": "^fpml5\\.confirmation\\.SettlementInformation$",
                    "description": "The class identifier for this type"
                },
                "standardSettlementStyle": {
                    "$ref": "#/definitions/fpml5.confirmation.StandardSettlementStyleEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementInstruction": {
            "title": "SettlementInstruction",
            "description": "An instance of fpml5.confirmation.SettlementInstruction",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementInstruction",
                    "pattern": "^fpml5\\.confirmation\\.SettlementInstruction$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementInstructionId": {
            "title": "SettlementInstructionId",
            "description": "An instance of fpml5.confirmation.SettlementInstructionId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementInstructionId",
                    "pattern": "^fpml5\\.confirmation\\.SettlementInstructionId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "settlementInstructionIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "settlementInstructionIdScheme"]
        },
        "fpml5.confirmation.SettlementMethod": {
            "title": "SettlementMethod",
            "description": "An instance of fpml5.confirmation.SettlementMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementMethod",
                    "pattern": "^fpml5\\.confirmation\\.SettlementMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "settlementMethodScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPeriodFixingDates": {
            "title": "SettlementPeriodFixingDates",
            "description": "An instance of fpml5.confirmation.SettlementPeriodFixingDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriodFixingDates",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriodFixingDates$",
                    "description": "The class identifier for this type"
                },
                "fixingDate": {
                    "type": "array",
                    "items": {
                        "format": "date-time",
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "numberOfFixings": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPeriodLeverage": {
            "title": "SettlementPeriodLeverage",
            "description": "An instance of fpml5.confirmation.SettlementPeriodLeverage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriodLeverage",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriodLeverage$",
                    "description": "The class identifier for this type"
                },
                "ratio": {
                    "type": "number"
                },
                "notionalAmount": {
                    "type": "number"
                },
                "counterCurrencyAmount": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPeriods": {
            "title": "SettlementPeriods",
            "description": "An instance of fpml5.confirmation.SettlementPeriods",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriods",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriods$",
                    "description": "The class identifier for this type"
                },
                "duration": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementPeriodDurationEnum"
                },
                "applicableDay": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/fpml5.confirmation.DayOfWeekExtEnum"
                    }
                },
                "timeDuration": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "duration"]
        },
        "fpml5.confirmation.SettlementPeriodsFixedPrice": {
            "title": "SettlementPeriodsFixedPrice",
            "description": "An instance of fpml5.confirmation.SettlementPeriodsFixedPrice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriodsFixedPrice",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriodsFixedPrice$",
                    "description": "The class identifier for this type"
                },
                "price": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "price"]
        },
        "fpml5.confirmation.SettlementPeriodsReference": {
            "title": "SettlementPeriodsReference",
            "description": "An instance of fpml5.confirmation.SettlementPeriodsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriodsReference",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriodsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPeriodsSchedule": {
            "title": "SettlementPeriodsSchedule",
            "description": "An instance of fpml5.confirmation.SettlementPeriodsSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriodsSchedule",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriodsSchedule$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPeriodsStep": {
            "title": "SettlementPeriodsStep",
            "description": "An instance of fpml5.confirmation.SettlementPeriodsStep",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPeriodsStep",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPeriodsStep$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPriceDefaultElection": {
            "title": "SettlementPriceDefaultElection",
            "description": "An instance of fpml5.confirmation.SettlementPriceDefaultElection",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPriceDefaultElection",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPriceDefaultElection$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "settlementPriceDefaultElectionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementPriceSource": {
            "title": "SettlementPriceSource",
            "description": "An instance of fpml5.confirmation.SettlementPriceSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementPriceSource",
                    "pattern": "^fpml5\\.confirmation\\.SettlementPriceSource$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "settlementPriceSourceScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementProvision": {
            "title": "SettlementProvision",
            "description": "An instance of fpml5.confirmation.SettlementProvision",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementProvision",
                    "pattern": "^fpml5\\.confirmation\\.SettlementProvision$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementRateOption": {
            "title": "SettlementRateOption",
            "description": "An instance of fpml5.confirmation.SettlementRateOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementRateOption",
                    "pattern": "^fpml5\\.confirmation\\.SettlementRateOption$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "settlementRateOptionScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementRateSource": {
            "title": "SettlementRateSource",
            "description": "An instance of fpml5.confirmation.SettlementRateSource",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementRateSource",
                    "pattern": "^fpml5\\.confirmation\\.SettlementRateSource$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementTerms": {
            "title": "SettlementTerms",
            "description": "An instance of fpml5.confirmation.SettlementTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementTerms",
                    "pattern": "^fpml5\\.confirmation\\.SettlementTerms$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SettlementTermsReference": {
            "title": "SettlementTermsReference",
            "description": "An instance of fpml5.confirmation.SettlementTermsReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SettlementTermsReference",
                    "pattern": "^fpml5\\.confirmation\\.SettlementTermsReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SharedAmericanExercise": {
            "title": "SharedAmericanExercise",
            "description": "An instance of fpml5.confirmation.SharedAmericanExercise",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SharedAmericanExercise",
                    "pattern": "^fpml5\\.confirmation\\.SharedAmericanExercise$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ShortSale": {
            "title": "ShortSale",
            "description": "An instance of fpml5.confirmation.ShortSale",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ShortSale",
                    "pattern": "^fpml5\\.confirmation\\.ShortSale$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "shortSaleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SimpleCreditDefaultSwap": {
            "title": "SimpleCreditDefaultSwap",
            "description": "An instance of fpml5.confirmation.SimpleCreditDefaultSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SimpleCreditDefaultSwap",
                    "pattern": "^fpml5\\.confirmation\\.SimpleCreditDefaultSwap$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SimpleFra": {
            "title": "SimpleFra",
            "description": "An instance of fpml5.confirmation.SimpleFra",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SimpleFra",
                    "pattern": "^fpml5\\.confirmation\\.SimpleFra$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SimpleIRSwap": {
            "title": "SimpleIRSwap",
            "description": "An instance of fpml5.confirmation.SimpleIRSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SimpleIRSwap",
                    "pattern": "^fpml5\\.confirmation\\.SimpleIRSwap$",
                    "description": "The class identifier for this type"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SimplePayment": {
            "title": "SimplePayment",
            "description": "An instance of fpml5.confirmation.SimplePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SimplePayment",
                    "pattern": "^fpml5\\.confirmation\\.SimplePayment$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SinglePartyOption": {
            "title": "SinglePartyOption",
            "description": "An instance of fpml5.confirmation.SinglePartyOption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SinglePartyOption",
                    "pattern": "^fpml5\\.confirmation\\.SinglePartyOption$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SinglePayment": {
            "title": "SinglePayment",
            "description": "An instance of fpml5.confirmation.SinglePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SinglePayment",
                    "pattern": "^fpml5\\.confirmation\\.SinglePayment$",
                    "description": "The class identifier for this type"
                },
                "adjustablePaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "adjustedPaymentDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "adjustablePaymentDate"]
        },
        "fpml5.confirmation.SingleUnderlyer": {
            "title": "SingleUnderlyer",
            "description": "An instance of fpml5.confirmation.SingleUnderlyer",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SingleUnderlyer",
                    "pattern": "^fpml5\\.confirmation\\.SingleUnderlyer$",
                    "description": "The class identifier for this type"
                },
                "underlyingAssetGroup": {
                    "type": "string"
                },
                "openUnits": {
                    "type": "number"
                },
                "depositoryReceipt": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "underlyingAssetGroup"]
        },
        "fpml5.confirmation.SingleValuationDate": {
            "title": "SingleValuationDate",
            "description": "An instance of fpml5.confirmation.SingleValuationDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SingleValuationDate",
                    "pattern": "^fpml5\\.confirmation\\.SingleValuationDate$",
                    "description": "The class identifier for this type"
                },
                "businessDays": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SpecifiedCurrency": {
            "title": "SpecifiedCurrency",
            "description": "An instance of fpml5.confirmation.SpecifiedCurrency",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SpecifiedCurrency",
                    "pattern": "^fpml5\\.confirmation\\.SpecifiedCurrency$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.SplitSettlement": {
            "title": "SplitSettlement",
            "description": "An instance of fpml5.confirmation.SplitSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SplitSettlement",
                    "pattern": "^fpml5\\.confirmation\\.SplitSettlement$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SpreadSchedule": {
            "title": "SpreadSchedule",
            "description": "An instance of fpml5.confirmation.SpreadSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SpreadSchedule",
                    "pattern": "^fpml5\\.confirmation\\.SpreadSchedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.SpreadScheduleReference": {
            "title": "SpreadScheduleReference",
            "description": "An instance of fpml5.confirmation.SpreadScheduleReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SpreadScheduleReference",
                    "pattern": "^fpml5\\.confirmation\\.SpreadScheduleReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SpreadScheduleType": {
            "title": "SpreadScheduleType",
            "description": "An instance of fpml5.confirmation.SpreadScheduleType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SpreadScheduleType",
                    "pattern": "^fpml5\\.confirmation\\.SpreadScheduleType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "spreadScheduleTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StandardProduct": {
            "title": "StandardProduct",
            "description": "An instance of fpml5.confirmation.StandardProduct",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StandardProduct",
                    "pattern": "^fpml5\\.confirmation\\.StandardProduct$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StartingDate": {
            "title": "StartingDate",
            "description": "An instance of fpml5.confirmation.StartingDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StartingDate",
                    "pattern": "^fpml5\\.confirmation\\.StartingDate$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Step": {
            "title": "Step",
            "description": "An instance of fpml5.confirmation.Step",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Step",
                    "pattern": "^fpml5\\.confirmation\\.Step$",
                    "description": "The class identifier for this type"
                },
                "stepValue": {
                    "type": "number"
                },
                "stepDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "stepValue", "stepDate"]
        },
        "fpml5.confirmation.Strategy": {
            "title": "Strategy",
            "description": "An instance of fpml5.confirmation.Strategy",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Strategy",
                    "pattern": "^fpml5\\.confirmation\\.Strategy$",
                    "description": "The class identifier for this type"
                },
                "productGroup": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "productGroup"]
        },
        "fpml5.confirmation.StrategyComponentIdentification": {
            "title": "StrategyComponentIdentification",
            "description": "An instance of fpml5.confirmation.StrategyComponentIdentification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StrategyComponentIdentification",
                    "pattern": "^fpml5\\.confirmation\\.StrategyComponentIdentification$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StrategyFeature": {
            "title": "StrategyFeature",
            "description": "An instance of fpml5.confirmation.StrategyFeature",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StrategyFeature",
                    "pattern": "^fpml5\\.confirmation\\.StrategyFeature$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StreetAddress": {
            "title": "StreetAddress",
            "description": "An instance of fpml5.confirmation.StreetAddress",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StreetAddress",
                    "pattern": "^fpml5\\.confirmation\\.StreetAddress$",
                    "description": "The class identifier for this type"
                },
                "streetLine": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class", "streetLine"]
        },
        "fpml5.confirmation.Strike": {
            "title": "Strike",
            "description": "An instance of fpml5.confirmation.Strike",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Strike",
                    "pattern": "^fpml5\\.confirmation\\.Strike$",
                    "description": "The class identifier for this type"
                },
                "strikeRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "strikeRate"]
        },
        "fpml5.confirmation.StrikePriceBasketReference": {
            "title": "StrikePriceBasketReference",
            "description": "An instance of fpml5.confirmation.StrikePriceBasketReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StrikePriceBasketReference",
                    "pattern": "^fpml5\\.confirmation\\.StrikePriceBasketReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StrikePriceUnderlyingReference": {
            "title": "StrikePriceUnderlyingReference",
            "description": "An instance of fpml5.confirmation.StrikePriceUnderlyingReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StrikePriceUnderlyingReference",
                    "pattern": "^fpml5\\.confirmation\\.StrikePriceUnderlyingReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StrikeSchedule": {
            "title": "StrikeSchedule",
            "description": "An instance of fpml5.confirmation.StrikeSchedule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StrikeSchedule",
                    "pattern": "^fpml5\\.confirmation\\.StrikeSchedule$",
                    "description": "The class identifier for this type"
                },
                "initialValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "initialValue"]
        },
        "fpml5.confirmation.StrikeSpread": {
            "title": "StrikeSpread",
            "description": "An instance of fpml5.confirmation.StrikeSpread",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StrikeSpread",
                    "pattern": "^fpml5\\.confirmation\\.StrikeSpread$",
                    "description": "The class identifier for this type"
                },
                "upperStrikeNumberOfOptions": {
                    "type": "number"
                }
            },
            "required": ["$class", "upperStrikeNumberOfOptions"]
        },
        "fpml5.confirmation.Stub": {
            "title": "Stub",
            "description": "An instance of fpml5.confirmation.Stub",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Stub",
                    "pattern": "^fpml5\\.confirmation\\.Stub$",
                    "description": "The class identifier for this type"
                },
                "stubRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StubCalculationPeriod": {
            "title": "StubCalculationPeriod",
            "description": "An instance of fpml5.confirmation.StubCalculationPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StubCalculationPeriod",
                    "pattern": "^fpml5\\.confirmation\\.StubCalculationPeriod$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StubCalculationPeriodAmount": {
            "title": "StubCalculationPeriodAmount",
            "description": "An instance of fpml5.confirmation.StubCalculationPeriodAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StubCalculationPeriodAmount",
                    "pattern": "^fpml5\\.confirmation\\.StubCalculationPeriodAmount$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StubFloatingRate": {
            "title": "StubFloatingRate",
            "description": "An instance of fpml5.confirmation.StubFloatingRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StubFloatingRate",
                    "pattern": "^fpml5\\.confirmation\\.StubFloatingRate$",
                    "description": "The class identifier for this type"
                },
                "rateTreatment": {
                    "$ref": "#/definitions/fpml5.confirmation.RateTreatmentEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.StubValue": {
            "title": "StubValue",
            "description": "An instance of fpml5.confirmation.StubValue",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.StubValue",
                    "pattern": "^fpml5\\.confirmation\\.StubValue$",
                    "description": "The class identifier for this type"
                },
                "stubRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SupervisorRegistration": {
            "title": "SupervisorRegistration",
            "description": "An instance of fpml5.confirmation.SupervisorRegistration",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SupervisorRegistration",
                    "pattern": "^fpml5\\.confirmation\\.SupervisorRegistration$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SupervisoryBody": {
            "title": "SupervisoryBody",
            "description": "An instance of fpml5.confirmation.SupervisoryBody",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SupervisoryBody",
                    "pattern": "^fpml5\\.confirmation\\.SupervisoryBody$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "supervisoryBodyScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Swap": {
            "title": "Swap",
            "description": "An instance of fpml5.confirmation.Swap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Swap",
                    "pattern": "^fpml5\\.confirmation\\.Swap$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SwapAdditionalTerms": {
            "title": "SwapAdditionalTerms",
            "description": "An instance of fpml5.confirmation.SwapAdditionalTerms",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SwapAdditionalTerms",
                    "pattern": "^fpml5\\.confirmation\\.SwapAdditionalTerms$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SwapCurveValuation": {
            "title": "SwapCurveValuation",
            "description": "An instance of fpml5.confirmation.SwapCurveValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SwapCurveValuation",
                    "pattern": "^fpml5\\.confirmation\\.SwapCurveValuation$",
                    "description": "The class identifier for this type"
                },
                "spread": {
                    "type": "number"
                },
                "side": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationSideEnum"
                }
            },
            "required": ["$class", "spread"]
        },
        "fpml5.confirmation.Swaption": {
            "title": "Swaption",
            "description": "An instance of fpml5.confirmation.Swaption",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Swaption",
                    "pattern": "^fpml5\\.confirmation\\.Swaption$",
                    "description": "The class identifier for this type"
                },
                "exerciseGroup": {
                    "type": "string"
                },
                "swaptionStraddle": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "exerciseGroup", "swaptionStraddle"]
        },
        "fpml5.confirmation.SwaptionAdjustedDates": {
            "title": "SwaptionAdjustedDates",
            "description": "An instance of fpml5.confirmation.SwaptionAdjustedDates",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SwaptionAdjustedDates",
                    "pattern": "^fpml5\\.confirmation\\.SwaptionAdjustedDates$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.SwaptionPhysicalSettlement": {
            "title": "SwaptionPhysicalSettlement",
            "description": "An instance of fpml5.confirmation.SwaptionPhysicalSettlement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.SwaptionPhysicalSettlement",
                    "pattern": "^fpml5\\.confirmation\\.SwaptionPhysicalSettlement$",
                    "description": "The class identifier for this type"
                },
                "clearedPhysicalSettlement": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "clearedPhysicalSettlement"]
        },
        "fpml5.confirmation.TaskId": {
            "title": "TaskId",
            "description": "An instance of fpml5.confirmation.TaskId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TaskId",
                    "pattern": "^fpml5\\.confirmation\\.TaskId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "taskIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "taskIdScheme"]
        },
        "fpml5.confirmation.TaskIdentifier": {
            "title": "TaskIdentifier",
            "description": "An instance of fpml5.confirmation.TaskIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TaskIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.TaskIdentifier$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TaxForm": {
            "title": "TaxForm",
            "description": "An instance of fpml5.confirmation.TaxForm",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TaxForm",
                    "pattern": "^fpml5\\.confirmation\\.TaxForm$",
                    "description": "The class identifier for this type"
                },
                "taxFormExpiryDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TaxFormType": {
            "title": "TaxFormType",
            "description": "An instance of fpml5.confirmation.TaxFormType",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TaxFormType",
                    "pattern": "^fpml5\\.confirmation\\.TaxFormType$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "taxFormTypeScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TaxWithholding": {
            "title": "TaxWithholding",
            "description": "An instance of fpml5.confirmation.TaxWithholding",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TaxWithholding",
                    "pattern": "^fpml5\\.confirmation\\.TaxWithholding$",
                    "description": "The class identifier for this type"
                },
                "taxRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TelephoneNumber": {
            "title": "TelephoneNumber",
            "description": "An instance of fpml5.confirmation.TelephoneNumber",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TelephoneNumber",
                    "pattern": "^fpml5\\.confirmation\\.TelephoneNumber$",
                    "description": "The class identifier for this type"
                },
                "type": {
                    "$ref": "#/definitions/fpml5.confirmation.TelephoneTypeEnum"
                },
                "number": {
                    "type": "string"
                }
            },
            "required": ["$class", "number"]
        },
        "fpml5.confirmation.TermCurve": {
            "title": "TermCurve",
            "description": "An instance of fpml5.confirmation.TermCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TermCurve",
                    "pattern": "^fpml5\\.confirmation\\.TermCurve$",
                    "description": "The class identifier for this type"
                },
                "extrapolationPermitted": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TermDeposit": {
            "title": "TermDeposit",
            "description": "An instance of fpml5.confirmation.TermDeposit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TermDeposit",
                    "pattern": "^fpml5\\.confirmation\\.TermDeposit$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "tenorName": {
                    "$ref": "#/definitions/fpml5.confirmation.FxTenorPeriodEnum"
                },
                "fixedRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate", "maturityDate", "fixedRate"]
        },
        "fpml5.confirmation.TermDepositFeatures": {
            "title": "TermDepositFeatures",
            "description": "An instance of fpml5.confirmation.TermDepositFeatures",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TermDepositFeatures",
                    "pattern": "^fpml5\\.confirmation\\.TermDepositFeatures$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TerminatingEvent": {
            "title": "TerminatingEvent",
            "description": "An instance of fpml5.confirmation.TerminatingEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TerminatingEvent",
                    "pattern": "^fpml5\\.confirmation\\.TerminatingEvent$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "terminatingEventScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TermLoan": {
            "title": "TermLoan",
            "description": "An instance of fpml5.confirmation.TermLoan",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TermLoan",
                    "pattern": "^fpml5\\.confirmation\\.TermLoan$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "expiryDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "maturityDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "startDate"]
        },
        "fpml5.confirmation.TermPoint": {
            "title": "TermPoint",
            "description": "An instance of fpml5.confirmation.TermPoint",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TermPoint",
                    "pattern": "^fpml5\\.confirmation\\.TermPoint$",
                    "description": "The class identifier for this type"
                },
                "bid": {
                    "type": "number"
                },
                "mid": {
                    "type": "number"
                },
                "ask": {
                    "type": "number"
                },
                "spreadValue": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TimeDimension": {
            "title": "TimeDimension",
            "description": "An instance of fpml5.confirmation.TimeDimension",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TimeDimension",
                    "pattern": "^fpml5\\.confirmation\\.TimeDimension$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TimestampTypeScheme": {
            "title": "TimestampTypeScheme",
            "description": "An instance of fpml5.confirmation.TimestampTypeScheme",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TimestampTypeScheme",
                    "pattern": "^fpml5\\.confirmation\\.TimestampTypeScheme$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "timestampScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TimezoneLocation": {
            "title": "TimezoneLocation",
            "description": "An instance of fpml5.confirmation.TimezoneLocation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TimezoneLocation",
                    "pattern": "^fpml5\\.confirmation\\.TimezoneLocation$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "timezoneLocationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TouchRateObservation": {
            "title": "TouchRateObservation",
            "description": "An instance of fpml5.confirmation.TouchRateObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TouchRateObservation",
                    "pattern": "^fpml5\\.confirmation\\.TouchRateObservation$",
                    "description": "The class identifier for this type"
                },
                "exerciseSide": {
                    "$ref": "#/definitions/fpml5.confirmation.ExerciseSideEnum"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "isExercisable": {
                    "type": "boolean"
                },
                "observationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "triggerRate": {
                    "type": "number"
                },
                "observedRate": {
                    "type": "number"
                },
                "triggerCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                }
            },
            "required": ["$class", "observationDate", "triggerCondition"]
        },
        "fpml5.confirmation.Trade": {
            "title": "Trade",
            "description": "An instance of fpml5.confirmation.Trade",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Trade",
                    "pattern": "^fpml5\\.confirmation\\.Trade$",
                    "description": "The class identifier for this type"
                },
                "productGroup": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "productGroup"]
        },
        "fpml5.confirmation.TradeAmendmentContent": {
            "title": "TradeAmendmentContent",
            "description": "An instance of fpml5.confirmation.TradeAmendmentContent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeAmendmentContent",
                    "pattern": "^fpml5\\.confirmation\\.TradeAmendmentContent$",
                    "description": "The class identifier for this type"
                },
                "agreementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "notionalChange": {
                    "$ref": "#/definitions/fpml5.confirmation.NotionalChangeEnum"
                }
            },
            "required": ["$class", "agreementDate", "effectiveDate"]
        },
        "fpml5.confirmation.TradeCategory": {
            "title": "TradeCategory",
            "description": "An instance of fpml5.confirmation.TradeCategory",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeCategory",
                    "pattern": "^fpml5\\.confirmation\\.TradeCategory$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "categoryScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeChangeAdvice": {
            "title": "TradeChangeAdvice",
            "description": "An instance of fpml5.confirmation.TradeChangeAdvice",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeChangeAdvice",
                    "pattern": "^fpml5\\.confirmation\\.TradeChangeAdvice$",
                    "description": "The class identifier for this type"
                },
                "isCorrection": {
                    "type": "boolean"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "isCorrection", "fpmlVersion"]
        },
        "fpml5.confirmation.TradeChangeAdviceRetracted": {
            "title": "TradeChangeAdviceRetracted",
            "description": "An instance of fpml5.confirmation.TradeChangeAdviceRetracted",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeChangeAdviceRetracted",
                    "pattern": "^fpml5\\.confirmation\\.TradeChangeAdviceRetracted$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.TradeChangeBase": {
            "title": "TradeChangeBase",
            "description": "An instance of fpml5.confirmation.TradeChangeBase",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeChangeBase",
                    "pattern": "^fpml5\\.confirmation\\.TradeChangeBase$",
                    "description": "The class identifier for this type"
                },
                "agreementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "agreementDate", "effectiveDate"]
        },
        "fpml5.confirmation.TradeChangeContent": {
            "title": "TradeChangeContent",
            "description": "An instance of fpml5.confirmation.TradeChangeContent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeChangeContent",
                    "pattern": "^fpml5\\.confirmation\\.TradeChangeContent$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "changeEventGroup": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate", "changeEventGroup"]
        },
        "fpml5.confirmation.TradeDifference": {
            "title": "TradeDifference",
            "description": "An instance of fpml5.confirmation.TradeDifference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeDifference",
                    "pattern": "^fpml5\\.confirmation\\.TradeDifference$",
                    "description": "The class identifier for this type"
                },
                "differenceType": {
                    "$ref": "#/definitions/fpml5.confirmation.DifferenceTypeEnum"
                },
                "differenceSeverity": {
                    "$ref": "#/definitions/fpml5.confirmation.DifferenceSeverityEnum"
                },
                "element": {
                    "type": "string"
                },
                "basePath": {
                    "type": "string"
                },
                "baseValue": {
                    "type": "string"
                },
                "otherPath": {
                    "type": "string"
                },
                "otherValue": {
                    "type": "string"
                },
                "missingElement": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "extraElement": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "message": {
                    "type": "string"
                }
            },
            "required": ["$class", "differenceType", "differenceSeverity", "element", "message"]
        },
        "fpml5.confirmation.TradeHeader": {
            "title": "TradeHeader",
            "description": "An instance of fpml5.confirmation.TradeHeader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeHeader",
                    "pattern": "^fpml5\\.confirmation\\.TradeHeader$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeId": {
            "title": "TradeId",
            "description": "An instance of fpml5.confirmation.TradeId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeId",
                    "pattern": "^fpml5\\.confirmation\\.TradeId$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "tradeIdScheme": {
                    "type": "string"
                }
            },
            "required": ["$class", "tradeIdScheme"]
        },
        "fpml5.confirmation.TradeIdentifier": {
            "title": "TradeIdentifier",
            "description": "An instance of fpml5.confirmation.TradeIdentifier",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeIdentifier",
                    "pattern": "^fpml5\\.confirmation\\.TradeIdentifier$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeIdentifierExtended": {
            "title": "TradeIdentifierExtended",
            "description": "An instance of fpml5.confirmation.TradeIdentifierExtended",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeIdentifierExtended",
                    "pattern": "^fpml5\\.confirmation\\.TradeIdentifierExtended$",
                    "description": "The class identifier for this type"
                },
                "group": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeLegPriceChange": {
            "title": "TradeLegPriceChange",
            "description": "An instance of fpml5.confirmation.TradeLegPriceChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeLegPriceChange",
                    "pattern": "^fpml5\\.confirmation\\.TradeLegPriceChange$",
                    "description": "The class identifier for this type"
                },
                "priceChangeAmount": {
                    "type": "number"
                },
                "newPrice": {
                    "type": "number"
                }
            },
            "required": ["$class", "priceChangeAmount", "newPrice"]
        },
        "fpml5.confirmation.TradeLegSizeChange": {
            "title": "TradeLegSizeChange",
            "description": "An instance of fpml5.confirmation.TradeLegSizeChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeLegSizeChange",
                    "pattern": "^fpml5\\.confirmation\\.TradeLegSizeChange$",
                    "description": "The class identifier for this type"
                },
                "changeInNumberOfOptions": {
                    "type": "number"
                },
                "outstandingNumberOfOptions": {
                    "type": "number"
                },
                "changeInNumberOfUnits": {
                    "type": "number"
                },
                "outstandingNumberOfUnits": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeMaturity": {
            "title": "TradeMaturity",
            "description": "An instance of fpml5.confirmation.TradeMaturity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeMaturity",
                    "pattern": "^fpml5\\.confirmation\\.TradeMaturity$",
                    "description": "The class identifier for this type"
                },
                "date": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "date"]
        },
        "fpml5.confirmation.TradeNotionalChange": {
            "title": "TradeNotionalChange",
            "description": "An instance of fpml5.confirmation.TradeNotionalChange",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeNotionalChange",
                    "pattern": "^fpml5\\.confirmation\\.TradeNotionalChange$",
                    "description": "The class identifier for this type"
                },
                "changeInNumberOfOptions": {
                    "type": "number"
                },
                "outstandingNumberOfOptions": {
                    "type": "number"
                },
                "changeInNumberOfUnits": {
                    "type": "number"
                },
                "outstandingNumberOfUnits": {
                    "type": "number"
                },
                "agreementDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "agreementDate", "effectiveDate"]
        },
        "fpml5.confirmation.TradeNovationContent": {
            "title": "TradeNovationContent",
            "description": "An instance of fpml5.confirmation.TradeNovationContent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeNovationContent",
                    "pattern": "^fpml5\\.confirmation\\.TradeNovationContent$",
                    "description": "The class identifier for this type"
                },
                "novationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "novationTradeDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "novatedNumberOfOptions": {
                    "type": "number"
                },
                "remainingNumberOfOptions": {
                    "type": "number"
                },
                "novatedNumberOfUnits": {
                    "type": "number"
                },
                "remainingNumberOfUnits": {
                    "type": "number"
                },
                "fullFirstCalculationPeriod": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "novationDate"]
        },
        "fpml5.confirmation.TradePackage": {
            "title": "TradePackage",
            "description": "An instance of fpml5.confirmation.TradePackage",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradePackage",
                    "pattern": "^fpml5\\.confirmation\\.TradePackage$",
                    "description": "The class identifier for this type"
                },
                "tradeReferenceInformationModel": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeProcessingTimestamps": {
            "title": "TradeProcessingTimestamps",
            "description": "An instance of fpml5.confirmation.TradeProcessingTimestamps",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeProcessingTimestamps",
                    "pattern": "^fpml5\\.confirmation\\.TradeProcessingTimestamps$",
                    "description": "The class identifier for this type"
                },
                "orderEntered": {
                    "format": "date-time",
                    "type": "string"
                },
                "orderSubmitted": {
                    "format": "date-time",
                    "type": "string"
                },
                "publiclyReported": {
                    "format": "date-time",
                    "type": "string"
                },
                "publicReportAccepted": {
                    "format": "date-time",
                    "type": "string"
                },
                "publicReportUpdated": {
                    "format": "date-time",
                    "type": "string"
                },
                "nonpubliclyReported": {
                    "format": "date-time",
                    "type": "string"
                },
                "nonpublicReportAccepted": {
                    "format": "date-time",
                    "type": "string"
                },
                "nonpublicReportUpdated": {
                    "format": "date-time",
                    "type": "string"
                },
                "submittedForConfirmation": {
                    "format": "date-time",
                    "type": "string"
                },
                "updatedForConfirmation": {
                    "format": "date-time",
                    "type": "string"
                },
                "confirmed": {
                    "format": "date-time",
                    "type": "string"
                },
                "submittedForClearing": {
                    "format": "date-time",
                    "type": "string"
                },
                "updatedForClearing": {
                    "format": "date-time",
                    "type": "string"
                },
                "cleared": {
                    "format": "date-time",
                    "type": "string"
                },
                "allocationsSubmitted": {
                    "format": "date-time",
                    "type": "string"
                },
                "allocationsUpdated": {
                    "format": "date-time",
                    "type": "string"
                },
                "allocationsCompleted": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Trader": {
            "title": "Trader",
            "description": "An instance of fpml5.confirmation.Trader",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Trader",
                    "pattern": "^fpml5\\.confirmation\\.Trader$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "traderScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeReferenceInformation": {
            "title": "TradeReferenceInformation",
            "description": "An instance of fpml5.confirmation.TradeReferenceInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeReferenceInformation",
                    "pattern": "^fpml5\\.confirmation\\.TradeReferenceInformation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeSummary": {
            "title": "TradeSummary",
            "description": "An instance of fpml5.confirmation.TradeSummary",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeSummary",
                    "pattern": "^fpml5\\.confirmation\\.TradeSummary$",
                    "description": "The class identifier for this type"
                },
                "isPackageTrade": {
                    "type": "boolean"
                },
                "isPrimeBrokerTrade": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeTimestamp": {
            "title": "TradeTimestamp",
            "description": "An instance of fpml5.confirmation.TradeTimestamp",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeTimestamp",
                    "pattern": "^fpml5\\.confirmation\\.TradeTimestamp$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "value"]
        },
        "fpml5.confirmation.TradeUnderlyer2": {
            "title": "TradeUnderlyer2",
            "description": "An instance of fpml5.confirmation.TradeUnderlyer2",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeUnderlyer2",
                    "pattern": "^fpml5\\.confirmation\\.TradeUnderlyer2$",
                    "description": "The class identifier for this type"
                },
                "underlyingAssetGroup": {
                    "type": "string"
                },
                "averagingMethod": {
                    "$ref": "#/definitions/fpml5.confirmation.AveragingMethodEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradeWrapper": {
            "title": "TradeWrapper",
            "description": "An instance of fpml5.confirmation.TradeWrapper",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradeWrapper",
                    "pattern": "^fpml5\\.confirmation\\.TradeWrapper$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradingInstructionOverride": {
            "title": "TradingInstructionOverride",
            "description": "An instance of fpml5.confirmation.TradingInstructionOverride",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradingInstructionOverride",
                    "pattern": "^fpml5\\.confirmation\\.TradingInstructionOverride$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TradingWaiver": {
            "title": "TradingWaiver",
            "description": "An instance of fpml5.confirmation.TradingWaiver",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TradingWaiver",
                    "pattern": "^fpml5\\.confirmation\\.TradingWaiver$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "tradingWaiverScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Tranche": {
            "title": "Tranche",
            "description": "An instance of fpml5.confirmation.Tranche",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Tranche",
                    "pattern": "^fpml5\\.confirmation\\.Tranche$",
                    "description": "The class identifier for this type"
                },
                "attachmentPoint": {
                    "type": "number"
                },
                "exhaustionPoint": {
                    "type": "number"
                },
                "incurredRecoveryApplicable": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "attachmentPoint", "exhaustionPoint"]
        },
        "fpml5.confirmation.TransactionCharacteristic": {
            "title": "TransactionCharacteristic",
            "description": "An instance of fpml5.confirmation.TransactionCharacteristic",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TransactionCharacteristic",
                    "pattern": "^fpml5\\.confirmation\\.TransactionCharacteristic$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "transactionCharacteristicScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TransferFeeDefinition": {
            "title": "TransferFeeDefinition",
            "description": "An instance of fpml5.confirmation.TransferFeeDefinition",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TransferFeeDefinition",
                    "pattern": "^fpml5\\.confirmation\\.TransferFeeDefinition$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TransferFeeRule": {
            "title": "TransferFeeRule",
            "description": "An instance of fpml5.confirmation.TransferFeeRule",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TransferFeeRule",
                    "pattern": "^fpml5\\.confirmation\\.TransferFeeRule$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "transferFeeRuleScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Trigger": {
            "title": "Trigger",
            "description": "An instance of fpml5.confirmation.Trigger",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Trigger",
                    "pattern": "^fpml5\\.confirmation\\.Trigger$",
                    "description": "The class identifier for this type"
                },
                "level": {
                    "type": "number"
                },
                "levelPercentage": {
                    "type": "number"
                },
                "triggerType": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerTypeEnum"
                },
                "triggerTimeType": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerTimeTypeEnum"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TriggerEvent": {
            "title": "TriggerEvent",
            "description": "An instance of fpml5.confirmation.TriggerEvent",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TriggerEvent",
                    "pattern": "^fpml5\\.confirmation\\.TriggerEvent$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.TriggerRateObservation": {
            "title": "TriggerRateObservation",
            "description": "An instance of fpml5.confirmation.TriggerRateObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TriggerRateObservation",
                    "pattern": "^fpml5\\.confirmation\\.TriggerRateObservation$",
                    "description": "The class identifier for this type"
                },
                "observationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "triggerRate": {
                    "type": "number"
                },
                "observedRate": {
                    "type": "number"
                },
                "triggerCondition": {
                    "$ref": "#/definitions/fpml5.confirmation.TriggerConditionEnum"
                }
            },
            "required": ["$class", "observationDate", "triggerCondition"]
        },
        "fpml5.confirmation.TriParty": {
            "title": "TriParty",
            "description": "An instance of fpml5.confirmation.TriParty",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.TriParty",
                    "pattern": "^fpml5\\.confirmation\\.TriParty$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Underlyer": {
            "title": "Underlyer",
            "description": "An instance of fpml5.confirmation.Underlyer",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Underlyer",
                    "pattern": "^fpml5\\.confirmation\\.Underlyer$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.UnderlyerInterestLeg": {
            "title": "UnderlyerInterestLeg",
            "description": "An instance of fpml5.confirmation.UnderlyerInterestLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnderlyerInterestLeg",
                    "pattern": "^fpml5\\.confirmation\\.UnderlyerInterestLeg$",
                    "description": "The class identifier for this type"
                },
                "fixedRate": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.UnderlyerLoanRate": {
            "title": "UnderlyerLoanRate",
            "description": "An instance of fpml5.confirmation.UnderlyerLoanRate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnderlyerLoanRate",
                    "pattern": "^fpml5\\.confirmation\\.UnderlyerLoanRate$",
                    "description": "The class identifier for this type"
                },
                "lossOfStockBorrow": {
                    "type": "boolean"
                },
                "maximumStockLoanRate": {
                    "type": "number"
                },
                "increasedCostOfStockBorrow": {
                    "type": "boolean"
                },
                "initialStockLoanRate": {
                    "type": "number"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.UnderlyerReference": {
            "title": "UnderlyerReference",
            "description": "An instance of fpml5.confirmation.UnderlyerReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnderlyerReference",
                    "pattern": "^fpml5\\.confirmation\\.UnderlyerReference$",
                    "description": "The class identifier for this type"
                },
                "href": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.UnderlyingAssetTranche": {
            "title": "UnderlyingAssetTranche",
            "description": "An instance of fpml5.confirmation.UnderlyingAssetTranche",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnderlyingAssetTranche",
                    "pattern": "^fpml5\\.confirmation\\.UnderlyingAssetTranche$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "loanTrancheScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Unit": {
            "title": "Unit",
            "description": "An instance of fpml5.confirmation.Unit",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Unit",
                    "pattern": "^fpml5\\.confirmation\\.Unit$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "unitScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.UnitQuantity": {
            "title": "UnitQuantity",
            "description": "An instance of fpml5.confirmation.UnitQuantity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnitQuantity",
                    "pattern": "^fpml5\\.confirmation\\.UnitQuantity$",
                    "description": "The class identifier for this type"
                },
                "quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quantity"]
        },
        "fpml5.confirmation.UnitQuantityRef": {
            "title": "UnitQuantityRef",
            "description": "An instance of fpml5.confirmation.UnitQuantityRef",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnitQuantityRef",
                    "pattern": "^fpml5\\.confirmation\\.UnitQuantityRef$",
                    "description": "The class identifier for this type"
                },
                "quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quantity"]
        },
        "fpml5.confirmation.UnprocessedElementWrapper": {
            "title": "UnprocessedElementWrapper",
            "description": "An instance of fpml5.confirmation.UnprocessedElementWrapper",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UnprocessedElementWrapper",
                    "pattern": "^fpml5\\.confirmation\\.UnprocessedElementWrapper$",
                    "description": "The class identifier for this type"
                },
                "any": {
                    "type": "string"
                }
            },
            "required": ["$class", "any"]
        },
        "fpml5.confirmation.UpfrontFeePayment": {
            "title": "UpfrontFeePayment",
            "description": "An instance of fpml5.confirmation.UpfrontFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UpfrontFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.UpfrontFeePayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.UtilizationAmounts": {
            "title": "UtilizationAmounts",
            "description": "An instance of fpml5.confirmation.UtilizationAmounts",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UtilizationAmounts",
                    "pattern": "^fpml5\\.confirmation\\.UtilizationAmounts$",
                    "description": "The class identifier for this type"
                },
                "fundedAmount": {
                    "type": "number"
                },
                "unfundedAmount": {
                    "type": "number"
                }
            },
            "required": ["$class", "fundedAmount", "unfundedAmount"]
        },
        "fpml5.confirmation.UtilizationPeriod": {
            "title": "UtilizationPeriod",
            "description": "An instance of fpml5.confirmation.UtilizationPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.UtilizationPeriod",
                    "pattern": "^fpml5\\.confirmation\\.UtilizationPeriod$",
                    "description": "The class identifier for this type"
                },
                "startDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "endDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "numberOfDays": {
                    "type": "number"
                }
            },
            "required": ["$class", "startDate", "endDate", "numberOfDays"]
        },
        "fpml5.confirmation.Validation": {
            "title": "Validation",
            "description": "An instance of fpml5.confirmation.Validation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Validation",
                    "pattern": "^fpml5\\.confirmation\\.Validation$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "validationScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Valuation": {
            "title": "Valuation",
            "description": "An instance of fpml5.confirmation.Valuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Valuation",
                    "pattern": "^fpml5\\.confirmation\\.Valuation$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationDate": {
            "title": "ValuationDate",
            "description": "An instance of fpml5.confirmation.ValuationDate",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationDate",
                    "pattern": "^fpml5\\.confirmation\\.ValuationDate$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationDatesReference": {
            "title": "ValuationDatesReference",
            "description": "An instance of fpml5.confirmation.ValuationDatesReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationDatesReference",
                    "pattern": "^fpml5\\.confirmation\\.ValuationDatesReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationDocument": {
            "title": "ValuationDocument",
            "description": "An instance of fpml5.confirmation.ValuationDocument",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationDocument",
                    "pattern": "^fpml5\\.confirmation\\.ValuationDocument$",
                    "description": "The class identifier for this type"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.ValuationPostponement": {
            "title": "ValuationPostponement",
            "description": "An instance of fpml5.confirmation.ValuationPostponement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationPostponement",
                    "pattern": "^fpml5\\.confirmation\\.ValuationPostponement$",
                    "description": "The class identifier for this type"
                },
                "maximumDaysOfPostponement": {
                    "type": "integer"
                }
            },
            "required": ["$class", "maximumDaysOfPostponement"]
        },
        "fpml5.confirmation.ValuationReference": {
            "title": "ValuationReference",
            "description": "An instance of fpml5.confirmation.ValuationReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationReference",
                    "pattern": "^fpml5\\.confirmation\\.ValuationReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationScenario": {
            "title": "ValuationScenario",
            "description": "An instance of fpml5.confirmation.ValuationScenario",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationScenario",
                    "pattern": "^fpml5\\.confirmation\\.ValuationScenario$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationScenarioReference": {
            "title": "ValuationScenarioReference",
            "description": "An instance of fpml5.confirmation.ValuationScenarioReference",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationScenarioReference",
                    "pattern": "^fpml5\\.confirmation\\.ValuationScenarioReference$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationSet": {
            "title": "ValuationSet",
            "description": "An instance of fpml5.confirmation.ValuationSet",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationSet",
                    "pattern": "^fpml5\\.confirmation\\.ValuationSet$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ValuationSetDetail": {
            "title": "ValuationSetDetail",
            "description": "An instance of fpml5.confirmation.ValuationSetDetail",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ValuationSetDetail",
                    "pattern": "^fpml5\\.confirmation\\.ValuationSetDetail$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "valuationSetDetailScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Variance": {
            "title": "Variance",
            "description": "An instance of fpml5.confirmation.Variance",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Variance",
                    "pattern": "^fpml5\\.confirmation\\.Variance$",
                    "description": "The class identifier for this type"
                },
                "volatilityStrikePrice": {
                    "type": "number"
                },
                "varianceStrikePrice": {
                    "type": "number"
                },
                "varianceCap": {
                    "type": "boolean"
                },
                "unadjustedVarianceCap": {
                    "type": "number"
                },
                "vegaNotionalAmount": {
                    "type": "number"
                },
                "initialLevel": {
                    "type": "number"
                },
                "closingLevel": {
                    "type": "boolean"
                },
                "expiringLevel": {
                    "type": "boolean"
                },
                "expectedN": {
                    "type": "integer"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VarianceAmount": {
            "title": "VarianceAmount",
            "description": "An instance of fpml5.confirmation.VarianceAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VarianceAmount",
                    "pattern": "^fpml5\\.confirmation\\.VarianceAmount$",
                    "description": "The class identifier for this type"
                },
                "optionsExchangeDividends": {
                    "type": "boolean"
                },
                "additionalDividends": {
                    "type": "boolean"
                },
                "allDividends": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VarianceLeg": {
            "title": "VarianceLeg",
            "description": "An instance of fpml5.confirmation.VarianceLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VarianceLeg",
                    "pattern": "^fpml5\\.confirmation\\.VarianceLeg$",
                    "description": "The class identifier for this type"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VarianceOptionTransactionSupplement": {
            "title": "VarianceOptionTransactionSupplement",
            "description": "An instance of fpml5.confirmation.VarianceOptionTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VarianceOptionTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.VarianceOptionTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "exchangeLookAlike": {
                    "type": "boolean"
                },
                "methodOfAdjustment": {
                    "$ref": "#/definitions/fpml5.confirmation.MethodOfAdjustmentEnum"
                },
                "optionEntitlement": {
                    "type": "number"
                },
                "multiplier": {
                    "type": "number"
                },
                "optionType": {
                    "$ref": "#/definitions/fpml5.confirmation.OptionTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "optionType"]
        },
        "fpml5.confirmation.VarianceSwap": {
            "title": "VarianceSwap",
            "description": "An instance of fpml5.confirmation.VarianceSwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VarianceSwap",
                    "pattern": "^fpml5\\.confirmation\\.VarianceSwap$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VarianceSwapTransactionSupplement": {
            "title": "VarianceSwapTransactionSupplement",
            "description": "An instance of fpml5.confirmation.VarianceSwapTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VarianceSwapTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.VarianceSwapTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "multipleExchangeIndexAnnexFallback": {
                    "type": "boolean"
                },
                "componentSecurityIndexAnnexFallback": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.Velocity": {
            "title": "Velocity",
            "description": "An instance of fpml5.confirmation.Velocity",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Velocity",
                    "pattern": "^fpml5\\.confirmation\\.Velocity$",
                    "description": "The class identifier for this type"
                },
                "periodMultiplier": {
                    "type": "integer"
                },
                "period": {
                    "$ref": "#/definitions/fpml5.confirmation.PeriodTimeEnum"
                }
            },
            "required": ["$class", "periodMultiplier", "period"]
        },
        "fpml5.confirmation.VerificationMethod": {
            "title": "VerificationMethod",
            "description": "An instance of fpml5.confirmation.VerificationMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VerificationMethod",
                    "pattern": "^fpml5\\.confirmation\\.VerificationMethod$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "verificationMethodScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VerificationStatus": {
            "title": "VerificationStatus",
            "description": "An instance of fpml5.confirmation.VerificationStatus",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VerificationStatus",
                    "pattern": "^fpml5\\.confirmation\\.VerificationStatus$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "verificationStatusScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VerificationStatusNotification": {
            "title": "VerificationStatusNotification",
            "description": "An instance of fpml5.confirmation.VerificationStatusNotification",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VerificationStatusNotification",
                    "pattern": "^fpml5\\.confirmation\\.VerificationStatusNotification$",
                    "description": "The class identifier for this type"
                },
                "sequenceNumber": {
                    "type": "integer"
                },
                "actualBuild": {
                    "type": "integer"
                },
                "expectedBuild": {
                    "type": "integer"
                },
                "fpmlVersion": {
                    "type": "string"
                }
            },
            "required": ["$class", "fpmlVersion"]
        },
        "fpml5.confirmation.VersionedContractId": {
            "title": "VersionedContractId",
            "description": "An instance of fpml5.confirmation.VersionedContractId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VersionedContractId",
                    "pattern": "^fpml5\\.confirmation\\.VersionedContractId$",
                    "description": "The class identifier for this type"
                },
                "version": {
                    "type": "integer"
                }
            },
            "required": ["$class", "version"]
        },
        "fpml5.confirmation.VersionedTradeId": {
            "title": "VersionedTradeId",
            "description": "An instance of fpml5.confirmation.VersionedTradeId",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VersionedTradeId",
                    "pattern": "^fpml5\\.confirmation\\.VersionedTradeId$",
                    "description": "The class identifier for this type"
                },
                "version": {
                    "type": "integer"
                }
            },
            "required": ["$class", "version"]
        },
        "fpml5.confirmation.Volatility": {
            "title": "Volatility",
            "description": "An instance of fpml5.confirmation.Volatility",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Volatility",
                    "pattern": "^fpml5\\.confirmation\\.Volatility$",
                    "description": "The class identifier for this type"
                },
                "volatilityStrikePrice": {
                    "type": "number"
                },
                "vegaNotionalAmount": {
                    "type": "number"
                },
                "initialLevel": {
                    "type": "number"
                },
                "closingLevel": {
                    "type": "boolean"
                },
                "expiringLevel": {
                    "type": "boolean"
                },
                "expectedN": {
                    "type": "integer"
                }
            },
            "required": ["$class", "volatilityStrikePrice", "vegaNotionalAmount"]
        },
        "fpml5.confirmation.VolatilityAmount": {
            "title": "VolatilityAmount",
            "description": "An instance of fpml5.confirmation.VolatilityAmount",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilityAmount",
                    "pattern": "^fpml5\\.confirmation\\.VolatilityAmount$",
                    "description": "The class identifier for this type"
                },
                "optionsExchangeDividends": {
                    "type": "boolean"
                },
                "additionalDividends": {
                    "type": "boolean"
                },
                "allDividends": {
                    "type": "boolean"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VolatilityCap": {
            "title": "VolatilityCap",
            "description": "An instance of fpml5.confirmation.VolatilityCap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilityCap",
                    "pattern": "^fpml5\\.confirmation\\.VolatilityCap$",
                    "description": "The class identifier for this type"
                },
                "applicable": {
                    "type": "boolean"
                },
                "totalVolatilityCap": {
                    "type": "number"
                },
                "volatilityCapFactor": {
                    "type": "number"
                },
                "totalVolatilityCap1": {
                    "type": "number"
                }
            },
            "required": ["$class", "applicable"]
        },
        "fpml5.confirmation.VolatilityLeg": {
            "title": "VolatilityLeg",
            "description": "An instance of fpml5.confirmation.VolatilityLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilityLeg",
                    "pattern": "^fpml5\\.confirmation\\.VolatilityLeg$",
                    "description": "The class identifier for this type"
                },
                "settlementType": {
                    "$ref": "#/definitions/fpml5.confirmation.SettlementTypeEnum"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VolatilityMatrix": {
            "title": "VolatilityMatrix",
            "description": "An instance of fpml5.confirmation.VolatilityMatrix",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilityMatrix",
                    "pattern": "^fpml5\\.confirmation\\.VolatilityMatrix$",
                    "description": "The class identifier for this type"
                },
                "buildDateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VolatilityRepresentation": {
            "title": "VolatilityRepresentation",
            "description": "An instance of fpml5.confirmation.VolatilityRepresentation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilityRepresentation",
                    "pattern": "^fpml5\\.confirmation\\.VolatilityRepresentation$",
                    "description": "The class identifier for this type"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VolatilitySwap": {
            "title": "VolatilitySwap",
            "description": "An instance of fpml5.confirmation.VolatilitySwap",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilitySwap",
                    "pattern": "^fpml5\\.confirmation\\.VolatilitySwap$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.VolatilitySwapTransactionSupplement": {
            "title": "VolatilitySwapTransactionSupplement",
            "description": "An instance of fpml5.confirmation.VolatilitySwapTransactionSupplement",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.VolatilitySwapTransactionSupplement",
                    "pattern": "^fpml5\\.confirmation\\.VolatilitySwapTransactionSupplement$",
                    "description": "The class identifier for this type"
                },
                "multipleExchangeIndexAnnexFallback": {
                    "type": "boolean"
                },
                "componentSecurityIndexAnnexFallback": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WaiverFeePayment": {
            "title": "WaiverFeePayment",
            "description": "An instance of fpml5.confirmation.WaiverFeePayment",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WaiverFeePayment",
                    "pattern": "^fpml5\\.confirmation\\.WaiverFeePayment$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.WeatherCalculationPeriod": {
            "title": "WeatherCalculationPeriod",
            "description": "An instance of fpml5.confirmation.WeatherCalculationPeriod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherCalculationPeriod",
                    "pattern": "^fpml5\\.confirmation\\.WeatherCalculationPeriod$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeatherCalculationPeriods": {
            "title": "WeatherCalculationPeriods",
            "description": "An instance of fpml5.confirmation.WeatherCalculationPeriods",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherCalculationPeriods",
                    "pattern": "^fpml5\\.confirmation\\.WeatherCalculationPeriods$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeatherIndex": {
            "title": "WeatherIndex",
            "description": "An instance of fpml5.confirmation.WeatherIndex",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherIndex",
                    "pattern": "^fpml5\\.confirmation\\.WeatherIndex$",
                    "description": "The class identifier for this type"
                },
                "quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class", "quantity"]
        },
        "fpml5.confirmation.WeatherIndexData": {
            "title": "WeatherIndexData",
            "description": "An instance of fpml5.confirmation.WeatherIndexData",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherIndexData",
                    "pattern": "^fpml5\\.confirmation\\.WeatherIndexData$",
                    "description": "The class identifier for this type"
                },
                "finalEditedData": {
                    "type": "boolean"
                },
                "alternativeDataProvider": {
                    "type": "boolean"
                },
                "synopticDataFallback": {
                    "type": "boolean"
                },
                "adjustmentToFallbackWeatherStation": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "finalEditedData", "alternativeDataProvider", "synopticDataFallback"]
        },
        "fpml5.confirmation.WeatherLeg": {
            "title": "WeatherLeg",
            "description": "An instance of fpml5.confirmation.WeatherLeg",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherLeg",
                    "pattern": "^fpml5\\.confirmation\\.WeatherLeg$",
                    "description": "The class identifier for this type"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeatherLegCalculation": {
            "title": "WeatherLegCalculation",
            "description": "An instance of fpml5.confirmation.WeatherLegCalculation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherLegCalculation",
                    "pattern": "^fpml5\\.confirmation\\.WeatherLegCalculation$",
                    "description": "The class identifier for this type"
                },
                "settlementLevel": {
                    "$ref": "#/definitions/fpml5.confirmation.WeatherSettlementLevelEnum"
                },
                "referenceLevelEqualsZero": {
                    "type": "boolean"
                },
                "dataCorrection": {
                    "type": "boolean"
                }
            },
            "required": ["$class", "settlementLevel", "referenceLevelEqualsZero", "dataCorrection"]
        },
        "fpml5.confirmation.WeatherStation": {
            "title": "WeatherStation",
            "description": "An instance of fpml5.confirmation.WeatherStation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherStation",
                    "pattern": "^fpml5\\.confirmation\\.WeatherStation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeatherStationAirport": {
            "title": "WeatherStationAirport",
            "description": "An instance of fpml5.confirmation.WeatherStationAirport",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherStationAirport",
                    "pattern": "^fpml5\\.confirmation\\.WeatherStationAirport$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "weatherStationAirportScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeatherStationWBAN": {
            "title": "WeatherStationWBAN",
            "description": "An instance of fpml5.confirmation.WeatherStationWBAN",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherStationWBAN",
                    "pattern": "^fpml5\\.confirmation\\.WeatherStationWBAN$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "weatherStationWBANScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeatherStationWMO": {
            "title": "WeatherStationWMO",
            "description": "An instance of fpml5.confirmation.WeatherStationWMO",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeatherStationWMO",
                    "pattern": "^fpml5\\.confirmation\\.WeatherStationWMO$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "weatherStationWMOScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WeightedAveragingObservation": {
            "title": "WeightedAveragingObservation",
            "description": "An instance of fpml5.confirmation.WeightedAveragingObservation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeightedAveragingObservation",
                    "pattern": "^fpml5\\.confirmation\\.WeightedAveragingObservation$",
                    "description": "The class identifier for this type"
                },
                "dateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "observationNumber": {
                    "type": "integer"
                },
                "weight": {
                    "type": "number"
                }
            },
            "required": ["$class", "weight"]
        },
        "fpml5.confirmation.WeightedPartialDerivative": {
            "title": "WeightedPartialDerivative",
            "description": "An instance of fpml5.confirmation.WeightedPartialDerivative",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WeightedPartialDerivative",
                    "pattern": "^fpml5\\.confirmation\\.WeightedPartialDerivative$",
                    "description": "The class identifier for this type"
                },
                "weight": {
                    "type": "number"
                }
            },
            "required": ["$class", "weight"]
        },
        "fpml5.confirmation.Withdrawal": {
            "title": "Withdrawal",
            "description": "An instance of fpml5.confirmation.Withdrawal",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.Withdrawal",
                    "pattern": "^fpml5\\.confirmation\\.Withdrawal$",
                    "description": "The class identifier for this type"
                },
                "effectiveDate": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": ["$class", "effectiveDate"]
        },
        "fpml5.confirmation.WithdrawalPartyTradeInformation": {
            "title": "WithdrawalPartyTradeInformation",
            "description": "An instance of fpml5.confirmation.WithdrawalPartyTradeInformation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WithdrawalPartyTradeInformation",
                    "pattern": "^fpml5\\.confirmation\\.WithdrawalPartyTradeInformation$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WithdrawalReason": {
            "title": "WithdrawalReason",
            "description": "An instance of fpml5.confirmation.WithdrawalReason",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WithdrawalReason",
                    "pattern": "^fpml5\\.confirmation\\.WithdrawalReason$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "withdrawalReasonScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.WithholdingTaxReason": {
            "title": "WithholdingTaxReason",
            "description": "An instance of fpml5.confirmation.WithholdingTaxReason",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.WithholdingTaxReason",
                    "pattern": "^fpml5\\.confirmation\\.WithholdingTaxReason$",
                    "description": "The class identifier for this type"
                },
                "value": {
                    "type": "string"
                },
                "withholdingTaxReasonScheme": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.YieldCurve": {
            "title": "YieldCurve",
            "description": "An instance of fpml5.confirmation.YieldCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.YieldCurve",
                    "pattern": "^fpml5\\.confirmation\\.YieldCurve$",
                    "description": "The class identifier for this type"
                },
                "algorithm": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.YieldCurveMethod": {
            "title": "YieldCurveMethod",
            "description": "An instance of fpml5.confirmation.YieldCurveMethod",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.YieldCurveMethod",
                    "pattern": "^fpml5\\.confirmation\\.YieldCurveMethod$",
                    "description": "The class identifier for this type"
                },
                "quotationRateType": {
                    "$ref": "#/definitions/fpml5.confirmation.QuotationRateTypeEnum"
                }
            },
            "required": ["$class", "quotationRateType"]
        },
        "fpml5.confirmation.YieldCurveValuation": {
            "title": "YieldCurveValuation",
            "description": "An instance of fpml5.confirmation.YieldCurveValuation",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.YieldCurveValuation",
                    "pattern": "^fpml5\\.confirmation\\.YieldCurveValuation$",
                    "description": "The class identifier for this type"
                },
                "buildDateTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            },
            "required": ["$class"]
        },
        "fpml5.confirmation.ZeroRateCurve": {
            "title": "ZeroRateCurve",
            "description": "An instance of fpml5.confirmation.ZeroRateCurve",
            "type": "object",
            "properties": {
                "$class": {
                    "type": "string",
                    "default": "fpml5.confirmation.ZeroRateCurve",
                    "pattern": "^fpml5\\.confirmation\\.ZeroRateCurve$",
                    "description": "The class identifier for this type"
                }
            },
            "required": ["$class"]
        }
    }
}
