---
title: "Transaction"
url: "https://developers.zinnia.com/apis/policy-service-0-1-0/versions/8306e031-b41c-452a-a7ed-d73d65602086/schemas/Transaction"
---

> Full API specification: https://developers.zinnia.com/apis/policy-service-0-1-0/versions/8306e031-b41c-452a-a7ed-d73d65602086.md

# Transaction

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Policy Service
  version: 0.0.21
servers:
  - url: https://qa.api.zinnia.io
components:
  schemas:
    TransactionStatus:
      type: string
      enum:
        - Pending
        - Completed
        - Failed
        - Reversed
        - Canceled
        - PendingReversal
    Outcome:
      type: string
      enum:
        - "true"
        - "false"
    TransactionAmount:
      type: object
      properties:
        requestedAmount:
          type: number
          format: double
          example: 100.41
          description: "Depending on the transaction, it will be one of the following: The
            amount requested for premium allocation or processing. The requested
            amount for issuing a new loan against the policy. The amount
            requested to initiate a loan repayment transaction. The requested
            amount for a partial withdrawal from the policy’s cash value. The
            requested amount for making adjustments to the policy’s value.This
            transaction overrides the value and do not adjust. Request amount
            shared for this variable will be utilized to override existing
            policy variable. Example: Cost basis change using value adjustment
            transaction, Old cost basis: $200, Value Adjustment Request Amount:
            $120, New Cost basis: $120."
        amountType:
          $ref: "#/components/schemas/AmountType"
        disbursementType:
          $ref: "#/components/schemas/DisbursementType"
        disbursementPaymentForm:
          $ref: "#/components/schemas/DisbursementPaymentForm"
        distributionCode:
          $ref: "#/components/schemas/DistributionCode"
        loanType:
          $ref: "#/components/schemas/LoanType"
        loanInterestType:
          $ref: "#/components/schemas/LoanInterestType"
        accountNumber:
          type: string
          example: "123456789"
          description: The unique identifier representing the policy number associated
            with a transaction for DTCC money movement.
        participantId:
          type: string
          example: "123456789"
          description: The DTCC Participant ID (also known as a DTCC Number or Participant
            Number) is a unique identifier assigned by the Depository Trust &
            Clearing Corporation (DTCC) to financial institutions — such as
            broker-dealers, banks, or mutual funds — that participate in DTCC’s
            clearing and settlement systems.
        paymentAmount:
          type: number
          format: double
          description: "Depending on the transaction, it will be one of the following: The
            amount used for drafting requested premium amount. The amount used
            for drafting requested loan repayment amount"
          example: 100.31
        appliedAmount:
          type: number
          format: double
          description: "Depending on the transaction, it will be one of the following: -
            The portion of the requested premium that was successfully applied
            to the account value of the policy. - The portion of the requested
            loan amount that was actually applied on the policy. - The portion
            of the requested loan repayment amount that was applied on the
            policy. - The portion of the requested withdrawal amount that was
            applied on the policy. - The total amount applied toward the full
            surrender of the policy. - The portion of a transaction applied
            amount that is summation of all fund level applied amounts
            impacted  due to the transaction. - The updated face amount
            successfully applied to the policy. - The amount refunded as part of
            a free-look period cancellation (policy cancellation within the
            allowable period). - The policy’s value before an adjustment is
            applied."
          example: 100.29
        freeAppliedAmount:
          type: number
          format: double
          description: The portion of a transaction applied amount(e.g., withdrawal) that
            was processed without incurring charges or penalties
          example: 100.18
        calculatedAmount:
          type: number
          format: double
          description: The system-determined premium amount based on policy calculations,
            this will be set as premium applied amount plus any applicable
            charges
          example: 100.19
        totalChargeAmount:
          type: number
          format: double
          description: The total amount of fees or charges applied to the transaction
            which is summation of individual charges
          example: 100.41
        taxableAmount:
          type: number
          format: double
          description: The portion of a transaction applied amount that is considered
            taxable based on IRS regulations
          example: 100.23
        deathClaimPayoutPreStateSpecificInterest:
          type: number
          format: double
          description: The claim payout amount before applying Supplemental Security
            Income (SSI) offsets or adjustments
          example: 1000.91
        claimStatutoryInterestAmount:
          type: number
          format: double
          description: The statutory interest amount paid as part of a claim settlement.
            This is the SSI amount
          example: 1000.41
        deathBenefitInterestCalculatedFromDate:
          $ref: "#/components/schemas/DeathBenefitInterestCalculatedFromDate"
        claimStatutoryInterestRate:
          type: number
          format: double
          description: The state specific interest rate applied to the statutory claim
            payout
          example: 1000.51
        claimCode:
          $ref: "#/components/schemas/ClaimCode"
        distributionInternalRevenueServiceCode:
          type: string
          description: The IRS tax reporting code associated to the distribution code
          example: LD
        offageAmount:
          type: number
          description: The difference between requested amount and applied amount for
            premium transactions
          example: 100.81
          format: double
        excessPremium:
          type: number
          description: In transaction context, Excess Premium is the amount of premium
            applied beyond allowable or intended limits under a policy,
            triggering compliance review, refund, or corrective action
          example: 100.91
          format: double
        targetPremium:
          type: number
          description: Target Premium is the planned annual premium amount set at issue
            for flexible premium policies. It serves as a benchmark for funding,
            performance monitoring, and commission purposes, but does not
            represent a required payment
          example: 100.19
          format: double
        netPaymentAmount:
          type: number
          description: The net amount actually received from the agent to be applied to
            the policy
          example: 48000.28
          format: double
        retainedCommissionAmount:
          type: number
          description: The difference between the net amount actually received and gross
            amount applied to the policy.
          example: 2000.29
          format: double
        premiumPortionAmount:
          type: number
          format: double
          example: 1000.51
          description: The amount paid toward the premium when the policy has a loan
            balance.
        loanRepaymentPortionAmount:
          type: number
          format: double
          example: 1000.51
          description: The amount paid toward the Loan Repayment when the policy has a
            loan balance.
        statutoryInterestCalculationFromDate:
          type: string
          format: date
          description: The effective date from which statutory interest should begin to be
            calculated for the transaction
          example: 2023-01-01
    TransactionExchange:
      type: object
      properties:
        exchangeId:
          type: string
          description: Exchange ID is a unique identifier assigned to a policy or
            transaction involved in an exchange or rollover process. It is used
            to track, reference, and reconcile activities related to the
            replacement, transfer, or conversion of funds or policies between
            contracts, products, or carriers.
          example: EX0000001
        policyNumber:
          type: string
          description: The original policy number involved in an exchange or replacement
            transaction.
          example: POLICY1234567890
        exchangeDescription:
          type: string
          enum:
            - DEFAULT
            - EXTERNAL1035
            - INTERNAL1035
            - EXTERNALDIRECTTRANSFER
            - INTERNALDIRECTTRANSFER
            - EXTERNALROLLOVERQUALIFIED
            - INTERNALROLLOVERQUALIFIED
            - EXTERNALROTHROLLOVER
            - INTERNALROTHROLLOVER
            - EXTERNALROTHDIRECTTRANSFER
            - INTERNALROTHDIRECTTRANSFER
            - BENEFITPROCEEDS
            - CASHCONTRIBUTIONS
            - EXTERNAL1035PARTIAL
            - INTERNAL1035PARTIAL
            - BIRTHORADOPTIONREPAYMENT
            - INTERNALDIRECTTRANSFERREPLACEMENT
            - EXTERNALDIRECTTRANSFERREPLACEMENT
            - CLIENTINITIATEDTRANSFER
            - CONVERSION
          description: Description of the type of exchange such as External 1035, Internal
            1035, etc
        exchangeDate:
          type: string
          format: date
          description: The date on which 1035 Exchange occurs
          example: 2023-01-01
        lineOfBusiness:
          $ref: "#/components/schemas/LineOfBusiness"
        exchangeAmount:
          type: number
          format: double
          description: "Amount received in 1035 Exchange "
          example: 161.81698
        qualificationType:
          type: string
          enum:
            - INDIVIDUALRETIREMENTACCOUNTREGULAR
            - INDIVIDUALRETIREMENTACCOUNTSPOUSAL
            - INDIVIDUALRETIREMENTACCOUNTROLLOVER
            - ROTHINDIVIDUALRETIREMENTACCOUNT
            - CUSTODIALINDIVIDUALRETIREMENTACCOUNT
            - CUSTODIALROTHINDIVIDUALRETIREMENTACCOUNT
            - CUSTODIALROLLOVERINDIVIDUALRETIREMENTACCOUNT
            - QUALIFIED
            - NONQUALIFIED
            - SIMPLIFIEDEMPLOYEEPENSIONINDIVIDUALRETIREMENTACCOUNT
            - INHERITEDINDIVIDUALRETIREMENTACCOUNT
            - INHERITEDROTHINDIVIDUALRETIREMENTACCOUNT
            - NONQUALIFIEDSTRETCH
            - INDIVIDUALRETIREMENTACCOUNTSIMPLE
            - Q403B
            - Q401K
            - Q401A
            - Q457B
            - PENSIONPLAN
            - CONVERTEDINDIVIDUALRETIREMENTACCOUNT
            - ROTH403B
            - CUSTODIALINDIVIDUALRETIREMENTACCOUNTSIMPLIFIEDEMPLOYEEPENSION
            - KEOGH10
            - CORPORATEPENSION
            - GROUPTAXSHELTEREDANNUITY
            - PROFITSHARING
            - TARGETBENEFIT
            - CORPORATEDEFERREDCOMPENSATION404
            - EDUCATIONALINDIVIDUALRETIREMENTACCOUNT
            - QN457B
            - CONVERTED
            - SPOUSAL
            - CUSTODIAL
            - UNIFORMGIFTSORTRANSFERSTOMINORACT
            - CUSTODIALQUALIFIEDLONGEVITYANNUITYCONTRACTINDIVIDUALRETIREMENTACCOUNT
            - CUSTODIALSIMPLEINDIVIDUALRETIREMENTACCOUNT
            - MONEYPURCHASEPENSIONPLAN
            - Q401G
            - Q412E3
            - QUALIFIEDLONGEVITYANNUITYCONTRACTINDIVIDUALRETIREMENTACCOUNT
            - ROTH401K
            - VARIABLEUNIVERSALLIFENONQUALIFIED
          description: Qualification type of original policy being exchanged
        costBasis:
          type: number
          format: double
          description: Original cost basis of the policy being exchanged - previous Policy
          example: 161.81698
        modifiedEndowmentContractStatus:
          type: boolean
          description: Indicates if the original policy being exchanged is classified as MEC
        outstandingLoanRolloverAmount:
          type: number
          format: double
          description: The amount of any outstanding loan against the original policy that
            will be rolled over into the new policy during the 1035 exchange
          example: 161.81698
      required:
        - policyNumber
    TransactionCharge:
      type: object
      properties:
        chargeType:
          $ref: "#/components/schemas/TransactionChargeType"
        chargeWaiverIndicator:
          $ref: "#/components/schemas/ChargeWaiverIndicator"
        chargeWaiverReason:
          type: string
          description: The reason why a charge was waived (e.g., Promotional Waiver,
            Policy Exception)
          example: "100"
        partyId:
          type: string
          description: The partyId to which the charge is applied.
          example: Party_PI_1
        coverageId:
          type: string
          description: The identifier of the specific coverage associated with the charge
          example: Base_Coverage
        chargeAmount:
          type: number
          description: The amount of the charge applied for this transaction
          format: double
          example: 100
        chargeAppliedRate:
          type: number
          description: The rate (%) utilized for calculation of charge
          format: double
          example: 100
    CoverageBenefit:
      type: object
      properties:
        coverageId:
          type: string
          description: Coverage ID is a unique system-generated identifier assigned to a
            specific coverage component within an insurance or annuity policy.
            It is used to track and differentiate each distinct benefit, rider,
            or coverage layer under a single contract, especially when
            performing or recording transactions
          example: Base_Coverage
        netBenefitAmount:
          type: number
          description: Net Benefit Amount refers to the actual amount payable to a
            beneficiary or policyholder after all applicable deductions have
            been applied to the gross or base benefit amount. It represents the
            final disbursed value for a given coverage benefit, such as a claim
            payout, death benefit, or living benefit
          example: 12345.67
          format: double
        grossBenefitAmount:
          type: number
          format: double
          example: 12345.67
          description: Gross Benefit Amount refers to the total contractual benefit
            payable under a specific coverage or rider before any deductions are
            applied. It represents the original, full value of the benefit
            promised by the insurance policy (e.g., death benefit, living
            benefit, or rider payout).
        increaseInFaceAmount:
          type: number
          format: double
          example: 12345.67
          description: The amount by which a coverage's face amount is increased as a
            result of a Face Amount Change transaction (during face increase).
        decreaseInFaceAmount:
          type: number
          format: double
          example: 12345.67
          description: The amount by which a coverage's face amount is decreased as a
            result of a Face Amount Change transaction (during face decrease).
    PayoutInformation:
      type: object
      properties:
        payoutType:
          $ref: "#/components/schemas/PayoutType"
    TransactionFundAllocation:
      type: object
      properties:
        allocationOption:
          $ref: "#/components/schemas/AllocationOption"
    FundDistribution:
      type: object
      properties:
        fundId:
          type: string
          description: A unique identifier assigned to a specific fund account within the
            investment structure
          example: FundAccount1
        fundName:
          type: string
          description: The official business name of the specific fund account within the
            investment structure
          example: Fund1
        totalFundValue:
          type: number
          description: The total value of the specific fund account within the investment
            structure.The total fund value of the a specific fund, considering
            any earnings, withdrawals, or adjustments due to transaction
          format: double
          example: 100
        requestedAmount:
          type: number
          description: The specific amount or percentage requested for withdrawal,
            transfer, or reallocation from the selected fund.This amount will be
            utilized when allocation option is selected as specified funds
          format: double
          example: 100
        fundDistributionSegments:
          type: array
          items:
            $ref: "#/components/schemas/FundDistributionSegment"
    FundActivity:
      type: object
      properties:
        fundId:
          type: string
          description: A unique identifier assigned to a specific fund account within the
            investment structure
          example: FundAccount1
        fundName:
          type: string
          description: The official business name of the fund account as designated by the
            financial institution or insurance provider. This name identifies
            the specific fund within the investment structure
          example: Fund Account 1
        fundAccountType:
          type: string
          enum:
            - FIXED
            - INDEXED
            - VARIABLE
          description: Represents the classification of a fund based on its investment
            strategy/flexiblity,and structure. It defines how the fund is
            structured and managed, such as whether it focuses on equities,
            fixed income, or other investment categories
        totalFundValue:
          type: number
          description: The total value of the specific fund account within the investment
            structure.The total fund value of the a specific fund, considering
            any earnings, withdrawals, or adjustments due to transaction
          format: double
        appliedAmount:
          type: number
          format: double
          description: The total amount or percentage applied for withdrawal, transfer, or
            reallocation from the selected fund
          example: 100
        fundActivitySegments:
          type: array
          items:
            $ref: "#/components/schemas/FundActivitySegment"
    MatchActivity:
      type: object
      properties:
        currentAmount:
          type: number
          description: This is total value of bonus or match post transaction processing
            including interest. This value will be populated on transaction
            which impacts bonus calculations. For e.g. premium, match bonus
            vesting
          example: 100
        segmentActivity:
          $ref: "#/components/schemas/SegmentActivity"
    LoanActivity:
      type: object
      properties:
        totalLoanBalance:
          type: number
          example: 100
          description: The total outstanding loan amount, including both principal and
            accrued interest
          format: double
        totalLoanAccruedInterest:
          type: number
          description: The accumulated interest on the outstanding loan balance
          example: 100
          format: double
        repaymentInterestAmount:
          type: number
          example: 100
          format: double
          description: The amount of interest repaid as part of transaction. This gets
            calculated on events such as loan repayment, systematic loan
            repayment,etc
        loanSegments:
          type: array
          items:
            $ref: "#/components/schemas/LoanActivitySegment"
    TransactionTaxBasis:
      type: object
      properties:
        currentContributionAmount:
          type: number
          example: 161.81698
          format: double
          description: The contribution amount made toward the policy in the current tax
            year.
        currentTaxYear:
          type: number
          format: int32
          example: 1
          description: The tax year for which contributions are being recorded.
        priorContributionAmount:
          type: number
          format: double
          example: 161.81698
          description: The amount contributed in the previous tax year
        priorTaxYear:
          type: number
          format: int32
          example: 1
          description: The tax year associated with the prior contribution amount
        preTaxEquityAndFiscalResponsibilityActBasis:
          type: number
          format: double
          example: 161.81698
          description: The cost basis of the policy before the Tax Equity and Fiscal
            Responsibility Act (TEFRA) changes
        postTaxEquityAndFiscalResponsibilityActBasis:
          type: number
          format: double
          example: 161.81698
          description: The cost basis of the policy after Tax Equity and Fiscal
            Responsibility Act (TEFRA) changes
        postTechnicalAndMiscellaneousRevenueActAmount:
          type: number
          format: double
          example: 161.81698
          description: Deprecated - kept for backward compatibility. Applies to 403b Qual
            type
    AdhocTaxWithholdingInstructions:
      type: object
      properties:
        appliesToPartyId:
          type: string
          description: Party ID at Policy Level that comes in from External source (for
            Everly it will be Acord 103). This ties to the Party Type this tax
            withholding corresponds to.
          example: Party_PI_1
        taxWithholdingType:
          $ref: "#/components/schemas/TaxWithholdingType"
        effectiveDate:
          type: string
          format: date
          example: 2024-01-01
          description: Date on which the tax withholding instruction becomes effective for
            the party.
        endDate:
          type: string
          format: date
          example: 2024-12-31
          description: Date on which the tax withholding instruction is no longer
            applicable for the party.
        taxRateToUse:
          $ref: "#/components/schemas/TaxRateToUse"
        filingStatus:
          $ref: "#/components/schemas/FilingStatus"
        dollar:
          type: number
          description: The dollar amount of tax withheld
          format: double
          example: 0
        percentage:
          type: number
          description: The percentage amount of tax withheld
          format: double
          example: 0
        exemptions:
          type: number
          description: The total exemptions claimed for tax purposes
          format: int32
          example: 0
        taxJurisdiction:
          type: string
          description: This is not input field i.e. user does not select or set this
            value. For Tax Withholding Type = State , DAML will set this value
            using PartyLevelAddressCountry_PartyLevelAddressState referring to
            ACCORD standard. For Tax Withholding Type = Federal , DAML will set
            this value using PartylevelAddressCountry using ACCORD standard.For
            FedeFor MVP, NRA jurisdictions are out of scope
          example: USA_WY
        contribution:
          $ref: "#/components/schemas/Contribution"
        taxFormType:
          $ref: "#/components/schemas/TaxFormType"
        w4p:
          $ref: "#/components/schemas/W4P"
        partyRole:
          $ref: "#/components/schemas/PartyRole"
    TaxWithheldAmount:
      type: object
      properties:
        partyRole:
          $ref: "#/components/schemas/PartyRole"
        partyId:
          type: string
          example: Party_PI_1
          description: A unique identifier linking the party to the policy
        taxWithholdingType:
          $ref: "#/components/schemas/TaxWithholdingType"
        withheldAmount:
          type: number
          format: double
          example: 100
          description: The actual dollar amount withheld for taxes
        withheldTaxableAmount:
          type: number
          format: double
          example: 100
          description: The portion of the transaction amount eligible for taxation
        taxableFlag:
          type: boolean
          description: Indicates whether the transaction is taxable
        appliedTaxRate:
          type: number
          format: double
          example: 100
          description: The actual tax rate used for withholding calculations
    TransactionFeature:
      type: object
      properties:
        featureType:
          $ref: "#/components/schemas/FeatureType"
        featureSubType:
          $ref: "#/components/schemas/FeatureSubType"
        featureIndicator:
          type: boolean
          description: A Feature Indicator in life insurance and annuities refers to a
            binary flag (Yes/No, True/False, or Enabled/Disabled) that signifies
            whether a specific policy feature, rider, or benefit is included in
            the contract. It helps insurers, agents, and policyholders quickly
            identify which optional or standard benefits apply to a policy.
    TransactionPayor:
      type: object
      properties:
        partyRole:
          $ref: "#/components/schemas/PartyRole"
        partyId:
          type: string
          description: A unique identifier linking the party to the policy
          example: Party_PI_1
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        bankId:
          type: string
          description: A unique identifier for the bank associated with the payor
          example: Bank_1
    TransactionPayeeOrBeneficiary:
      type: object
      properties:
        partyId:
          type: string
          description: A unique identifier linking the party to the policy
          example: Party_PI_1
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        allocationPercentage:
          type: number
          description: The percentage of the total disbursement allocated to the payee
          example: 100
          format: double
        bankId:
          type: string
          example: Bank_1
          description: A unique identifier for the financial institution handling the
            transaction
        disbursementAmount:
          type: number
          description: The actual dollar amount disbursed to the payee
          example: 20
        partyRole:
          $ref: "#/components/schemas/PartyRole"
        payeeGrossAmount:
          type: number
          example: 20
        addressId:
          type: string
          example: "1"
          description: A unique identifier for the address associated with the payee or
            policyholder
        forBenefitOfOrForFurtherCredit:
          type: string
          example: TBD
          description: FBO - For Benefit Of, FFC - For Further Credit. (To notate a second
            beneficiary or to designate a person or organization when funds are
            disbursed out).
        forBenefitOfOrForFurtherCreditIndicator:
          type: boolean
          example: true
          description: Indicates whether the outgoing funds are being requested for the
            benefit of or for further credit to another person or organization.
      required:
        - allocationPercentage
    ExternalIdentifiers:
      type: object
      properties:
        referenceNumber:
          type: string
          description: The unique payment reference number for all premium-related
            transactions by carrier
        externalTransactionId:
          type: string
          description: The unique ID to identify transaction on carrier side
        externalArrangementId:
          type: string
          description: The unique ID sent by carriers to identify the special
            programs.Carrier-side identifier for the systematic program
    Suppression:
      type: object
      properties:
        suppressionType:
          $ref: "#/components/schemas/SuppressionType"
        suppressionReason:
          type: string
          description: Specifies the specific reason or justification for applying the
            suppression. It explains why the suppression was applied.
    AmountType:
      type: string
      enum:
        - AMOUNT
        - PERCENTAGE
        - MAX
        - FREEWITHDRAWALAMOUNT
        - WITHDRAWALUNTILBASIS
        - EARNINGSONLY
        - PRORATA
        - PERCENT
        - MODIFIEDEARNINGSONLY
        - SUNINCOMEMAXIMIZERONLYLBRMAXIMUM
        - SUNINCOMEMAXIMIZERNETONETIMEACCESS
        - NONSUNINCOMEMAXIMIZERLBRSWDMAXIMUM
        - SUNINCOMEMAXIMIZERGROSSONETIMEACCESS
        - YEARTODATEFIXEDEARNINGS
        - EARNINGSLIQUIDITYFIRST
        - EARNINGSLIQUIDITYLAST
        - GUARANTEEDWITHDRAWALBENEFIT
        - FIXEDMODIFIEDEARNINGS
        - ACCUMULATEDEARNINGS
        - LIFEEXPECTANCY
        - DEFAULT
    DisbursementType:
      type: string
      enum:
        - GROSS
        - NET
        - NETNET
    DisbursementPaymentForm:
      type: string
      enum:
        - DTCC
        - EFT
        - ACH
        - CHECK
        - WIRE
    DistributionCode:
      type: string
      enum:
        - DEFAULT
        - PREMATUREDISTRIBUTION
        - EXCEPTIONAPPLIES
        - DISABILITY
        - DEATH
        - DEATHEXCLUSION
        - DEATHROLLOVER
        - EXCHANGE1035
        - NORMALDISTRIBUTION
        - COSTOFCURRENTLIFEINSURANCEPROTECTION
        - QUALIFIEDROLLOVER
        - ROTHDISTRIBUTIONNOEXCEPTION
        - QUALIFIEDLOANDISTRIBUTION
        - PREMATURELOANDISTRIBUTION
        - QUALIFIEDROTHINDIVIDUALRETIREMENTARRANGEMENTDISTRIBUTION
        - ROTHINDIVIDUALRETIREMENTACCOUNTSDISTRIBUTIONEXCEPTIONAPPLIES
        - EXCESSCONTRIBUTIONSPLUSEARNINGSEXCESSDEFERRALSTAXABLEIN2009
        - NONTAXABLEEVENT
        - GROSSPAIDTOATTORNEY
        - OTHERINCOME
        - NONEMPLOYEECOMPENSATION
        - PREMATUREEXCEPTION
        - ROYALTIES
        - DEATHTRANSFER4H
        - PROHIBITEDTRANSACTION
        - TENYEARTAXOPTION
        - TRUSTEETOTRUSTEETRANSFER
        - QUALIFIEDDOMESTICRELATIONSORDERLIKETOLIKENO1099
        - DISTRIBUTIONSUNDEREMPLOYEEPLANSCOMPLIANCERESOLUTIONSYSTEM
        - CHARITABLEGIFT
        - LOANSASDISTRIBUTIONS
        - QUALIFIEDPLANLOANOFFSET
        - RECHARACTERIZEDINDIVIDUALRETIREMENTARRANGEMENTCURRENTYEAR
        - EXCESSCONTRIBUTION1YEARPRIORTAX
        - RECHARACTERIZEDINDIVIDUALRETIREMENTACCOUNTSPREVIOUSYEAR
        - EARLYDISTRIBUTIONFROMSAVINGSINCENTIVEMATCHPLANFOREMPLOYEES
        - DIRECTTRANSFER
        - EXCESSCONTRIBUTIONSPLUSEARNINGSEXCESSDEFERRALSANDOREARNINGSTAXABLEIN2024
        - EXCESSCONTRIBUTIONS2YEARPRIORTAX
        - DIRECTROLLOVERQUALPLANTAXSHELTEREDANNUITY
        - SEPARATIONFROMSERVICE
        - INDIVIDUALRETIREMENTARRANGEMENTTOROTHINDIVIDUALRETIREMENTARRANGEMENT
        - QUALIFIEDDOMESTICRELATIONSORDERROLLOVERTOINDIVIDUALRETIREMENTARRANGEMENT2G
        - QUALIFIEDDOMESTICRELATIONSORDERPAYMENTTOSPOUSE
        - FIRSTTIMEHOMEBUYERINDIVIDUALRETIREMENTARRANGEMENTONLY
        - EDUCATIONEXPENSE
        - MEDICALEXPENSE
        - FEEADMIN
        - FEEASSET
        - FEECONTRIBUTION
        - FEELUMPSUMDEATH
        - FEELUMPSUMDISABILITY
        - FEELUMPSUMPURCHASEDANNUITY
        - FEELUMPSUMOTHER
        - FEENEWRETIREEWITHPERPAYMENT
        - FEEEXISTINGRETIREMENTINFORCE
        - FEECONTRACT
        - FEEEXISTINGRETIREMENTINCREASE
        - FEETHIRDPARTY
        - LUMPSUMDEATH
        - LUMPSUMDISABILITY
        - LUMPSUMPURCHASEDANNUITY
        - LUMPSUMOTHER
        - FEEINTERNATIONALPROGRAMSGROUPEXPENSE
        - FROMFUND
        - RELEASERESERVE
        - HEALTHDEDUCTION
        - FEEMARKETVALUE
        - FEEANNUITYADMINISTRATION
        - SECTION1035EXCHANGEPARTIAL
        - QUALIFIEDDOMESTICRELATIONSORDERNORMALDISTRIBUTION
        - QUALIFIEDDOMESTICRELATIONSORDERSECTION1035
        - FEELONGTERMCAREINSURANCE
        - DESIGNATEDROTHACCOUNTDISTRIBUTION
        - REPORTABLEDEATHBENEFITSUNDERSECTION6050Y
        - DISTRIBUTIONOFTRADITIONALINDIVIDUALRETIREMENTARRANGEMENTASSETSNOTHAVINGAREADILYAVAILABLEFAIRMARKETVALUE
        - DIVIDENDSDISTRIBUTEDFROMANEMPLOYEESTOCKOWNERSHIPPLANSUNDERSECTION404K
        - DIRECTROLLOVEROFADESIGNATEDROTHACCOUNT
        - DEATHQUALIFIEDCHARITABLEDISTRIBUTION
        - NORMALQUALIFIEDCHARITABLEDISTRIBUTION
    LoanType:
      type: string
      enum:
        - PREFERRED
        - NONPREFERREDSTANDARDLOAN
        - INDEXLOAN
    LoanInterestType:
      type: string
      enum:
        - FIXED
        - INDEXED
        - VARIABLE
        - ADJUSTABLE
    DeathBenefitInterestCalculatedFromDate:
      type: string
      enum:
        - DATEOFDEATH
        - DATEOFDEATHREPORTED
    ClaimCode:
      type: string
      enum:
        - DEATH
        - RIDER
    LineOfBusiness:
      type: string
      enum:
        - LIFE
        - ANNUITY
        - MUTUALFUND
        - CERTIFICATEOFDEPOSIT
        - BROKERAGE
        - OTHER
    TransactionChargeType:
      type: string
      enum:
        - COSTOFINSURANCE
        - EXPENSECHARGE
        - UNITEXPENSECHARGE
        - RIDERCHARGE
        - SURRENDERCHARGE
        - WITHDRAWALCHARGE
        - PAYMENTCHARGE
        - COVERAGECHARGE
        - COVERAGECREDIT
        - PREMIUMTAX
        - MARKETVALUEADJUSTMENT
        - BONUSRECAPTURE
        - EQUITYINDEXADJUSTMENT
        - PRODUCTLIMITS
        - DEATHBENEFITINTEREST
        - FUTURECHARGESFORTRANSACTION
        - REDEMPTIONFEE
        - MAILCHARGE
        - FUNDFEE
        - INEFFECT
        - ALL
        - OVERNIGHTMAIL
        - WIRE
    ChargeWaiverIndicator:
      type: string
      enum:
        - Yes
        - No
    PayoutType:
      type: string
      enum:
        - LUMPSUM
        - FIVEYEARDEFERRAL
        - SPOUSALCONTINUATION
    AllocationOption:
      type: string
      enum:
        - PRORATA
        - DOLLAR
        - SPECIFYPERCENTAGE
        - SPECIFIEDFUNDS
        - SPECIFIEDSEGMENTS
        - DEFAULT
        - PECKINGORDER
        - EARNINGSONLY
        - SPECIFICFUNDPERCENTAGE
        - FIXEDONLY
        - VARIABLEONLY
        - CURRENTHOLDINGS
    FundDistributionSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to a particular segment for a specific
            fund account within the investment structure
          example: segment1
        currentAmount:
          type: number
          description: The current value of the particular segment for a specific fund
            account within the investment structure. The current amount of the
            segment, considering any earnings, withdrawals, or adjustments due
            to transaction
          format: double
          example: 1000
        requestedAmount:
          type: number
          format: double
          example: 100
          description: The specific amount or percentage requested for withdrawal,
            transfer, or reallocation from the particular segment selected for a
            fund.This amount will be utilized when allocation option is selected
            as specified segments
    FundActivitySegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to a particular segment for a specific
            fund account within the investment structure
          example: segment1
        currentAmount:
          type: number
          description: The current value of the particular segment for a specific fund
            account within the investment structure. The current amount of the
            segment, considering any earnings, withdrawals, or adjustments due
            to transaction
          format: double
          example: 100
        segmentActivity:
          $ref: "#/components/schemas/SegmentActivity"
    SegmentActivity:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to a particular segment for a specific
            fund account within the investment structure
          example: segment1
        appliedRate:
          type: number
          description: "For funds: The rate at which an activity (e.g., interest,
            withdrawal, allocation) is applied. For match: The percentage rate
            at which the match or bonus contribution current value grows. For
            loans: The interest rate applied to the loan balance to calculate
            accrued interest"
          format: double
          example: 100
        appliedAmount:
          type: number
          description: "For funds: The specific amount or percentage applied for
            withdrawal, transfer, or reallocation from the particular segment
            selected for a fund. For match: This is transaction level amount
            which tracks changes to match current value. This gets calculated on
            events such as interest credit match, premium, match bonus vesting.
            For loans: This is transaction level amount which tracks changes to
            loan balance . This gets calculated on events such as interest
            loan,loan repayment, loan true up,new loan,etc."
          format: double
          example: 100
        appliedInterest:
          type: number
          description: Applied Interest refers to the amount of loan interest that has
            been posted (charged) to the policy’s outstanding loan balance
            during a specific accounting period. This interest is based on the
            terms of the policy loan, such as the loan type (fixed or variable),
            rate, and method of interest
          format: double
          example: 100
    LoanActivitySegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to a specific loan segment
          example: Segment1
        loanBalance:
          type: number
          description: The outstanding loan amount, including both principal and accrued
            interest at segment level
          example: 100
          format: double
        loanAccruedInterest:
          type: number
          description: The accumulated interest on the outstanding loan balance at segment
            level
          example: 100
          format: double
        percentageOfAccountValue:
          type: number
          description: Percentage of Account Value refers to a value that is calculated as
            a percentage of the total account value of an insurance or annuity
            contract. It is often used to determine allocations, fees, benefits,
            or charges that are based on how much money is currently held in the
            policy's account value.
          example: 1500.72
          format: double
        repaymentInterestAmount:
          type: number
          example: 100
          format: double
          description: Loan Interest Repaid with current Repayment Transaction
        segmentActivity:
          $ref: "#/components/schemas/SegmentActivity"
    TaxWithholdingType:
      type: string
      enum:
        - FEDERAL
        - STATE
        - NRA
        - BACKUP
    TaxRateToUse:
      type: string
      enum:
        - NOWITHHOLDINGELECTED
        - USEVALUESENTERED
        - NOWITHHOLDINGALLOWED
        - USEDEFAULTTABLE
        - ADDITIONALWITHHOLDING
        - TAKEINPUTTEDVALUE
    FilingStatus:
      type: string
      enum:
        - SINGLE
        - DOMESTICPARTNERSHIP
        - DEFAULT
        - MARRIED
        - HEADOFHOUSEHOLD
        - WIDOWED
        - DIVORCED
        - MARRIEDFILINGSEPARATELY
    Contribution:
      type: string
      enum:
        - NOTAPPLICABLE
        - EMPLOYEEVOLUNTARY
        - EMPLOYEEDISCRETIONARY
    TaxFormType:
      type: string
      enum:
        - T1035COSTBASIS
        - T1035LOANTRANSFER
        - T1035SURRENDER
        - T1035TAXADVANTAGE
        - T1099R
        - TAXDISCLOSUREFORMW4P
        - TAXDISCLOSUREFORMW8
        - USW4TAXFORM
        - W9
        - VOIDCHECK
    W4P:
      type: object
      properties:
        totalAmountOfOtherIncomeAndOtherPensionsOrAnnuities:
          type: number
          format: double
          example: 12.12
          description: "Below Amounts are for periodic Payments Only  - Certain States
            Require these amounts to be entered "
        totalAmountOfClaimsAndOtherCredits:
          type: number
          format: double
          example: 213.73
          description: "This indicates the total amount of tax claims and credits party is
            eligible for to reduce the tax liabilities "
        otherIncome:
          type: number
          format: double
          example: 144.53
          description: "Not from Jobs or Pension/Annuities "
        otherDeduction:
          type: number
          format: double
          example: 42.83
          description: If Standard Deduction is not used
    PartyRole:
      type: string
      enum:
        - OWNER
        - PRIMARYBENEFICIARY
        - CONTINGENTBENEFICIARY
        - INSURED
        - PAYOR
        - PAYEE
        - AGENT
        - PRIMARYWRITINGAGENT
        - PRIMARYSERVICINGAGENT
        - ADDITIONALSERVICINGAGENT
        - ADDITIONALWRITINGAGENT
        - THIRDPARTYDESIGNEE
        - JOINTOWNER
        - COVERAGEINSURED
        - ASSIGNEE
        - ANNUITANT
        - EXCHANGECOMPANY
        - JOINTANNUITANT
        - GRANTOR
        - TRUSTEE
        - POWEROFATTORNEY
        - AUTHORIZEDSIGNATORY
        - OTHERINTERESTEDPARTY
        - CONTINGENTOWNER
        - THIRDPARTYADMINISTRATOR
        - CARRIER
        - SUCCESSORTRUSTEE
        - COVERAGEJOINTINSURED
    FeatureType:
      type: string
      enum:
        - FREELOOK
        - LAPSEASSESSMENT
        - LAPSEPROTECTION
        - REINSTATEMENT
        - RATELOCK
        - ANNUITIZATION
        - NONFORFEITUREOPTION
        - CONVERSION
        - BILLING
        - CUSTOMFEATURE
        - SURPLUSDISTRIBUTION
    FeatureSubType:
      type: string
      enum:
        - MULTIPLEPOLICYDISCOUNT
        - CONTROLBUSINESSINDICATOR
        - RESTRICT
        - BROKERIDENTIFICATIONNUMBER
    PaymentForm:
      type: string
      enum:
        - DTCC
        - CREDITCARD
        - ACH
        - CHECK
        - WIRE
        - EXCHANGE
        - PREMIUMLOAN
    SuppressionType:
      type: string
      description: Specifies the category or type of suppression being applied to a
        transaction. It indicates what kind of suppression is in effect.
      enum:
        - CORRESPONDENCE
        - TAX
        - DISBURSEMENT
        - COMMISSION
    Transaction:
      type: object
      properties:
        transactionId:
          type: string
          description: A unique identifier assigned to every transaction within the
            system, used to track and reference individual actions such as
            premium payments, policy updates, or claims etc
          example: "93"
        originalTransactionId:
          type: string
          description: "1"
          example: The unique identifier of the reversed transaction. When a transaction
            is reversed, this field holds the ID of the original transaction
            that was reversed. We capture this to ensure proper tracking and
            auditing of financial adjustments within the system
        partyPolicyChangeReferenceId:
          type: string
          example: "1"
          description: Unique identifier for the impacted party data being updated with a
            transaction or event. For example, if multiple addresses are
            modified, this field identifies the specific address Id for which
            change is being processed
        partyPolicyNewReferenceId:
          type: string
          example: "1"
          description: Trigger to Pass in API which non financial was newly added out of
            multiple change requests, for example a new email was added
        planCode:
          type: string
          description: A code that represents the specific type of life insurance plan or
            annuity plan
          example: PLAN001
        policyNumber:
          type: string
          description: A unique identifier assigned to a policy, used to track and manage
            the details of the insurance or annuity contract
          example: POLICY1234567890
        correlationId:
          type: string
          description: The unique ID to track each transaction request across all systems
          example: 5df63b47-54fc-4905-a8ff-e1c5f12e667d
        parentId:
          type: string
          description: The unique identifier of a Parent Transaction or Parent Program ID.
            The value of parentId varies based on the transaction type. >>For
            Subsequent Premium, One-Time Premium, Loan Repayment (One-Time &
            Systematic) → The Parent Payment Transaction ID is stamped. >> For
            Forceout and Disbursement → The Parent Money Out or Money In
            Transaction ID is stamped
          example: Arr_1
        transactionType:
          type: string
          enum:
            - Activation
            - AddOwner
            - AddressChange
            - AgentChange
            - AnnuitantChange
            - Anniversary
            - AnnualPolicyRefreshAndRecalculation
            - AssigneeChange
            - BankAccountChange
            - BeneficiaryChange
            - CalendarProcessing
            - CancelNoPremium
            - ClaimPayout
            - CommunicationPreferenceChange
            - ConversionActivation
            - CostOfInsurance
            - CoverageCharge
            - CoverageCredit
            - DeathClaim
            - DeliveryDateSetup
            - Disbursement
            - EmailChange
            - ExistingPartyNameChange
            - ExpenseCharge
            - FaceAmountChange
            - FaceAmountDecrease
            - FaceAmountIncrease
            - FeatureChange
            - ForceOut
            - FreeLookExpiration
            - FreeLookCancellation
            - FullSurrender
            - FundAllocationsChange
            - FundTransfer
            - GrantorChange
            - PaymentInitialPremium
            - IdentifierChange
            - InitialPremium
            - InterestCredit
            - InterestCreditLoan
            - InterestCreditMatch
            - InterestLoan
            - Issuance
            - Lapse
            - LapseAssessment
            - LoanAnniversaryTrueUp
            - LoanRepaymentOneTime
            - MatchBonusVesting
            - MultipleBeneficiaryChange
            - MultipleEmailChange
            - MultiplePayeeChange
            - MultipleAgentChange
            - MultipleOwnerChange
            - MultipleAnnuitantChange
            - MultiplePhoneNumberChange
            - NewLoan
            - NotificationOfDeathClaim
            - OneTimePremium
            - OwnerChange
            - PartialWithdrawalOneTime
            - PolicyDetailsChange
            - PayeeChange
            - PaymentExpiration
            - PaymentLoanRepaymentOneTime
            - PaymentOneTimePremium
            - PaymentSystematicLoanRepayment
            - PayorChange
            - PhoneNumberChange
            - RateRenewal
            - RemoveOwner
            - Rescission
            - PowerOfAttorneyChange
            - PreferredMailingAddressChange
            - Reinstatement
            - ReinstatementApproved
            - Reissuance
            - RequiredMinimumDistributionOneTime
            - SubsequentPayment
            - SubsequentPremium
            - Sweep
            - SystematicLoanRepayment
            - SystematicLoanRepaymentSetup
            - SystematicPartialWithdrawal
            - SystematicPartialWithdrawalSetup
            - SystematicRequiredMinimumDistribution
            - SystematicRequiredMinimumDistributionSetup
            - SystematicPaymentSetup
            - SystematicAnnuityPayout
            - SystematicAnnuityPayoutSetup
            - SystematicProgramUpdate
            - TPDChange
            - TrusteeChange
            - UnitExpenseCharge
            - ValueAdjustment
            - YearBeginningRefreshAndRecalculation
            - WithdrawnApplication
            - DollarCostAverage
            - ProcessingDate
            - ServiceCharge
            - TransferCharge
            - RiderAddition
            - Annuitization
            - AnnuityBenefitReduction
            - Reclassification
            - FlatExtraChange
            - Commutation
            - Dividend
            - DividendFeatureCharge
            - MarketTimerFee
            - InterimAnnualProcessing
            - HardshipWithdrawal
            - HardshipEnd
            - ResetBenefitAmounts
            - GuaranteedAccumulationBenefitPeriodEnd
            - GainLossChargeBack
            - SpousalContinuation
            - PeriodicCharge
            - DeathBenefitLockIn
            - RatchetLockIn
            - GrowthDeathBenefitLockIn
            - DateOfDeath
            - BenefitAmountAutoAdjustment
            - NotificationOfRiderClaimStart
            - LongTermCareBenefitStartStop
            - DailyRatchet
            - AnnuitizationAnniversary
            - DeclineFeeChange
            - GuaranteedWithdrawalBenefitPaymentLockIn
            - ExcessInterestCredit
            - LongTermCareWithdrawal
            - GuaranteedWithdrawalBenefitInterestAdjustment
            - InvestmentAdvisorFee
            - PayoutAmountChange
            - AdditionalBenefitStart
            - AdditionalBenefitEnd
            - RiderActivationAnniversary
            - AdditionalBenefitRenew
            - QualifiedPlanChange
            - AdvanceAnnuityPayment
            - PartialCommutation
            - GuaranteedIndexRates
            - BailoutRenewal
            - NonLifeAnnuitization
            - AdditionalBenefitReCertification
            - CostBasisReceived
            - FreeWithdrawalRecalculation
            - YearEndGain
            - LongTermCareCertificationDate
            - QuarterlyProcessing
            - BenefitBaseAdjustment
            - RiderBenefitBaseLockIn
            - GuaranteedDeathBenefitRollUpRenew
            - GuaranteedWithdrawalBenefitRollUpRenew
            - RiderCharge
            - LongTermCareFeeStartStop
            - LongTermCareAssessmentCharge
            - RoleBirthday
            - PendingUnclaimedProperty
            - PendingPartialUnclaimedProperty
            - LiquidatedUnclaimedProperty
            - SystematicRiderClaimWithdrawalSetup
            - SystematicRiderClaimWithdrawal
            - TaxWithholdingChange
            - MultipleTrusteeChange
            - MultiplePowerOfAttorneyChange
            - OtherInterestedPartyChange
            - MultipleAuthorizedSignatoryChange
            - AuthorizedSignatoryChange
            - ExchangeCompanyChange
            - BillingFeatureChange
            - GWBPhaseChange
          description: Specifies the type of transaction being performed, such as Premium
            Payment, Loan Repayment, Anniversary etc
        systematicOrBillingChangeIndicator:
          type: boolean
          description: Indicates whether a transaction results in any setup, update, or
            modification to a systematic program or billing change. This field
            is set to true whenever any part of the systematic program or
            billing is modified, including changes to its configuration or
            associated fields
        requestDate:
          type: string
          description: The date when the transaction request was initiated or received  in
            the system. For example, for system generated events date on which
            transaction was initiated by the system for adhoc events date on
            which transaction was received by the system.
          example: 2023-01-01
          format: date
        effectiveDate:
          type: string
          description: The date when the transaction takes effect on the policy or contract.
          example: 2023-01-01
          format: date
        processDate:
          type: string
          description: The date when the system actually processes the transaction. This
            may differ from the request or effective date due to business rules,
            batch cycle date, business day calender or reversals
          example: 2023-01-01
          format: date
        reversalDate:
          type: string
          description: The date when a transaction is reversed in the system
          format: date
          example: 2023-01-01
        status:
          $ref: "#/components/schemas/TransactionStatus"
        outcome:
          $ref: "#/components/schemas/Outcome"
        outcomeCode:
          type: string
          description: A system-generated code that corresponds to the transaction outcome
            when transaction is cancelled
          example: "true"
        outcomeCodeDescription:
          type: string
          description: A detailed explanation of the outcome, providing context for why a
            transaction was cancelled
          example: precheck validations failed
        transactionReason:
          type: string
          enum:
            - ONETIMEPREMIUM
            - GRACEPERIODPREMIUM
            - REINSTATEMENTPREMIUM
            - EXCHANGE1035
            - SURRENDER
            - AMOUNTEXCESSTOMEC
            - AMOUNTEXCESSTOGUIDELINE
            - CURRENTVALUE
            - COSTBASIS
            - GUIDELINESINGLEPREMIUM
            - GUIDELINELEVELPREMIUM
            - SEVENPAYPREMIUM
            - TOTALYTDPREMIUMAMOUNT
            - FACEDECREASECOVERAGE
            - FACEINCREASECOVERAGE
            - MECAUTHORIZATION
            - INITIALPREMIUMEXPIRATION
            - COMPLIANCE
            - STARTINGPRICE
            - LUMPSUM
            - FIVEYEARDEFERRAL
            - SPOUSALCONTINUATION
            - DISCOUNT
            - CONTROLBUSINESSINDICATOR
            - NATIONALCHANGEOFADDRESS
            - DATEOFDEATH
            - INITIALDEATHNOTIFICATION
            - PRODUCTDEFAULT
            - GWBRIDERDISBURSEMENT
            - GWBPHASECHANGE
            - PREMIUMLOAN
            - PAYMENTDUEDATE
          description: The justification or business reason for the transaction
        transactionAmounts:
          $ref: "#/components/schemas/TransactionAmount"
        exchange:
          $ref: "#/components/schemas/TransactionExchange"
        charges:
          type: array
          items:
            $ref: "#/components/schemas/TransactionCharge"
        coverageBenefit:
          type: array
          items:
            $ref: "#/components/schemas/CoverageBenefit"
        payoutInformation:
          $ref: "#/components/schemas/PayoutInformation"
        fundAllocation:
          $ref: "#/components/schemas/TransactionFundAllocation"
        fundDistributions:
          $ref: "#/components/schemas/FundDistribution"
        fundActivities:
          $ref: "#/components/schemas/FundActivity"
        matchActivity:
          $ref: "#/components/schemas/MatchActivity"
        loanActivity:
          $ref: "#/components/schemas/LoanActivity"
        taxBasis:
          $ref: "#/components/schemas/TransactionTaxBasis"
        taxWithholdingInstructions:
          type: array
          items:
            $ref: "#/components/schemas/AdhocTaxWithholdingInstructions"
        taxWithheldAmounts:
          type: array
          items:
            $ref: "#/components/schemas/TaxWithheldAmount"
        features:
          type: array
          items:
            $ref: "#/components/schemas/TransactionFeature"
        featureOption:
          type: string
          enum:
            - LIFEONLY
            - JOINTLIFEONLYJOINTANDSURVIVOR
            - PERIODCERTAIN
            - AMOUNTCERTAIN
            - LIFEWITHPERIODCERTAIN
            - LIFEWITHCASHREFUND
            - LIFEWITHINSTALLMENTREFUND
            - AUTOMATICPOLICYLOAN
            - REDUCEDPAIDUP
            - AGE
            - FACEAMOUNT
            - LEGAL
            - OPERATIONAL
            - COLLATERALLYASSIGNEDUNSPECIFIED
            - JOINTLIFEONLY
            - JOINTANDSURVIVOR
            - JOINTANDSURVIVORPERIODCERTAIN
            - DIVORCE
            - OVERPAYMENT
            - PAIDUPADDITION
            - CASH
            - MECRESTRICT
            - COMPLIANCE
            - JOINTLIFECASHREFUND
            - INTERESTONLY
            - JOINTLIFEINSTALLMENTREFUND
        payors:
          type: array
          items:
            $ref: "#/components/schemas/TransactionPayor"
        payeeOrBeneficiaries:
          type: array
          items:
            $ref: "#/components/schemas/TransactionPayeeOrBeneficiary"
        caseId:
          type: string
          description: A unique identifier assigned to a transaction case by external
            systems such as BPM.
          example: e2eb325f-203b-4d49-b6d5-41072cb66866
        partyId:
          type: string
          description: The impacted party associated with a transaction or event.(party
            change requests i.e. non financial txns)
          example: Party_PI_1
        timestamp:
          type: string
          description: Create or Update timestamp of transaction event
          example: 2023-01-01T12:00:00.000Z
        reverseInitiator:
          type: boolean
          default: false
          description: A boolean flag that applies only to financial transactions. When
            set to true, it allows a backdated transaction to be processed. This
            triggers a reversal on the policy to the earliest transaction on the
            specified effective date, applies the new transaction, and then
            reprocesses all subsequent transactions (similar to (R&R) process).
            This ensures that the policy`s financial history remains accurate
            and aligned with the backdated change.
          example: true
        version:
          type: integer
          description: Version number indicating the number of changes made to policy
          example: 1
          format: int32
        externalIdentifiers:
          $ref: "#/components/schemas/ExternalIdentifiers"
        suppression:
          type: array
          items:
            $ref: "#/components/schemas/Suppression"
```
