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

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

# BasePolicy

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Policy Service
  version: 0.0.21
servers:
  - url: https://qa.api.zinnia.io
components:
  schemas:
    Product:
      type: object
      properties:
        lineOfBusiness:
          type: string
          enum:
            - LIFE
            - ANNUITY
            - MUTUALFUND
            - CERTIFICATEOFDEPOSIT
            - BROKERAGE
            - OTHER
          description: Insurance and annuities are two distinct product lines of business
            (LOB) in the financial and insurance industry. Each serves different
            financial protection and income planning purposes
        planName:
          type: string
          description: The Product Name refers to the specific life insurance or annuity
            product selected by the contract owner at the time of policy
            issuance. It identifies the type of coverage, policy structure, and
            key features associated with the contract
          example: Everglades Premium Match
        productType:
          $ref: "#/components/schemas/ProductType"
        marketingName:
          type: string
          description: The Product Marketing Name refers to the branded name assigned by
            an insurance company to a specific life insurance or annuity product
            for marketing and sales purposes. It distinguishes products within
            an insurer`s portfolio and highlights key features and benefits for
            consumers
          example: Everglades
        shortName:
          type: string
          description: The Product Short Name is a condensed version of the full Product
            Marketing Name, typically used for internal systems, policy
            documents, billing, and reporting. It provides a simplified
            reference while still identifying the product accurately
          example: EVGL UL
        distribution:
          $ref: "#/components/schemas/DistributionType"
        planCode:
          type: string
          description: The Plan Code is a carrier-assigned unique identifier used to
            distinguish a specific product, rate structure, and version of a
            life insurance or annuity policy. It ensures accurate policy
            tracking, pricing, and administration
          example: PLAN001
        generalLedgerPlanCode:
          type: string
          description: The GL Plan Code (General Ledger Plan Code) is a carrier-assigned
            accounting code used to track insurance products and financial
            transactions within an insurer’s general ledger system. It is
            essential for financial reporting, revenue allocation, and
            regulatory compliance
          example: V2201
        holdingForm:
          $ref: "#/components/schemas/HoldingForm"
        renewable:
          type: string
          description: Renewable refers to a policy feature that allows the insured to
            extend coverage beyond the original term without requiring medical
            underwriting or a new application. This is commonly found in Term
            Life Insurance policies
        productVersion:
          type: string
          description: The Product Version refers to the specific edition or iteration of
            an insurance or annuity product, defined by its release date or
            modifications over time. It helps insurers and policyholders
            distinguish between different updates, pricing structures,
            regulatory changes, and feature enhancements within the same product
            line
          example: 2021.10.15
        sourceSystemPlanCode:
          type: string
          description: The Source System Plan Code is the identifier assigned to a
            coverage from the source carrier.
          example: CARRIER01
    PolicyStatus:
      type: string
      enum:
        - PENDINGISSUED
        - NOTISSUED
        - CANCELEDNOPREMIUM
        - ACTIVE
        - CANCELEDFREELOOK
        - PENDINGLAPSE
        - LAPSE
        - TERMINATED
        - MATURED
        - SURRENDERED
        - LIVINGCLAIMPENDING
        - DEATHCLAIMPENDING
        - DEATHCLAIMPAID
        - NOTTAKEN
        - ISSUED
        - PARTIALDEATHCLAIM
        - PAYOUT
    RestrictStatus:
      type: string
      enum:
        - LEGAL
        - OPERATIONAL
        - COMPLIANCE
        - MECRESTRICT
        - OVERPAYMENT
        - COLLATERALLYASSIGNEDUNSPECIFIED
        - DIVORCE
    IssueType:
      type: string
      enum:
        - FULLUNDERWRITING
        - SIMPLIFIED
        - GUARANTEEISSUE
        - REDUCEDUNDERWRITING
        - EXPRESSUNDERWRITING
        - MASSUNDERWRITING
        - AVIATION
    State:
      type: string
      enum:
        - AA
        - AE
        - AL
        - AP
        - AK
        - AZ
        - AR
        - AS
        - CA
        - CO
        - CT
        - DC
        - DE
        - FL
        - GA
        - GU
        - HI
        - ID
        - IL
        - IN
        - IA
        - KS
        - KY
        - LA
        - ME
        - MD
        - MA
        - MI
        - MN
        - MS
        - MO
        - MP
        - MT
        - NE
        - NV
        - NH
        - NJ
        - NM
        - NY
        - NC
        - ND
        - OH
        - OK
        - OR
        - PA
        - PR
        - RI
        - SC
        - SD
        - TN
        - TX
        - UM
        - UT
        - VT
        - VA
        - VI
        - WA
        - WV
        - WI
        - WY
    Currency:
      type: string
      enum:
        - USD
        - CAD
        - AUD
        - NZD
        - GBP
        - EUR
        - CHF
        - JPY
    PolicyDates:
      type: object
      properties:
        policyStartDate:
          type: string
          format: date
          description: The Policy Start Date refers to the official date on which the
            policy becomes effective and coverage begins. This date is critical
            for determining premium payments, coverage eligibility, policy
            anniversaries, and contractual obligations
          example: 2023-01-01
        applicationDate:
          type: string
          format: date
          description: The Application Date, also referred to as the Policy Sign Date, is
            the date when the policyholder completes and signs the insurance or
            annuity application. This marks the official request for coverage
            but does not necessarily mean the policy is active yet
          example: 2023-01-01
        applicationReceivedDate:
          type: string
          format: date
          description: The Application Received Date refers to the date when Zinnia (or
            the designated insurance company/administrator) officially receives
            the completed insurance or annuity application
          example: 2023-01-01
        issueDate:
          type: string
          format: date
          description: The Policy Issue Date, also known as the Policy Launch Date, is the
            date when the insurance company officially issues the policy to the
            client. This occurs after the application is approved, the insured
            accepts the offer, and payment information is provided. It marks the
            formal activation of the policy and triggers policy delivery
          example: 2023-01-01
        parameterLockDate:
          type: string
          format: date
          description: The effective date used as applicable version of rate-locked
            parameters for this contract.
          example: 2023-01-01
        applicationInGoodOrderDate:
          type: string
          format: date
          description: The Application IGO Date (In Good Order Date) refers to the date
            when the submitted application is deemed complete and accurate by
            Zinnia or the insurer, meaning it is ready for underwriting and
            processing but does not yet include the initial premium payment
          example: 2023-01-01
        contestabilityStartDate:
          type: string
          format: date
          description: The Contestability Start Date refers to the beginning of the
            contestability period, which is the time frame in which an insurance
            company can investigate and deny a claim if material
            misrepresentations or fraud are found in the application
          example: 2023-01-01
        contestabilityEndDate:
          type: string
          format: date
          description: The Contestability End Date is the date when the contestability
            period expires, meaning the insurer can no longer deny a claim based
            on misrepresentation or omission in the application, unless fraud is
            proven
          example: 2023-01-01
        policyDeliveryDate:
          type: string
          format: date
          description: The Policy Delivery Date refers to the date when the policyholder
            is officially notified that their policy is available, either
            through an online portal, email, SMS, or physical mail. This date is
            critical because it marks the start of the free look period,
            allowing the policyholder to review the contract and cancel if
            needed
          example: 2023-01-01
        previousPolicyAnniversaryDate:
          type: string
          format: date
          description: The Previous Policy Anniversary Date refers to the most recent past
            annual recurrence of the Policy Start Date. This date is used for
            tracking past premium payments, benefit updates, policy renewals,
            and cash value calculations
          example: 2023-01-01
        previousPolicyMonthiversaryDate:
          type: string
          format: date
          description: The Previous Policy Monthiversary Date refers to the most recent
            past monthly recurrence of the Policy Start Date. It is used for
            tracking monthly premium payments, cost of insurance (COI)
            deductions, cash value updates, and policy charges
          example: 2023-01-01
        nextAnniversaryDate:
          type: string
          format: date
          description: The Next Policy Anniversary Date refers to the upcoming annual
            recurrence of the policy’s start date. It is based on the Policy
            Start Date and marks key policy milestones such as premium due
            dates, cash value updates, policy renewals, and benefit adjustments
          example: 2023-01-01
        maturityDate:
          type: string
          format: date
          description: The Policy Maturity Date refers to the date when a life insurance
            policy reaches its maturity or an annuity contract reaches its
            maximum annuitization age. It is based on the Policy Start Date and
            determines when benefits become payable or coverage ends
          example: 2023-01-01
        policyTerminationDate:
          type: string
          format: date
          description: The Policy Termination Date is the date when a life insurance or
            annuity policy officially ends, meaning coverage ceases, and no
            further benefits or obligations exist under the contract. The reason
            for termination may vary, including policy lapse, surrender,
            maturity, or claim payout
          example: 2023-01-01
        initialPaymentExpiryDate:
          type: string
          format: date
          description: The Initial Payment Amount Expiration Date refers to the deadline
            by which the initial premium payment must be made to keep the policy
            offer valid and ensure the policy goes into effect., if not received
            Policy will be Canceled due to no Premium Set at Issuance
          example: 2023-01-01
        nextMonthiversaryDate:
          type: string
          format: date
          description: The Next Policy Monthiversary Date refers to the same day of each
            month that corresponds to the Policy Start Date, marking the monthly
            recurrence of the policy. It is used for monthly premium payments,
            cost deductions, cash value calculations, and interest crediting
          example: 2023-01-01
        claimApprovalDate:
          type: string
          format: date
          description: The Claim Approval Date is the date when an insurance company
            officially approves a claim for payment after verifying the claim
            details, policy coverage, and required documentation
          example: 2023-01-01
        certifiedReceivedDate:
          type: string
          description: The Certified Received Date refers to the date when the insurance
            company officially receives the certified death paperwork (such as a
            death certificate) required to process a life insurance claim. This
            date marks the beginning of the formal claims verification process
          format: date
          example: 2023-01-01
        dateOfDeathReportedNotification:
          type: string
          format: date
          description: The Date of Death Reported / Notification refers to the date on
            which the insurance company is officially notified of the insured`s
            passing. This date is critical as it marks the start of the claims
            process and determines when the insurer begins reviewing the claim
          example: 2023-01-01
        deferralEndDate:
          type: string
          format: date
          description: The Deferral End Date refers to the contractually set date on a
            deferred annuity or inherited IRA by which the policyholder must
            take action—either by starting withdrawals, annuitizing, or
            surrendering the policy. If no action is taken, the contract may
            auto-surrender, forcing a lump-sum payout or triggering Required
            Minimum Distributions (RMDs)
          example: 2023-01-01
        conversionDate:
          type: string
          format: date
          description: The Conversion Date refers to the date on which an insurance or
            annuity contract is transferred or migrated from one platform,
            system, or policy type to another. This is commonly seen in policy
            administration system updates, carrier mergers, or policy
            conversions
          example: 2023-01-01
        paidToDate:
          type: string
          format: date
          description: Paid to Date refers to the specific date through which a
            policyholder’s premium payments have fully covered the cost of
            insurance coverage on a life or annuity policy. It represents the
            end of the current paid coverage period and is critical for
            determining the policy's status (e.g., in-force, in grace period, or
            lapsed)
          example: 2023-01-01
        paidUpDate:
          type: string
          format: date
          description: The date when all required premium payments on a life insurance
            policy have been made
          example: 2023-01-01
        endowmentDate:
          type: string
          format: date
          description: The policy anniversary date on which the Level Term Period expires
            and the policy reaches endowment.
          example: 2023-01-01
    CostBasis:
      type: object
      properties:
        costBasis:
          type: number
          description: The Cost Basis refers to the total cumulative amount of after-tax
            premiums paid into a life insurance policy or annuity contract. It
            represents the non-taxable portion of withdrawals, policy loans, or
            surrenders, ensuring that policyholders are only taxed on gains
            above this amount
          example: 198
        costBasisDate:
          type: string
          format: date
          description: The Cost Basis Date refers to the date on which the cost basis
            value of a life insurance policy or annuity contract is calculated.
            The cost basis represents the total amount of after-tax money
            contributed to the policy or annuity and is used to determine the
            taxable portion of withdrawals, loans, or payouts
          example: 2023-01-01
        preTaxEquityAndFiscalResponsibilityActBasis:
          type: number
          format: double
          description: The Pre-TEFRA Basis refers to the cost basis of a life insurance
            policy or annuity before the Tax Equity and Fiscal Responsibility
            Act (TEFRA) of 1982 took effect. This distinction is important
            because TEFRA introduced new tax regulations on insurance products,
            including how withdrawals, policy loans, and annuities are taxed
          example: 161.81698
        preTechnicalAndMiscellaneousRevenueActAmount:
          type: number
          format: double
          description: Cost basis of a policy prior to Technical and Miscellaneous Revenue
            Act (TAMRA) of 1988.SB FIA - do not have 403 Qual Type, but if an
            exchange policy has it this will need to be housed and tracked going
            forward.
          example: 161.81698
        postTechnicalAndMiscellaneousRevenueActAmount:
          type: number
          format: double
          description: Cost basis of a policy after Technical and Miscellaneous Revenue
            Act (TAMRA) of 1988. SB FIA - do not have 403 Qual Type, but if an
            exchange policy has it this will need to be housed and tracked going
            forward.
          example: 161.81698
        changeAmount:
          type: number
          format: double
          description: The Cost Basis Change Amount refers to the difference between the
            old and new cost basis of a life insurance policy or annuity. It
            reflects adjustments due to premium payments, withdrawals, policy
            loans, 1035 exchanges, or other financial transactions that impact
            the total cost basis.
          example: 161.81698
    FixedCostPeriodUnit:
      type: string
      description: The unit of measure for the Fixed Cost Period. YEARS indicates the
        period is measured in policy years from the policy start date. AGE
        indicates the period is measured until the insured reaches a specific
        age. For Everly IUL T65 products, AGE with value 65 maps to
        OLI_LU_BENEPERIOD TC=16.
      enum:
        - YEARS
        - AGE
    CommissionOption:
      type: string
      enum:
        - OPTIONA
        - OPTIONB
        - NOCOMMISSION
        - STANDARD
        - TRAIL
    AccountValues:
      type: object
      properties:
        beginningAccountValue:
          type: number
          description: The Account Value refers to the total cash value of a life
            insurance policy or annuity at the beginning of each transaction,
            including both loaned and unloaned amounts. It represents the
            policy’s accumulated value before deductions, withdrawals, or new
            transactions
          example: 161.81698
        endingAccountValue:
          type: number
          description: The Current Account Value refers to the total cash value of a life
            insurance policy or annuity (including loaned and unloaned amounts)
            as of the last processed transaction. This value is used to
            determine the available account value (AV) for policyholders and is
            also the amount on which Fixed Interest is credited
          example: 161.81698
        minimumRequiredAccountValue:
          type: number
          description: The Minimum Required Account Value refers to the lowest amount of
            account value that must be maintained in a life insurance policy or
            annuity to keep the contract active and prevent policy lapse. If the
            account value falls below this threshold, the policy may enter a
            grace period, require additional premium payments, or terminate. For
            some products this may be "0"
          example: 0
        accountValueByPolicyYear:
          type: number
          description: The Account Value by Policy Year refers to the total account value
            at the beginning of each policy year, before any new transactions
            such as premium payments, withdrawals, loans, or interest credits
            are applied. This value helps track policy growth, cash value
            accumulation, and available funds over time
          example: 0
        unloanedPortionOfAccountValue:
          type: number
          description: The Unloaned Portion of Account Value refers to the part of the
            total account value that is not affected by policy loans. Once a
            policy loan is taken, the total account value is split into loaned
            and unloaned portions, with the unloaned portion continuing to
            accrue interest and potential investment returns
          example: 161.81698
        loanedPortionOfAccountValue:
          type: number
          description: The Loaned Portion of Account Value refers to the amount of a
            policy’s account value that is used as collateral for a policy loan.
            This amount is set aside from the Ending Account Value and is used
            to calculate loan interest accruals. The loaned portion is updated
            each time a new loan is processed
          example: 0
        surrenderValue:
          type: number
          description: The Account Surrender Value refers to the amount an insurance
            company pays to the policyholder when they voluntarily cancel
            (surrender) their life insurance policy or annuity before its
            maturity or death benefit payout. This value is determined after
            deducting surrender charges, outstanding loans, and applicable fees
            from the policy’s total account value
          example: 161.81698
        surrenderValueWithoutMarketValueAdjustment:
          type: number
          format: double
          description: Sum of money an insurance company pays to the policyholder or
            account owner upon the surrender of a policy/account without MVA
            value included
          example: 161.81698
        surrenderValueWithZeroMarketValueAdjustment:
          type: number
          format: double
          description: For Valuation (Reserving purposes). The account surrender value
            where the surrender charge has been recalculated assuming $0 MVA
          example: 161.81698
        guaranteedCashSurrenderValueFixed:
          type: number
          description: The Guaranteed Cash Surrender Value (Fixed) refers to the minimum
            cash value that a policyholder is assured to receive if they
            surrender their life insurance policy, regardless of market
            conditions. This amount is contractually defined and does not
            fluctuate with policy performance
          format: double
          example: 161.81698
        guaranteedCashSurrenderValueIndexed:
          type: number
          description: The indexed amount of cash that the policyholder is guaranteed to
            receive upon surrendering the policy before its maturity.Only
            required for Annuity FIA Products
          format: double
          example: 161.81698
        netAmountAtRisk:
          type: number
          description: The Net Amount at Risk (NAR) is the difference between the policy’s
            total death benefit and the policy’s account value (cash value). It
            represents the portion of the death benefit that the insurance
            company is at risk of paying out beyond the policyholder’s
            accumulated account value
          example: 16.81698
        deemedAccountValue:
          type: number
          description: The Deemed Account Value refers to an adjusted account value used
            for specific policy calculations, regulatory compliance, or benefit
            determinations. It may differ from the actual account value due to
            adjustments for policy loans, fees, surrender charges, or regulatory
            requirements
          example: 16.81698
        initialPremiumRequestAmount:
          type: number
          description: The Initial Premium Request Amount refers to the first premium
            payment made by the policyholder (party) to initiate coverage on a
            life insurance or annuity contract. This amount is required to
            activate the policy and begin accumulating benefits
          example: 99
        initialPremiumAppliedAmount:
          type: number
          description: The Initial Premium Applied Amount refers to the portion of the
            initial premium payment that is officially applied to the policy
            after processing. This amount determines when the policy becomes
            active and how funds are allocated within the contract
          example: 99
        initialPaymentAmountReceivedDate:
          type: string
          format: date
          description: The Initial Premium Amount Received Date refers to the date when
            the insurance company's home office officially receives the first
            premium payment for a life insurance policy or annuity contract.
            This date is crucial as it determines when the policy processing
            begins and may impact policy activation timelines
          example: 2023-01-01
        cumulativePremiumSinceIssue:
          type: number
          description: The Cumulative Premium Since Issue refers to the total amount of
            premiums paid into a life insurance policy or annuity contract from
            the policy’s start date (issue date) to the present. This figure
            represents all premium contributions made by the policyholder over
            time
          example: 198
        totalYearToDatePremiumAmount:
          type: number
          description: The Total (YTD) Premium Amount refers to the total premium applied
            to a life insurance policy or annuity contract within the current
            calendar or policy year, up to the present date. This value is used
            to track year-to-date contributions and ensure policy funding
            requirements are met
          example: 198
        modifiedEndowmentContractAuthorization:
          type: string
          enum:
            - "true"
            - "false"
          description: MEC Authorization refers to the approval process required when a
            life insurance policy is classified as a Modified Endowment Contract
            (MEC). A MEC is a permanent life insurance policy that fails the IRS
            "7-Pay Test," resulting in different tax treatment of policy loans
            and withdrawals. MEC Authorization is typically required from the
            policyholder before processing transactions that could convert the
            policy into a MEC, ensuring they understand the tax consequences.
        projectedLapseIndicator:
          type: boolean
          description: The Projected Lapse Indicator is a forecast that indicates whether
            a life insurance policy is expected to lapse within the next policy
            year based on its current account value, premium payments, cost of
            insurance (COI), and other policy charges
        policyGainAmount:
          type: number
          description: The Policy Gain Amount is the difference between the policy’s total
            account value and the cost basis. It represents the amount of gain
            that may be subject to taxation if withdrawn or surrendered
          example: 0
        uncollectedCharges:
          type: number
          description: Uncollected Charges refer to negative charges assessed when a
            policy is in a lapse condition due to insufficient funds in the
            policy’s account value. These charges represent policy fees, cost of
            insurance (COI), and other deductions that could not be collected
            because the policy had inadequate cash value
          example: 0
        annualTargetPremium:
          type: number
          description: "The Annual Target Premium is the calculated premium amount used to
            determine commissions for agents and brokers. It represents the
            portion of the policy premium that qualifies for commission payments
            and is calculated based on specific monthly charges within the
            policy. The Annual Target Premium for the calculation of commissions
            will be calculated using the following formula: [(Monthly Expense
            Charge + Monthly Unit Charge + Monthly Coverage Charge + Children’s
            Term Insurance Rider Charge) ÷ (1 – Payment Charge)] × 12]"
          example: 99.9
          format: double
        modalTargetPremium:
          type: number
          description: "The Modal Target Premium is the periodic premium amount used for
            commission calculations based on the chosen payment mode (e.g.,
            monthly, quarterly, semi-annually, or annually). It is derived from
            the Annual Target Premium and represents how much of the target
            premium is allocated to each payment cycle. Modal Target Premium for
            the calculation of commissions will be calculated using the
            following formula: [(Monthly Expense Charge + Monthly Unit Charge +
            Monthly Coverage Charge + Children’s Term Insurance Rider Charge) ÷
            (1 – Payment Charge)] × 12]"
          example: 99.9
          format: double
        annualizedPremium:
          type: number
          description: Annualized Premium refers to the total amount of premium a
            policyholder is expected to pay over the course of a full year,
            assuming the policy remains active and all scheduled premium
            payments are made on time and in full. It is a standardized
            representation of premium income, regardless of payment mode
            (monthly, quarterly, semiannual, or annual)
          example: 99.99
          format: double
        unearnedPremium:
          type: number
          description: Unearned Premium is the portion of a policyholder’s premium that
            has been paid in advance but corresponds to future coverage—i.e.,
            insurance protection that has not yet been provided. It represents a
            liability on the insurer’s books because it reflects coverage that
            still needs to be delivered
          example: 99.99
          format: double
        excessPremium:
          type: number
          format: double
          description: Excess Premium refers to the amount of premium paid into a life
            insurance or annuity policy that exceeds the allowable or intended
            limits set by the contract, regulatory testing (e.g., MEC or
            Guideline Premium Tests), or policy design (e.g., target or planned
            premiums).
          example: 99.99
        outstandingLifetimePremium:
          type: number
          format: double
          description: Outstanding Lifetime Premium refers to the total amount of premium
            that remains unpaid over the lifetime of the policy, based on the
            expected premium schedule set at issue or during the most recent
            plan update. It represents the future premium obligation assuming
            the policyholder continues to pay until the end of the coverage
            period or maturity
          example: 99.99
        suppressionIndicator:
          type: boolean
          description: The Suppression Indicator is a flag or marker used in policy
            administration systems to prevent certain actions, notifications, or
            transactions from being processed or displayed. It is commonly
            applied to billing, statements, reports, or policy updates based on
            specific business rules
        interestEarned:
          type: number
          format: double
          description: The Interest Earned refers to the amount of interest credited to a
            life insurance policy or annuity contract based on the accumulated
            account value. This interest may be guaranteed (fixed) or variable
            (market-based), depending on the policy type
          example: 99.12
        totalNetWithdrawalSinceIssue:
          type: number
          description: Running total of all Net Withdrawals since policy issuance
          format: double
        totalGainWithdrawnSinceIssue:
          type: number
          description: Total of all earnings withdrawn since policy issue
          format: double
        employeeRetirementIncomeSecurityActIndicator:
          type: boolean
          description: ERISA Indicator is a field that specifies whether a policy or
            contract is subject to the Employee Retirement Income Security Act
            of 1974 (ERISA) — a federal law that governs certain
            employer-sponsored retirement and benefit plans in the U.S.
        cumulativePremiumReceived:
          type: number
          format: double
          description: Cumulative Premium Received refers to the total sum of premium
            payments that have been successfully received and applied to a
            policy from the date of issuance up to a given point in time.
          example: 99.99
        previousModePremiumReceived:
          type: number
          format: double
          description: Previous Mode Premium Received refers to the actual premium amount
            collected during the prior billing mode period for a specific policy
            or coverage. This value reflects what was received for the most
            recently completed premium cycle (monthly, quarterly, semi-annual,
            or annual), immediately preceding the current period.
          example: 99.99
        offageAmount:
          type: number
          format: double
          description: Offage Amount refers to the difference between the expected or
            scheduled value and the actual value applied or received on a policy
            transaction, typically related to premium payments, disbursements,
            or reserve adjustments. It acts as a variance indicator, flagging
            whether there is an overage or shortage that needs reconciliation.
          example: 99.99
        totalGuaranteedCashSurrenderValue:
          type: number
          format: double
          description: The minimum guaranteed amount that the policyholder would receive
            upon surrendering the contract, as defined by the contracts
            guaranteed values.
          example: 161.81698
    LoanValues:
      type: object
      properties:
        totalLoanBalance:
          type: number
          format: double
          description: The Total Loan Balance refers to the outstanding loan amount on a
            life insurance policy, including the principal, accrued interest,
            and any unpaid loan charges. This balance reflects the total amount
            the policyholder owes the insurance company when a policy loan is
            taken against the cash value.
          example: 1000
        totalLoanPrincipal:
          type: number
          format: double
          description: The Total Loan Principal refers to the original amount borrowed by
            the policyholder against the cash value of a life insurance policy,
            excluding any accrued interest or unpaid loan charges. It represents
            the base loan amount before interest accumulation
          example: 100
        loanPayoffAmount:
          type: number
          format: double
          description: The Loan Payoff Amount refers to the total amount required to fully
            repay a policy loan, including the outstanding loan balance, accrued
            loan interest, and any adjustments for unearned interest. This value
            is calculated daily and fluctuates based on the loan’s interest
            accrual
          example: 100
        maximumLoanAmount:
          type: number
          format: double
          description: The Maximum Loan Amount refers to the highest amount a policyholder
            can borrow against their life insurance policy’s cash value. This
            limit is determined by the policy’s cash value, outstanding loans,
            and insurer-specific rules
          example: 161.81698
        minimumLoanAmount:
          type: number
          format: double
          description: The Minimum Loan Amount refers to the smallest amount a
            policyholder can borrow against their life insurance policy’s cash
            value, as defined by the insurer. This limit ensures that
            administrative costs and processing fees are justified for each loan
            transaction
          example: 100
        totalLoanAccruedInterest:
          type: number
          format: double
          description: The Total Loan Accrued Interest refers to the amount of interest
            that has accumulated on a policy loan so far within the current
            year. This interest is added to the outstanding loan balance if it
            is not paid separately by the policyholder
          example: 100
        lastLoanInterestDueDate:
          type: string
          format: date
          description: The Last Loan Interest Due Date refers to the last policy
            anniversary date when loan interest was due on an outstanding policy
            loan. Since loan interest on life insurance policies is typically
            charged annually, this date always corresponds to the most recent
            policy anniversary date
          example: 2023-01-01
        totalNumberOfLoan:
          type: number
          format: int32
          description: The Total Number of Loans refers to the total count of policy loans
            taken by the policyholder throughout the life of the insurance
            policy. It tracks each separate loan transaction, regardless of
            whether previous loans were repaid or still outstanding
          example: 10
        loanInterestMethod:
          $ref: "#/components/schemas/LoanInterestMethod"
        totalYearToDateLoanTaken:
          type: number
          format: double
          description: The Total YTD (Year-To-Date) Loan Taken refers to the total amount
            of policy loans taken by the policyholder within the current
            calendar or policy year. It tracks all loan transactions processed
            within the year, excluding prior years` loan activity
          example: 1000
        loanRepaymentType:
          $ref: "#/components/schemas/LoanRepaymentType"
        minimumLoanRepayment:
          type: number
          format: double
          description: The Minimum Loan Repayment refers to the smallest amount a
            policyholder is required to repay on a policy loan, as specified by
            the insurance company. This ensures that the loan balance is managed
            and prevents excessive interest accrual, which could lead to policy
            lapse
          example: 100
        amountExcessToLoanPayoff:
          type: number
          format: double
          description: The Amount Excess to Loan Payoff refers to the amount by which the
            available value exceeds what is required to fully pay off the
            outstanding policy loan.
          example: 50
    WithdrawalValues:
      type: object
      properties:
        totalWithdrawalAmount:
          type: number
          format: double
          description: The Total Withdrawal Amount refers to the cumulative amount of
            funds withdrawn from a life insurance policy or annuity by the
            policyholder. This includes all withdrawals made since the policy’s
            inception, whether taken as partial surrenders, cash value
            withdrawals, or systematic distributions
          example: 0
        freeWithdrawalAmount:
          type: number
          format: double
          description: The Free Withdrawal Amount refers to the maximum amount a
            policyholder can withdraw from their life insurance policy or
            annuity in a contract year without incurring a surrender charge.
            This limit is set by the insurer and is typically expressed as a
            percentage of the account value or premiums paid
          example: 0
        yearToDateFreeWithdrawalAmount:
          type: number
          format: double
          example: 0
          description: The YTD Free Amount (Year-To-Date Free Withdrawal Amount) refers to
            the total amount withdrawn so far in the current contract year that
            was within the free withdrawal limit, meaning it did not incur
            surrender charges. This tracks how much of the allowable free
            withdrawal limit has been used
        minimumWithdrawalAmount:
          type: number
          format: double
          description: The Minimum Withdrawal Amount refers to the smallest amount a
            policyholder can withdraw from their life insurance policy or
            annuity in a single transaction, as defined by the insurer. This
            ensures that withdrawals remain administratively efficient and align
            with policy rules
          example: 1
        maximumWithdrawalAmount:
          type: number
          format: double
          description: The Maximum Withdrawal Amount refers to the highest amount a
            policyholder can withdraw from their life insurance policy or
            annuity in a single transaction or within a policy year, as set by
            the insurer. This ensures that withdrawals do not deplete the
            policy’s cash value too quickly or violate contract terms
          example: 161.81698
        annualWithdrawalLimitNoCoverageDecrease:
          type: number
          format: double
          description: The Annual Withdrawal Limit for No Coverage Decrease refers to the
            maximum amount a policyholder can withdraw from their life insurance
            policy within a policy year without reducing the death benefit or
            coverage amount. This ensures that policyholders can access cash
            value while maintaining full coverage
          example: 322.678939
        maximumWithdrawalRequestDuringVestingPeriod:
          type: number
          format: int32
          description: The Max Withdrawal Request Allowed During Vesting Period refers to
            the highest number of withdrawal transactions permitted within the
            vesting period of a life insurance policy or annuity. This ensures
            policyholders follow contract rules while maintaining eligibility
            for vested benefits
          example: 1
        yearToDateNumberOfWithdrawal:
          type: number
          description: The YTD (Year-To-Date) Number of Withdrawals refers to the total
            count of withdrawal transactions made by the policyholder from the
            beginning of the policy year to the present date. This tracks how
            frequently funds have been withdrawn within the current policy year
          example: 1
          format: int32
        maximumWithdrawalRequestAfterVestingPeriod:
          type: number
          description: The Max Withdrawal Request Allowed After Vesting Period refers to
            the highest number of withdrawals a policyholder can make per year
            or over the life of the policy after the vesting period has ended.
            This ensures that policyholders can access their funds while still
            maintaining policy sustainability and compliance with contract terms
          example: 12
          format: int32
        totalYearToDateWithdrawalTaken:
          type: number
          description: The Total YTD (Year-To-Date) Withdrawal Taken refers to the total
            amount withdrawn by the policyholder from their life insurance
            policy or annuity within the current contract year. This tracks all
            withdrawals made so far from the beginning of the policy year up to
            the present date.
          example: 0
          format: double
        numberOfWithdrawal:
          type: number
          description: The Number of Withdrawals refers to the total count of withdrawal
            transactions made by the policyholder within a specified period,
            typically within the current policy year or calendar year. This
            tracks how frequently funds have been withdrawn from the policy
          example: 0
          format: int32
        withdrawalAllowedStartDate:
          type: string
          description: The Withdrawal Allowed Start Date refers to the calculated date
            from which the policyholder is permitted to make withdrawals from
            the policy’s cash value or annuity funds. This date is determined
            based on policy terms, surrender charge periods, and regulatory
            restrictions
          example: 2023-01-01
          format: date
        remainingFreeWithdrawalAmount:
          type: number
          format: double
          description: The remaining portion of the annual free withdrawal allowance that
            the policyholder can withdraw during the current contract year
            without incurring surrender charges or withdrawal penalties.
          example: 0
      required:
        - yearToDateFreeWithdrawalAmount
    MarketValueAdjustment:
      type: object
      properties:
        marketValueAdjustmentIndicator:
          type: boolean
          description: The MVA Indicator is a flag or marker that indicates whether a
            Market Value Adjustment (MVA) applies to an annuity or investment.
            This adjustment impacts the contract value when withdrawals or
            surrenders occur before the end of the contract’s term
        marketValueAdjustmentAmount:
          type: number
          format: double
          description: The MVA Adjustment refers to the Market Value Adjustment applied to
            an annuity contract when a withdrawal or surrender occurs before the
            end of the contract period. It adjusts the contract value based on
            changes in interest rates since the contract was issued.
          example: 12.42342
        marketValueAdjustmentPeriod:
          type: number
          format: int32
          example: 1
          description: MVA Period (Market Value Adjustment Period) refers to the specific
            timeframe during which a Market Value Adjustment (MVA) may be
            applied to withdrawals, surrenders, or transfers from a fixed or
            indexed annuity contract. This period typically aligns with the
            guaranteed interest rate period and is designed to account for
            interest rate fluctuations that affect the insurer’s investment
            value
        marketValueAdjustmentBaseRate:
          type: number
          description: The MVA Indicator is a flag or marker that indicates whether a
            Market Value Adjustment (MVA) applies to an annuity or investment.
            This adjustment impacts the contract value when withdrawals or
            surrenders occur before the end of the contract’s term.
          example: 12.42342
          format: double
        marketValueAdjustmentCapFloorAmount:
          type: number
          format: double
          description: The maximum positive or negative adjustment amount allowed under
            the contracts Market Value Adjustment (MVA) provision, which limits
            the total increase or decrease applied to a withdrawal or surrender
            value due to interest rate changes.
          example: 12.42342
        marketValueAdjustmentCurrentRate:
          type: number
          format: double
          description: The current reference interest rate used by the insurer when
            calculating the Market Value Adjustment (MVA) at the time of
            withdrawal, surrender, or transfer.
          example: 12.42342
        marketValueAdjustmentRateAtIssue:
          type: number
          format: double
          description: The reference interest rate at the time the contract or segment was
            issued, which is used as the baseline for calculating the Market
            Value Adjustment (MVA) when comparing it to the current rate.
          example: 12.42342
        fractionalYearsRemainingInSurrenderChargePeriod:
          type: number
          format: double
          description: The remaining portion of the surrender charge period, expressed as
            a fraction of a year, representing the time left before surrender
            charges no longer apply to the contract.
          example: 12.42342
    RequiredMinimumDistribution:
      type: object
      properties:
        totalRequiredMinimumDistributionAnnualAmount:
          type: number
          format: double
          description: The Total RMD (Required Minimum Distribution) Annual Amount refers
            to the minimum amount that a policyholder must withdraw from their
            annuity or retirement account each year to avoid IRS penalties. This
            applies to tax-deferred retirement accounts once the account owner
            reaches the Required Beginning Date (RBD).
          example: 12.42342
        remainingRequiredMinimumDistributionAmount:
          type: number
          format: double
          description: The Remaining RMD Amount refers to the amount of Required Minimum
            Distribution (RMD) that the policyholder still needs to withdraw
            before the end of the calendar year to avoid IRS penalties. It is
            calculated as the Total RMD Annual Amount minus any withdrawals
            already taken during the year
          example: 12.42342
        actuarialPresentValue:
          type: number
          format: double
          description: The Actuarial Present Value (APV) Amount refers to the present
            value of future expected benefits or cash flows from a life
            insurance policy, annuity, or pension plan, discounted to the end of
            the year. It is used in actuarial calculations to estimate the
            current value of future liabilities or benefits, considering
            mortality rates, interest rates, and time value of money.
          example: 12.42342
        priorYearEndAccountValue:
          type: number
          format: double
          description: The Prior Year-End Account Value refers to the total account value
            of a life insurance policy or annuity as of December 31 of the
            previous year. It represents the ending balance of the policy`s cash
            value or investment portion at the close of the prior year, before
            any transactions in the current year
          example: 12.42342
        requiredMinimumDistributionRecalculationDate:
          type: string
          format: date
          description: The RMD Recalculation Date refers to the date when the Required
            Minimum Distribution (RMD) amount is automatically recalculated for
            qualified annuities and retirement contracts. This recalculation
            occurs annually, starting in the year after December 31 of the year
            the owner turns 69.5, and continues every year thereafter
          example: 2023-01-01
        requiredMinimumDistributionCalculationOption:
          $ref: "#/components/schemas/RequiredMinimumDistributionCalculationOption"
        priorCalendarYearRequiredMinimumDistributionAmount:
          type: number
          format: double
          description: The Required Minimum Distribution (RMD) amount that was required to
            be withdrawn from the contract during the previous calendar year, as
            determined under applicable IRS life expectancy rules.
          example: 12.42342
        lifeExpectancyFactor:
          type: number
          format: double
          description: The life expectancy divisor obtained from the applicable IRS life
            expectancy table, used to calculate the Required Minimum
            Distribution (RMD) amount for a given year.
          example: 12.42342
    TestValues:
      type: object
      properties:
        guidelinePremium:
          $ref: "#/components/schemas/GuidelinePremium"
        modifiedEndowmentContract:
          $ref: "#/components/schemas/ModifiedEndowmentContract"
    DeathBenefit:
      type: object
      properties:
        deathBenefitOption:
          $ref: "#/components/schemas/DeathBenefitOptionType"
        deathBenefitOptionEffectiveDate:
          type: string
          description: The Death Benefit Option Effective Date refers to the date when the
            selected death benefit option (Level, Increasing, or Return of
            Premium) officially takes effect in the policy. This date determines
            when the death benefit structure is set for payout upon the
            insured`s death
          format: date
          example: 2023-01-01
        deathBenefitOptionChangedEffectiveDate:
          type: string
          description: The Change in Death Benefit Option (DBO) Effective Date refers to
            the date when a requested change in the death benefit option is
            processed and officially takes effect in the policy. This allows
            tracking of modifications between Level (Option A), Increasing
            (Option B), or Return of Premium (Option C) death benefit structures
          format: date
          example: 2023-01-01
        deemedDeathBenefit:
          type: number
          description: Deemed Death Benefit refers to the minimum amount that must be
            considered the "death benefit" under an insurance contract as per
            IRS Section 7702(e)(1)(B). This is used for tax qualification
            purposes to ensure that a life insurance policy meets the statutory
            definition of life insurance (DLI) and retains its tax-advantaged
            status
          example: 12203.12
          format: double
        deathBenefitAgeGuarantee:
          type: number
          description: The Death Benefit Age Guarantee refers to the age until which the
            policy guarantees a death benefit, provided certain conditions such
            as premium payments and policy requirements are met. This guarantee
            ensures that the death benefit remains in force up to a specified
            age, regardless of market performance or policy cash value
            fluctuations
          format: int32
          example: 63
        disputedDebtAmount:
          type: number
          description: The Disputed Debt Amount refers to the total sum of all
            disbursement transactions processed on a life insurance policy
            between the insured`s Date of Death and the Date of Death Reported
            to the insurer. This amount may need to be reviewed and reconciled,
            as policy actions taken during this period may no longer be valid
          format: double
          example: 65068.27355
        deathBenefitInterest:
          type: number
          description: The Death Benefit Interest refers to the interest accrued on the
            life insurance death benefit amount from the insured’s Date of Death
            until the payment is made to the beneficiary. This interest is
            typically required by state regulations and compensates for the
            delay between the insured’s death and the claim settlement
          format: double
          example: 150.12241
        deathBenefitIndexCredit:
          type: number
          description: Partial index credit received as part of death benefit
          format: double
          example: 150.12241
        claimStatus:
          $ref: "#/components/schemas/ClaimStatus"
        proofOfDeathReceived:
          $ref: "#/components/schemas/ProofOfDeathReceived"
        remainingDeathBenefitPercentage:
          type: number
          description: The percentage of the beneficiary`s allocated share of the death
            benefit that remains to be paid after the policyowners death.
          format: double
          example: 75.5
    PolicyCoverage:
      type: object
      properties:
        totalCoverageAmount:
          type: number
          description: The Total Coverage Amount refers to the maximum benefit or sum
            insured that a policyholder or beneficiary is entitled to receive
            under a life insurance contract. It represents the total financial
            protection provided by the policy
          example: 300000
          format: double
        cumulativeGrossDeathBenefitAmount:
          type: number
          description: The Cumulative Gross Death Benefit refers to the total amount
            payable to a beneficiary upon the insured or annuitant death, before
            any deductions such as loans, outstanding premiums, or surrender
            charges. It represents the gross value of the death benefit provided
            under a life insurance or annuity contract. It is cumulative gross
            death benefit of all the layers of base coverage (not including
            riders ).
          example: 300000
          format: double
        netDeathBenefit:
          type: number
          description: The Net Death Benefit refers to the actual amount paid to the
            beneficiary upon the insured or annuitant death, after deductions
            such as policy loans, unpaid premiums, withdrawals, or other charges
          example: 300000
          format: double
        remainingDeathBenefitAmount:
          type: number
          description: The Remaining Death Benefit Amount refers to the portion of the
            death benefit that is still available as of date for benefit payment
            to beneficiaries after a partial claim has been taken
          example: 300000
          format: double
        minimumCoverageAmount:
          type: number
          description: The Minimum Coverage Amount refers to the lowest amount of death
            benefit or policy coverage that an insurance company allows for a
            life insurance contract. It is the smallest sum insured that can be
            purchased under a specific product type
          example: 10000
          format: double
        maximumCoverageAmount:
          type: number
          description: The Maximum Coverage Amount refers to the highest amount of death
            benefit or policy coverage that an insurance company will issue
            under a life insurance contract. It represents the largest sum
            insured that an applicant can qualify for based on underwriting and
            financial eligibility
          example: 10000000
          format: double
        coverageChangeEffectiveDate:
          type: string
          description: The Earliest Coverage Change Date refers to the first possible date
            when a modification to an insurance policy can take effect. It
            defines the earliest point at which a policyholder can adjust
            coverage levels, add or remove riders, or make other contractual
            changes based on policy terms and conditions
          example: 2023-01-01
        coverageBand:
          type: string
          enum:
            - BAND1
            - BAND2
            - BAND3
            - BAND4
            - BAND5
            - BAND6
            - BAND7
          description: In life insurance, a band refers to a coverage range or tier that
            affects premium rates, underwriting guidelines, or policy benefits.
            Insurance companies use coverage bands to determine pricing
            structures, offering lower per-unit costs for higher coverage
            amounts
        maximumAnnualCoverageChangeAllowedPerPolicy:
          type: integer
          description: The Maximum Annual Coverage Change Allowed per Policy refers to the
            largest increase or decrease in coverage amount permitted within a
            single policy year, as defined by the insurance carrier. This limit
            is set to maintain policy stability, prevent excessive risk
            exposure, and ensure compliance with underwriting and policy
            guidelines
          example: 1
          format: int32
        minimumCoverageDecreaseAmount:
          type: number
          description: The Minimum Coverage Amount Decrease refers to the smallest
            reduction in coverage that a policyholder is allowed to make per
            policy year, as defined by the insurance carrier. This ensures that
            policies remain viable and do not fall below the required minimum
            coverage limits
          example: 10000
          format: double
        maximumCoverageDecreaseAmount:
          type: number
          description: The Maximum Coverage Amount Decrease refers to the largest
            reduction in coverage that a policyholder is allowed to make per
            policy year, as defined by the insurance carrier. This ensures that
            policyholders can lower coverage if needed while maintaining a
            minimum required coverage amount
          example: 290000
          format: double
        maximumAgeNumberCoverageAmountDecrease:
          type: integer
          description: The Maximum Age of No Coverage Amount Decrease refers to the age at
            which a policyholder can no longer reduce their coverage amount.
            This limit is set by the insurance carrier to maintain policy
            integrity and ensure sufficient death benefit protection,
            particularly for older policyholders
          example: 80
          format: int32
        coverageAmountDecreaseAllowed:
          type: integer
          description: The Number of Coverage Amount Decrease Allowed Per Policy Year
            refers to the maximum number of times a policyholder is permitted to
            reduce their coverage amount within a single policy year. This limit
            is set by the insurance carrier to maintain policy stability and
            prevent excessive policy modifications
          example: 120
          format: int32
        minimumCoverageIncreaseAmount:
          type: number
          description: The Minimum Coverage Amount Increase refers to the smallest
            increment by which a policyholder can raise their coverage amount
            within a policy year. This minimum threshold is set by the insurance
            carrier to ensure that coverage increases are financially viable and
            align with underwriting guidelines
          example: 10000
          format: double
        maximumCoverageIncreaseAmount:
          type: number
          description: The Maximum Coverage Amount Increase refers to the highest amount
            by which a policyholder can raise their coverage within a single
            policy year, as defined by the insurance carrier. This limit ensures
            that coverage increases remain manageable and are aligned with
            underwriting and financial justification
          example: 9700000
          format: double
        maximumAgeNumberCoverageAmountIncrease:
          type: integer
          description: The Maximum Age of No Coverage Amount Increase refers to the oldest
            age at which a policyholder can request an increase in coverage.
            After reaching this age, the policyholder is no longer eligible to
            increase their coverage amount, as determined by the insurance
            carrier
          example: 80
          format: int32
        coverageAmountIncreaseAllowed:
          type: integer
          description: The Number of Coverage Amount Increases Allowed Per Policy Year
            refers to the maximum number of times a policyholder can request an
            increase in coverage within a single policy year, as defined by the
            insurance carrier. This limit helps insurers manage risk exposure
            and maintain policy stability
          example: 10
          format: int32
        coverageLayers:
          type: array
          items:
            $ref: "#/components/schemas/CoverageLayer"
        deathBenefitAmountDistributed:
          type: number
          description: The amount of the death benefit that has been paid out. This should
            be the difference between of Cumulative Gross Death Benefit and
            Remaining Death Benefit Amount
          example: 250000
          format: double
    Rider:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          description: TBD
          example: 2023-01-01T12:00:00.000Z
        type:
          $ref: "#/components/schemas/RiderType"
        riderName:
          type: string
          example: Chronic Illness Accelerated Death Benefit Rider
          description: The specific name of the rider as designated by the insurance
            company. For example - Terminal Illness Accelerated Death Benefit
        riderElected:
          type: string
          description: Indicates the election status of the rider on the policy,
            specifying whether the policyholder has formally elected to include
            the rider
          example: ELECTED
        riderCode:
          type: string
          description: A unique identifier or alphanumeric code assigned to the rider
          example: EVGLHR
        underwritingStatus:
          $ref: "#/components/schemas/UnderwritingStatus"
        unbornChildIndicator:
          type: boolean
          description: This will be set to yes if there is no Child rider insured to
            support Unborn Child
        qualifiedAdditionalBenefit:
          type: boolean
          description: Indicates whether the rider provides a qualified benefit under IRS
            or insurance regulations
        effectiveDate:
          type: string
          format: date
          description: Date on which Rider is selected and becomes effective on the policy
          example: 2023-01-01
        exerciseDate:
          type: string
          format: date
          description: The date the policyholder elects to use or activate the rider benefit
          example: 2023-01-01
        terminationDate:
          type: string
          format: date
          description: The date on which the rider coverage ends/ is terminated
          example: 2023-01-01
        status:
          $ref: "#/components/schemas/Status"
        coverageId:
          type: string
          example: Rider_EVGLCHR
          description: An unique identifier assigned to the rider coverage within an
            insurance coverage or policy layer
        amount:
          type: number
          description: The total benefit amount the rider provides (separate from the base
            policy’s coverage.)
          example: 0
        annualBenefitAmount:
          type: number
          description: The maximum benefit amount of the benefit base, policyholder can
            withdraw each year
          example: 0
          format: double
        riderBenefitAmount:
          type: number
          description: The Total Benefit Amount represents the maximum guaranteed amount
            available under the annuity rider over the life of the
            contract/rider
          example: 0
          format: double
        riderBenefitPercent:
          type: number
          description: The fixed percentage applied to the Rider Benefit Amount to
            calculate the annual guaranteed benefit amount
          example: 100
          format: double
        minimumRiderBenefitAmount:
          type: number
          description: Refers to a guaranteed payout to a beneficiary upon the death of
            the annuitant, regardless of the contract investment performance, as
            long as the annuity is in the accumulation phase. Used for Variable
            annuities
          example: 0
          format: double
        growthIncomeBenefitAmount:
          type: number
          description: The Growth Income Benefit value represents the guaranteed income
            base established under a Guaranteed Minimum Income Benefit (GMIB)
            rider. It is used to calculate the lifetime income payments the
            annuitant is entitled to upon annuitization, regardless of the
            contract actual account value.
          example: 0
          format: double
        riderStoredIncomeBalance:
          type: number
          description: Amount that can be withdrawn without reducing the yearly or
            Lifetime rider benefit amount
          example: 0
          format: double
        riderParticipant:
          description: Note - Use riderParticipants field instead of riderParticipant
          type: array
          items:
            $ref: "#/components/schemas/RiderParticipant"
        additionalBenefitUsageCount:
          type: number
          format: int32
          description: The number of times the additional benefit has been used.
          example: 0
        riderParticipants:
          type: array
          items:
            $ref: "#/components/schemas/PartyRiderParticipant"
        charge:
          $ref: "#/components/schemas/RiderCharge"
        maximumChronicIllnessBenefitPercentage:
          type: number
          description: The highest percentage of the death benefit or face amount that can
            be taken for chronic illness coverage
          example: 2.5
        maximumPeriodicPaymentPeriod:
          type: number
          description: The maximum duration over which payments can be made under the
            rider ( in Months)
        claimStatus:
          type: boolean
          description: The current status of a claim filed under the rider
        nextEvaluationDate:
          type: string
          format: date
          description: The date of the next scheduled review or re-evaluation of an
            ongoing claim (applicable for riders like chronic illness).
          example: 2023-01-01
        riderPaymentDate:
          type: string
          format: date
          description: The date the benefit payout under the rider is to be disbursed to
            the policyholder or beneficiary
          example: 2023-01-01
        terminalRiderPaymentAmount:
          type: number
          description: The amount paid under the rider benefit.(during a given payout cycle)
          example: 0
        riderMinimumPaymentAmount:
          type: number
          description: Deprecated - kept for backwards compatibility
          example: 0
        maximumCriticalIllnessBenefitPercentage:
          type: number
          description: The highest percentage of the policy’s face amount that can be
            accessed under the critical illness rider
          example: 0
        tierOneMaximumCriticalIllnessBenefitPercentage:
          type: number
          description: The percentage of the benefit payable under Tier 1 of the critical
            illness structure (e.g., for mild conditions).
          example: 0
        tierOneMaximumCriticalIllnessBenefitAmount:
          type: number
          description: The maximum dollar amount payable under Tier 1 benefits
          example: 0
        tierTwoMaximumCriticalIllnessBenefitPercentage:
          type: number
          description: The percentage of the benefit payable under Tier 2(usually for more
            severe conditions.)
          example: 0
        tierTwoMaximumCriticalIllnessBenefitAmount:
          type: number
          description: The maximum dollar amount payable under Tier 2 benefits.
          example: 0
        tierOneCriticalRiderPaymentDate:
          type: string
          format: date
          description: The date on which the Tier 1 critical illness rider benefit payment
            is scheduled or was made
          example: 2023-01-01
        tierOneCriticalRiderPaymentAmount:
          type: number
          description: The amount of benefit paid under the Tier 1 critical illness
          example: 0
        tierTwoCriticalRiderPaymentDate:
          type: string
          format: date
          description: The date on which the Tier 2 critical illness rider benefit payment
            is scheduled or was made
          example: 2023-01-01
        tierTwoCriticalRiderPaymentAmount:
          type: number
          description: The amount of benefit paid under the Tier 2 critical illness
          example: 0
        coverageLayers:
          type: array
          items:
            $ref: "#/components/schemas/RiderCoverageLayer"
        remainingBenefit:
          type: number
          format: double
          description: The remaining benefit amount for the rider. Incremented by Premiums
            and adjusted by withdrawals.
          example: 10.51
        additionalBenefitUsedUp:
          type: boolean
          description: Indicates whether the ADL benefit is utilised on the contract.
        totalBenefit:
          type: number
          format: double
          description: The total guaranteed value the contract owner is entitled to at the
            end of the GMAB holding period — assuming no disqualifying
            withdrawals or events.
          example: 5.17
        payoutOption:
          type: string
          enum:
            - SINGLE
            - JOINT
          description: Single or Joint Payout (not driven by Owners on the policy, even a
            jointly owned policy can have single as an option. Used in
            configuration to set different GMWB benefits for Single and Joint
            GMWB Amount Types
        benefitPercent:
          type: number
          format: double
          description: Ties to Withdrawal Reset Benefit % Annual Limit on Calender
            Processing if GMWB Anniversary Base reset is elected. Equals result
            of GMWB Benefit % equation box in Withdrawal tab (GMWB) Ku - Payout
            Factor  Percentage of the benefit base that will be available for
            withdrawal each year
          example: 1.23
        annualBenefitLimit:
          type: number
          format: double
          description: GMWB Annual Limit, The total amount that can be withdrawn as a
            benefit of this rider in any given policy year, regardless of
            whether or not there is sufficient account value. It is also the
            annual limit on amounts that can be withdrawn without adversely
            affecting future annual and lifetime benefits from the rider.this
            amount will be impacted during Reset or Withdrawals or Premium
            events
          example: 3.43
        currentAnnualLimit:
          type: number
          format: double
          description: " GMWB Annual Limit, The total amount that can be withdrawn as a
            benefit of this rider in any given policy year, regardless of
            whether or not there is sufficient account value. It is also the
            annual limit on amounts that can be withdrawn without adversely
            affecting future annual and lifetime benefits from the rider.this
            amount will be impacted during Reset or Withdrawals or Premium
            events"
          example: 5.45
        remainingAnnualLimit:
          type: number
          format: double
          description: The GMWB amount still available for withdrawal in the current
            Contract Year without creating an "Excess Withdrawal" situation.
          example: 6.75
        hypotheticalAnnualLimit:
          type: number
          format: double
          description: During the riders accumulation phase (before it is exercised), a
            hypothetical annual withdrawal limit is calculated and displayed on
            statements to inform the policyholder and assist in their decision
            to exercise the rider
          example: 8.95
        phase:
          type: string
          enum:
            - ACCUMULATION
            - INCOME
          description: Indicator for whether the phase is Accumulation (not activated,
            benefit base is still accruing) or Income (annual limit calculated,
            benefit bases stop growing). Default value = Accumulation
        lastResetDate:
          type: string
          format: date
          description: User initiates the Reset, Variables product
          example: 2023-01-01
        base:
          $ref: "#/components/schemas/Base"
    PolicyCharges:
      type: object
      properties:
        chargeType:
          $ref: "#/components/schemas/PolicyChargeType"
        coverageId:
          type: string
          description: The Coverage ID is a unique identifier assigned to a specific
            coverage component within a life insurance or annuity policy, used
            to track the specific coverage for which charges are being applied.
            It ensures that the correct charges (e.g., cost of insurance, rider
            fees, administrative fees) are linked to the appropriate coverage
            layer.This is optional field which will be populated by LPS
          example: Base_Coverage
        currentMonthCharge:
          type: number
          description: The Current Month Charge refers to the total amount deducted from a
            life insurance or annuity policy for the current billing period,
            covering various costs such as insurance charges, administrative
            fees, rider costs, and investment-related expenses
          format: double
          example: 123.12
        uncollectedPerCharge:
          type: number
          description: The Uncollected Per Charge refers to the portion of a scheduled
            charge that has not been paid or deducted from the policy due to
            insufficient funds, unpaid premiums, or cash value shortfall. This
            can apply to Cost of Insurance (COI), rider fees, administrative
            charges, or investment-related expenses
          format: double
          example: 10.42
        cumulativePerCharge:
          type: number
          description: The Cumulative Per Charge refers to the total sum of a specific
            charge type from the policy`s issue date until the current
            processing date. It provides a historical record of charges deducted
            over the life of the policy.. Calculated by LPS.
          format: double
          example: 721.42
        yearToDatePerCharge:
          type: number
          description: It is the sum of charges in the current policy year
          format: double
          example: 721.42
        chargePercentage:
          type: number
          format: double
          example: 12.42342
          description: The percentage rate applied as a fee or charge under the contract
            for a specific transaction or benefit, such as a surrender charge,
            withdrawal charge, rider charge, or other applicable contract fee.
    SystematicProgram:
      type: object
      properties:
        arrangementType:
          $ref: "#/components/schemas/ArrangementType"
        arrangementId:
          type: string
          description: The unique payment number for payments by the party
          example: Arr_1
        allocationOptionType:
          $ref: "#/components/schemas/AllocationOption"
        reason:
          $ref: "#/components/schemas/Reason"
        numberOfOccurrence:
          type: number
          description: Specifies how many times the SSW  special program will run. This
            number will decrease each time the SSW  runs. If there is no
            specific duration, this field will remain at 0 and will not
            automatically end the SSW special program
          example: 12
          format: int32
        disbursementType:
          $ref: "#/components/schemas/DisbursementType"
        status:
          $ref: "#/components/schemas/Status"
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        frequency:
          $ref: "#/components/schemas/Frequency"
        requestedDate:
          type: string
          example: 2023-01-01
          description: The date on which the request for the systematic program was
            submitted
          format: date
        startDate:
          type: string
          example: 2023-01-01
          description: The date when the systematic program begins executing payments or
            transfers (entered by user)
          format: date
        endDate:
          type: string
          example: 2023-01-01
          description: The date Special Program ends (Entered by user or determined by LPS
            based on Account Value)
          format: date
        previousProgramDate:
          type: string
          example: 2023-01-01
          description: The last date on which a systematic transaction was processed
          format: date
        optedNextProgramDate:
          type: string
          example: 2023-01-01
          format: date
          description: A user-selected or modified next payment date, different from the
            scheduled one
        nextProgramDate:
          type: string
          example: 2023-01-01
          description: The date on which the next payment is scheduled
          format: date
        amountType:
          $ref: "#/components/schemas/AmountType"
        amount:
          type: number
          example: 600
          format: double
          description: A specified value - predetermined fixed amount or percentage used
            for financial transactions within a systematic program
        party:
          description: Note -Use systematicProgram.parties field instead of
            systematicProgram.party
          type: array
          items:
            $ref: "#/components/schemas/Party"
        parties:
          type: array
          items:
            $ref: "#/components/schemas/SystematicProgramParties"
        externalArrangementId:
          type: string
          description: The unique ID sent by carriers to identify the special
            programs.Carrier-side identifier for the systematic program
          example: arrangementid123
        fundAllocation:
          $ref: "#/components/schemas/SystematicFundAllocation"
        fundDistributions:
          type: array
          items:
            $ref: "#/components/schemas/FundDistribution"
      required:
        - externalArrangementId
    PolicyFeature:
      type: object
      properties:
        featureType:
          $ref: "#/components/schemas/FeatureType"
        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
        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
          description: A Feature Option in life insurance and annuities refers to the
            specific choices or variations available within a policy feature,
            allowing customization based on the policyholder’s needs
        reducedPaidUpFaceAmount:
          type: number
          format: double
          description: Reduced Paid-Up Face Amount is the new, lower death benefit that
            results when a policyholder elects the Reduced Paid-Up (RPU)
            insurance option on a permanent life insurance policy. Under this
            option, the policyholder uses the accumulated cash value of their
            policy to purchase a fully paid-up policy—meaning no further
            premiums are required—but with a reduced face amount compared to the
            original coverage
          example: 46.49
        startDate:
          type: string
          format: date
          example: 2023-01-01
          description: Start date of the feature
        endDate:
          type: string
          format: date
          example: 2023-01-01
          description: End date of the feature
        status:
          type: boolean
          description: A Feature Status in life insurance and annuities indicates the
            current state or activation condition of a specific feature within a
            policy or contract. It reflects whether a feature is active,
            inactive, pending, or restricted, helping insurers, agents, and
            policyholders track policy functionality
        period:
          type: number
          format: int32
          description: The Period of Feature in life insurance and annuities refers to the
            duration for which a specific feature or benefit is available,
            active, or applicable within a policy or contract. It defines the
            time frame in which a feature can be used, exercised, or remains
            valid
          example: 30
        effectiveDate:
          type: string
          format: date
          example: 2023-01-01
          description: Effective date of the feature
        totalRequiredAmount:
          type: number
          format: double
          description: The Total Minimum Required Amount refers to the lowest financial
            threshold needed to activate, maintain, or utilize a specific
            insurance or annuity feature. This can include minimum premiums,
            account balances, contributions, or fees necessary to keep the
            policy or benefit in force
          example: 0
        totalMinimumRequiredAmount:
          type: number
          format: double
          description: Min (This is if Carrier Acceot Min) - This is the Amount needed to
            reactivate the Policy (If there is an Outstanding Loan on the Policy
            Min Required Loan Balance will be part of this Amount)
          example: 0
        paymentAmount:
          type: number
          format: double
          description: The Payment Amount for a Feature refers to the specific cost
            required to activate, maintain, or utilize a particular policy
            feature or rider in a life insurance or annuity contract. This
            amount can be a one-time payment, recurring charge, or deducted from
            policy values depending on the feature type
          example: 46.49
        exclusionAmount:
          type: number
          format: double
          description: The Fixed Exclusion Amount in the annuitization feature of an
            annuity refers to the portion of each annuity payment that is
            considered a return of the original investment (principal) and is
            therefore excluded from taxable income. This amount helps annuitants
            determine their tax liability on annuity payments
          example: 46.49
        yearToDatePaymentAmount:
          type: number
          format: double
          description: The YTD Payment Amount for a Feature refers to the total amount
            paid or received for a specific policy feature from the beginning of
            the calendar year to the current date. This amount is commonly
            tracked for premiums, rider fees, annuity payouts, withdrawals, and
            other benefit-related transactions
          example: 46.49
        exclusionRatio:
          type: number
          format: double
          description: The Exclusion Ratio in annuitization refers to the portion of each
            annuity payment that is considered a return of the original
            investment (principal) and is therefore excluded from taxable
            income. It determines how much of an annuity payment is taxable and
            how much is tax-free.
          example: 46.49
        totalPaymentAmount:
          type: number
          format: double
          description: The Total Payment Amount of a Feature refers to the cumulative cost
            or sum of all payments made over time for a specific feature in a
            life insurance or annuity contract. This can include premiums, rider
            fees, annuity payouts, or benefit-related charges
          example: 46.49
        jointLivesPercentageToSurvivor:
          type: number
          format: double
          description: Joint Lives % to Survivor refers to the percentage of annuity
            payments that continue to the surviving annuitant after one of the
            joint annuitants passes away. It applies to Joint & Survivor
            Annuities, ensuring ongoing income for the surviving spouse or
            beneficiary.
          example: 100
        underwritingDecision:
          type: boolean
          description: The Reinstatement Underwriting Decision refers to the evaluation
            process and approval or denial of a reinstatement request for a
            lapsed life insurance policy or annuity contract. When a policy
            lapses due to non-payment, the insurer requires underwriting to
            determine if the policy can be reinstated based on financial,
            medical, and risk factors
        approvalDate:
          type: string
          format: date
          example: 2023-01-01
          description: The Approval Date for a Feature refers to the official date on
            which an insurance company authorizes and activates a specific
            feature, rider, or benefit within a life insurance policy or annuity
            contract. This date marks when the feature becomes effective and
            available for use by the policyholder or annuitant
        featureId:
          type: string
          example: "123"
          description: Unique identifier of feature sub-type for "custom feature
        frequency:
          $ref: "#/components/schemas/Frequency"
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        featureSubType:
          type: string
          enum:
            - MULTIPLEPOLICYDISCOUNT
            - CONTROLBUSINESSINDICATOR
            - RESTRICT
            - BROKERIDENTIFICATIONNUMBER
          description: Gives the sub type of the feature type "Custom Feature
        featureValue:
          type: string
          description: The value of the feature
          example: "123"
        periodCertainEndDate:
          type: string
          description: The Period Certain End Date for a Feature refers to the final date
            of a specific feature or benefit within a life insurance or annuity
            contract. This date marks the end of the feature`s duration and
            defines when it ceases to be active or available for use by the
            policyholder or annuitant
          example: 2023-01-01
          format: date
        firstPaymentDate:
          type: string
          description: The First Payment Date for a Feature refers to the initial payment
            date for a specific policy feature, rider, or benefit within a life
            insurance policy or annuity contract. This date marks when the
            feature becomes effective and available for use by the policyholder
            or annuitant
          example: 2023-01-01
          format: date
        annuitizedAmount:
          type: number
          description: The base amount used to calculate annuity payouts, as determined
            during annuitization
          format: double
          example: 100000
        timestamp:
          type: string
          format: date-time
          example: 2023-01-01T12:00:00.000Z
          description: TBD
    Distribution:
      type: object
      properties:
        investmentType:
          $ref: "#/components/schemas/InvestmentType"
        modelName:
          type: string
          description: Elect from available .. If Owner picks and Model as an investment
            option
          example: TBD
        modelId:
          type: string
          description: The corresponding Model Id of the elected model
          example: TBD
        fundAllocationsInvestments:
          type: array
          items:
            $ref: "#/components/schemas/FundAllocation"
        funds:
          type: array
          items:
            $ref: "#/components/schemas/Fund"
        matchSegment:
          $ref: "#/components/schemas/MatchSegment"
        loanSegments:
          type: array
          items:
            $ref: "#/components/schemas/LoanSegment"
        surplusDistributions:
          type: array
          items:
            $ref: "#/components/schemas/AllocationSurplusDistribution"
    PolicySnapshotSurplusDistribution:
      type: object
      properties:
        surplusDistributionTotalAmount:
          type: number
          format: double
          description: This is Cumulative Surplus Distribution Amount
          example: 1000
        totalPaidUpAdditionCashValue:
          type: number
          format: double
          description: The total Cash Value of all the Paid-Up Additions that currently
            exist on the policy. This is the value available for surrender on
            the policy that is linked to the Paid-Up Additions purchased.
          example: 1500
        totalPaidUpAdditionCoverage:
          type: number
          format: double
          description: The total coverage of all the Paid-Up Additions that currently
            exist on the policy. This is the value of the additional coverages
            that were purchased with the dividend as a Paid-Up Addition.
          example: 1500.72
    PolicyContractState:
      type: object
      properties:
        trackerType:
          $ref: "#/components/schemas/TrackerType"
        status:
          type: string
          description: The status of the policy contract, whether it is VALID or ERROR
            based on the trackerType that it's in.
          example: VALID
        reason:
          type: string
          description: The reason why this policy is in the current tracker state.
          example: Policy cannot be lifecycled to a previous date.
        currentLifecycleDate:
          type: string
          description: The date the policy is currently lifecycled to.
          format: date
          example: 2025-01-01
    ProductType:
      type: string
      enum:
        - WHOLELIFE
        - UNIVERSALLIFE
        - VARIABLEUNIVERSALLIFE
        - VARIABLEWHOLELIFE
        - INDEXEDUNIVERSALLIFE
        - FIXEDANNUITY
        - FIXEDINDEXEDANNUITY
        - TERM
        - TERMWITHCASHVALUE
    DistributionType:
      type: string
      enum:
        - WIREHOUSE
        - REGISTEREDINVESTMENTADVISER
        - INDEPENDENTAGENCY
        - FINANCIALPLANNINGFIRM
        - FINANCIALINSTITUTION
        - BROKER_DEALER
        - THIRDPARTYDIRECTTOCONSUMER
        - BANKMARKET
        - BROKERAGE_INDEPENDENTMARKET
        - CAPTIVEMARKET
        - AFFILIATEDAGENCY
        - INSTITUTIONALMARKET
        - FARMERSMLEA
    HoldingForm:
      type: string
      enum:
        - INDIVIDUAL
        - GROUP
        - JOINTINDIVIDUAL
    LoanInterestMethod:
      type: string
      enum:
        - ADVANCE
        - ARREARS
    LoanRepaymentType:
      type: string
      enum:
        - INTERESTFIRST
        - PRINCIPALFIRST
    RequiredMinimumDistributionCalculationOption:
      type: string
      enum:
        - RULE2002
        - BENEFICIARYDISTRIBUTIONQUALIFIED
        - BENEFICIARYDISTRIBUTIONNONQUALIFIED
        - JOINTNONRECALCULATION1987
        - JOINTRECALCULATION1987
        - MANUALENTRY
        - SINGLENONRECALCULATION1987
        - SINGLERECALCULATION1987
    GuidelinePremium:
      type: object
      properties:
        guidelinePremiumTestDate:
          type: string
          description: The Guideline Premium Test (GPT) Date refers to the last date on
            which the policy was tested to ensure compliance with the IRS`s
            Guideline Premium Test (GPT) for life insurance policies. This test
            ensures that the policy maintains its tax-advantaged status as a
            life insurance contract and does not become a Modified Endowment
            Contract (MEC).
          format: date
          example: 2023-01-01
        definitionOfLifeInsurance:
          $ref: "#/components/schemas/DefinitionOfLifeInsurance"
        guidelineSinglePremium:
          type: number
          description: The Guideline Single Premium (GSP) refers to the maximum single
            premium payment that can be made into a life insurance policy
            without violating the IRS`s Guideline Premium Test (GPT). It is used
            to ensure that the policy qualifies as life insurance and maintains
            its tax-advantaged status
          format: double
          example: 65068.27
        guidelineLevelPremium:
          type: number
          description: The Guideline Level Premium (GLP) is the maximum level (annual or
            periodic) premium that can be paid into a life insurance policy
            while maintaining compliance with the IRS`s Guideline Premium Test
            (GPT). It ensures that the policy remains classified as life
            insurance and retains its tax-advantaged status
          format: double
          example: 4695.39
        guidelinePremiumLimit:
          type: number
          description: The Guideline Premium Limit represents the remaining cumulative
            amount of premium that can be paid into a life insurance policy over
            its lifetime without violating the IRS’s Guideline Premium Test
            (GPT). It helps ensure the policy maintains its tax-advantaged
            status as life insurance under Section 7702 of the Internal Revenue
            Code
          format: double
          example: 4695.39
        guidelinePremiumLimitBreached:
          type: boolean
          description: Indicates whether the policy has breached the guideline premium
            limit.
        amountExcessToGuideline:
          type: number
          description: The Amount Excess to Guideline refers to the excess premium amount
            paid into a life insurance policy beyond the IRS-imposed limits
            under the Guideline Premium Test (GPT). This excess must be
            reimbursed or adjusted to ensure the policy maintains its
            tax-advantaged status and does not become a Modified Endowment
            Contract (MEC)
          format: double
          example: 0
        totalGuidelineLevelPremiumSinceIssue:
          type: number
          description: The Total Guideline Level Premium (GLP) Since Issue refers to the
            cumulative sum of all guideline level premiums allowed from the
            policy’s issuance through the current policy anniversary date. It
            ensures that the policy remains compliant with the IRS Guideline
            Premium Test (GPT) and maintains its life insurance tax-advantaged
            status
          format: double
          example: 4695.39
    ModifiedEndowmentContract:
      type: object
      properties:
        modifiedEndowmentContractTestDate:
          type: string
          format: date
          description: The MEC Test Date refers to the last date on which the life
            insurance policy was tested to determine whether it qualifies as a
            Modified Endowment Contract (MEC) under IRS regulations. This date
            is updated whenever a new MEC test is performed, ensuring the policy
            remains compliant with federal tax rules
          example: 2023-01-01
        amountExcessToModifiedEndowmentContract:
          type: number
          format: double
          description: The Amount Excess to MEC refers to the excess premium amount paid
            into a life insurance policy beyond the IRS-imposed Modified
            Endowment Contract (MEC) limit. This excess must be reimbursed,
            adjusted, or restructured to prevent the policy from becoming a MEC,
            which would alter its tax treatment
          example: 0
        modifiedEndowmentContractStatusDate:
          type: string
          format: date
          description: The MEC Status Date refers to the exact date when a life insurance
            policy is classified as a Modified Endowment Contract (MEC) or
            confirmed as non-MEC. This date is critical for determining how
            future withdrawals and policy loans will be taxed
          example: 2023-01-01
        modifiedEndowmentContractStatus:
          type: boolean
          description: The MEC Status indicates whether a life insurance policy has been
            classified as a Modified Endowment Contract (MEC) under IRS
            regulations. This status determines the tax treatment of
            withdrawals, loans, and distributions from the policy
        sevenPayTestBasis:
          type: number
          format: double
          description: The 7-Pay Test Basis refers to the total cumulative premium paid
            into a life insurance policy during the first seven years (the 7-pay
            period), as measured against the IRS 7-Pay Test limit. This amount
            is used to determine whether the policy qualifies as a life
            insurance contract or is classified as a Modified Endowment Contract
            (MEC).
          example: 198
        sevenPayPremium:
          type: number
          format: double
          description: The 7-Pay Premium refers to the maximum allowable premium that can
            be paid into a life insurance policy during the first seven years
            without triggering Modified Endowment Contract (MEC) status. It
            ensures that the policy remains a tax-advantaged life insurance
            contract rather than an investment vehicle
          example: 19807.51079
        sevenPayStartDate:
          type: string
          format: date
          description: The 7-Pay Start Date / Material Change Date refers to the date when
            the 7-Pay Test period begins. This is initially set at policy
            issuance (matching the Policy Start Date) and resets whenever a
            material change occurs that affects the policy’s funding limits
          example: 2023-01-01
        sevenPayPeriod:
          type: string
          format: date
          description: "The 7-Pay Period refers to the time frame during which the policy
            must comply with the 7-Pay Test to avoid Modified Endowment Contract
            (MEC) status. It starts on the 7-Pay Start Date (initially set at
            policy issuance) and lasts for seven years. The 7-Pay Period
            Expiration Date is calculated as: 7-Pay Expiration Date=7-Pay Start
            Date+7 Years"
          example: 2030-01-01
        sevenPayLimit:
          type: number
          format: double
          description: The 7-Pay Limit refers to the maximum total premium that can be
            paid into a life insurance policy within the first seven years
            without triggering Modified Endowment Contract (MEC) status. It is
            the benchmark used in the 7-Pay Test to determine whether a policy
            remains a tax-advantaged life insurance contract
          example: 0
        yearInPeriod:
          type: integer
          format: int32
          description: The Year in Period refers to the current year within the seven-year
            time frame of the 7-Pay Test. It is crucial because the 7-Pay Limit
            increases each year, and the test is updated annually to ensure the
            policy remains within IRS limits
          example: 0
        unnecessaryPremium:
          type: number
          format: double
          description: The Unnecessary Premium refers to the amount of premium that
            exceeds the limit set by the Nonforfeiture Premium Test (NPT Test).
            If premium payments are higher than the NPT limit, this amount is
            flagged as unnecessary premium, which may need to be refunded,
            adjusted, or redirected
          example: 232.12
    DeathBenefitOptionType:
      type: string
      enum:
        - LEVEL
        - INCREASING
    ClaimStatus:
      type: string
      enum:
        - APPROVED
        - NOTAPPROVED
        - PROCESSED
    ProofOfDeathReceived:
      type: string
      enum:
        - Yes
        - No
    CoverageLayer:
      type: object
      properties:
        coverageId:
          type: string
          description: The Coverage ID is a unique identifier assigned to a specific
            coverage type or benefit within an insurance policy. It helps
            insurance companies, agents, and policyholders track and
            differentiate multiple coverage components within a single policy
          example: Base_Coverage
        coverageType:
          $ref: "#/components/schemas/RiderType"
        coverageName:
          type: string
          description: The Coverage Name in a life insurance policy refers to the specific
            title or label assigned to a coverage type within the policy
            contract. It helps insurers, agents, and policyholders identify,
            classify, and manage different coverage components in a policy
          example: Base_Coverage
        productCode:
          type: string
          description: The Plan Code is a carrier-assigned alphanumeric identifier used to
            uniquely distinguish a specific insurance or annuity product, rate
            structure, version, and coverage layer within an insurer’s
            portfolio. It is essential for policy administration, pricing,
            underwriting, and claims processing
          example: EVGL1
        coverageTerm:
          type: number
          format: int32
          description: Coverage Term refers to the number of years that a life insurance
            policy or specific coverage component is intended to remain in
            force, providing protection to the insured. It defines the planned
            duration of insurance coverage, after which the coverage may expire,
            renew, or convert, depending on the product type
          example: 1
        approvedCoverageAmount:
          type: number
          description: The Approved Coverage Amount refers to the specific amount of
            insurance coverage that has been approved by the insurer during the
            underwriting process. It represents the face amount (death benefit)
            the insurer has agreed to issue based on the applicant's risk
            profile, health, and other underwriting criteria
          example: 10000
          format: double
        currentAmount:
          type: number
          format: double
          description: The Current Coverage Amount refers to the active or present death
            benefit or coverage value available under the policy at a specific
            point in time. It reflects any adjustments, policy changes,
            withdrawals, or loans that may have altered the original coverage
            amount
          example: 300000
        originalCoverageAmount:
          type: number
          format: double
          description: The Original Coverage Amount refers to the initial face value or
            death benefit of a policy at the time of issuance before any policy
            modifications, withdrawals, loans, or benefit reductions. It
            represents the starting coverage amount agreed upon when the policy
            was first issued
          example: 300000
        minimumCoverageAmount:
          type: number
          format: double
          description: The Minimum Coverage Amount at Each Coverage Level refers to the
            lowest permissible amount of insurance coverage allowed per policy
            layer, as set by the insurance carrier. It ensures policies remain
            financially viable and comply with regulatory and underwriting
            standards
          example: 10000
        maximumCoverageAmount:
          type: number
          format: double
          description: The Maximum Coverage Amount at Each Coverage Level refers to the
            highest permissible amount of insurance coverage allowed per policy
            layer, as set by the insurance carrier
          example: 10000000
        grossDeathBenefitAmount:
          type: number
          format: double
          description: The Gross Death Benefit per Coverage Layer refers to the total
            pre-deduction death benefit amount assigned to each specific
            coverage layer within a policy. It represents the sum of all base
            coverage amounts, riders, and enhancements before applying policy
            adjustments such as loans, withdrawals, or unpaid premiums
          example: 300000
        coverageTargetPremium:
          type: number
          format: double
          description: Coverage Target Premium refers to the designated premium amount on
            a life insurance policy that:Qualifies for full target-level
            commissions in the first policy year, and Forms the basis for
            renewal commissions in subsequent policy years.Note - This is modal
            premium value
          example: 300000
        lowDeathBenefitAmount:
          type: number
          format: double
          description: Low Death Benefit refers to the lowest possible death benefit
            guaranteed within each specific coverage component of a policy. This
            ensures that beneficiaries receive at least a minimum death benefit
            regardless of market performance, policy changes, or withdrawals
          example: 300000
        coverageChangeAmount:
          type: number
          format: double
          description: The Coverage Change Amount refers to the specific increase or
            decrease in coverage that occurs within a life insurance policy due
            to policyholder requests, automatic adjustments, or
            insurer-initiated changes. This amount reflects the difference
            between the original or prior coverage amount and the new coverage
            amount after the change takes effect
          example: 3000000
        coverageEffectiveDate:
          type: string
          format: date
          description: The Coverage Effective Date refers to the date when an increase in
            coverage or a new coverage component officially takes effect in a
            life insurance policy. It marks the beginning of the insured’s
            eligibility for the new or increased benefits
          example: 2023-01-01
        coverageChangeEffectiveDate:
          type: string
          format: date
          description: The Coverage Change Effective Date (for a decrease in coverage)
            refers to the date when the reduced coverage amount officially takes
            effect in a life insurance policy. It marks the point from which the
            new lower coverage amount applies
          example: 2023-01-01
        coverageTerminationDate:
          type: string
          format: date
          description: The Coverage Termination Date refers to the date when a policy’s
            coverage officially ends, meaning the insured is no longer protected
            under the contract. After this date, no benefits or claims can be
            paid unless reinstatement is an option
          example: 2023-01-01
        unitOfCoverage:
          type: number
          format: double
          description: The Unit of Coverage refers to the measurement standard used to
            define the amount of coverage provided under a life insurance
            policy. It helps insurers calculate premiums, determine benefit
            payouts, and structure policies consistently.In life insurance, the
            unit of coverage is typically measured per $1,000 of face amount.
          example: 300
        valuePerUnitOfCoverage:
          type: number
          format: double
          description: The Value per Unit of Coverage refers to the monetary worth of each
            unit of coverage in a life insurance policy, which is used for
            premium calculations, benefit payouts, and policy adjustments. This
            value helps insurers standardize pricing and policy structures.In
            life insurance, the value per unit represents the cost per $1,000 of
            coverage or payout per unit of death benefit.In annuities, it
            determines the payout per annuity unit or per $1,000 of account
            value
          example: 1000
        annualPremium:
          type: number
          format: double
          description: The annual premium is the total amount you would pay for a full
            year of life insurance or annuity if you made just one payment per
            year
          example: 1000
        modalPremium:
          type: number
          format: double
          description: Modal Premium refers to the actual premium amount a policyholder
            pays based on the selected billing frequency (mode)—such as monthly,
            quarterly, semiannual, or annual. It represents the current periodic
            payment due for the base coverage and any attached riders under a
            life or annuity insurance policy
          example: 1000
        cumulativeModalPremium:
          type: number
          format: double
          description: Cumulative Modal Premium refers to the sum of actual premium amount
            a policyholder pays based on the selected billing frequency
            (mode)—such as monthly, quarterly, semiannual, or annual. It
            represents the sum of current periodic payment due for the base
            coverage and any attached riders under a life or annuity insurance
            policy.
          example: 1000
        guidelineSinglePremium:
          type: number
          format: double
          description: The Guideline Single Premium (GSP) is the maximum single premium
            payment that can be made into a life insurance policy without
            causing it to lose its tax-advantaged status as life insurance under
            IRS guidelines. It is determined based on IRS regulations and
            ensures that the policy remains compliant with Section 7702 of the
            Internal Revenue Code
          example: 65068.27
        guidelineLevelPremium:
          type: number
          format: double
          description: The Guideline Level Premium (GLP) is the maximum total premium that
            can be paid over time into a life insurance policy without violating
            IRS regulations under Section 7702. It ensures that a policy retains
            its tax-advantaged status as life insurance and does not become
            classified as a Modified Endowment Contract (MEC)
          example: 4695.39
        sevenPayPremium:
          type: number
          format: double
          description: The 7-Pay Premium refers to the maximum cumulative premium that can
            be paid into a life insurance policy during the first seven years
            without causing the policy to become a Modified Endowment Contract
            (MEC). It is part of the 7-Pay Test, which ensures that life
            insurance policies do not become overfunded and lose their tax
            advantages
          example: 19807.51
        coverageParticipants:
          type: array
          items:
            $ref: "#/components/schemas/CoverageParticipants"
        overdueModalPremium:
          type: number
          format: double
          description: refers to a scheduled premium payment that was not received or
            applied by its due date, based on the policy’s modal frequency
            (e.g., monthly, quarterly, semi-annual, or annual). It represents a
            missed payment obligation that remains outstanding and may trigger
            administrative or policy-level actions
          example: 1000
      required:
        - coverageTerm
    RiderType:
      type: string
      enum:
        - BASE
        - RIDER
        - BASEINCREASE
        - INTEGRATEDRIDER
        - RIDERINCREASE
        - BENEFIT
        - DISCOUNT
        - OTHER
        - UNKNOWN
    UnderwritingStatus:
      type: string
      enum:
        - APPROVED
        - DECLINED
    Status:
      type: string
      enum:
        - ACTIVE
        - TERMINATED
        - PENDING
        - SUSPENDED
    RiderParticipant:
      type: object
      properties:
        insuredId:
          type: string
          description: A unique identifier assigned to the insured individual within the
            system who was covered under this rider
          example: Party_PI_1
        insuredAgeAtIssue:
          type: number
          description: The age of the insured at the time the rider was issued
          example: 50
          format: int32
    PartyRiderParticipant:
      type: object
      properties:
        partyId:
          type: string
          description: A unique identifier assigned to the party insured within the system
            who was covered under this rider
          example: Party_PI_1
        partyAgeAtIssue:
          type: number
          format: int32
          description: The age of the insured at the time the rider was issued
          example: 50
        riskClass:
          type: string
          enum:
            - ULTRANONTOBACCO
            - ELITENONTOBACCO
            - PREFERREDNONTOBACCO
            - STANDARDNONTOBACCO
            - STANDARDTOBACCO
            - STANDARDAGGREGATE
            - SUBSTANDARDNONTOBACCO
            - SUBSTANDARDTOBACCO
            - STANDARDPLUSNONTOBACCO
            - PREFERREDTOBACCO
            - STANDARDCONVERSIONTOBACCO
            - STANDARDCONVERSIONNONTOBACCO
          description: The Risk Class refers to the underwriting category assigned to an
            applicant based on their health, lifestyle, and medical history,
            which determines their premium rates for a life insurance policy.
            Insurers use risk classifications to assess mortality risk and price
            policies accordingly.
        substandardRating:
          type: string
          enum:
            - TABLEA
            - TABLEB
            - TABLEC
            - TABLED
            - TABLEE
            - TABLEF
            - TABLEG
            - TABLEH
            - TABLEI
            - TABLEJ
            - TABLEK
            - TABLEL
            - TABLEM
            - TABLEN
            - TABLEO
            - TABLEP
            - NONETABLE
          description: A Substandard Rating (also called Table Rating) is assigned to
            applicants who do not qualify for Standard or Preferred risk classes
            due to health conditions, lifestyle risks, or medical history. This
            rating results in higher premium costs because the insured presents
            a greater mortality risk.
        flatExtra:
          type: array
          items:
            $ref: "#/components/schemas/FlatExtra"
    RiderCharge:
      type: object
      properties:
        riderExerciseCharge:
          type: number
          description: One Time Rider Charge that will be Applied upon Rider Activation
          format: double
          example: 0
        riderExerciseChargeRate:
          type: number
          description: The rate or percentage applied to calculate the charge for
            exercising the rider
          format: double
          example: 0
    RiderCoverageLayer:
      type: object
      properties:
        coverageId:
          type: string
          description: The Coverage ID is a unique identifier assigned to a specific
            coverage type or benefit within an insurance policy. It helps
            insurance companies, agents, and policyholders track and
            differentiate multiple coverage components within a single policy.
          example: Base_Coverage
        coverageType:
          type: string
          enum:
            - BASE
            - RIDER
            - BASEINCREASE
            - INTEGRATEDRIDER
            - RIDERINCREASE
            - BENEFIT
            - DISCOUNT
            - OTHER
            - UNKNOWN
          description: The type of rider denoting if benefit is applicable to base
            coverage or a distinct  coverage or addition to base coverage or a
            benefit without any coverage
        coverageName:
          type: string
          description: The Coverage Name in a life insurance policy refers to the specific
            title or label assigned to a coverage type within the policy
            contract. It helps insurers, agents, and policyholders identify,
            classify, and manage different coverage components in a policy.
          example: Base_Coverage
        productCode:
          type: string
          description: The Plan Code is a carrier-assigned alphanumeric identifier used to
            uniquely distinguish a specific insurance or annuity product, rate
            structure, version, and coverage layer within an insurer's
            portfolio. It is essential for policy administration, pricing,
            underwriting, and claims processing.
          example: EVGL1
        coverageTerm:
          type: number
          format: int32
          description: Coverage Term refers to the number of years that a life insurance
            policy or specific coverage component is intended to remain in
            force, providing protection to the insured. It defines the planned
            duration of insurance coverage, after which the coverage may expire,
            renew, or convert, depending on the product type.
          example: 1
        approvedCoverageAmount:
          type: number
          format: double
          description: The Approved Coverage Amount refers to the specific amount of
            insurance coverage that has been approved by the insurer during the
            underwriting process. It represents the face amount (death benefit)
            the insurer has agreed to issue based on the applicant's risk
            profile, health, and other underwriting criteria.
          example: 10000
        currentAmount:
          type: number
          format: double
          description: The Current Coverage Amount refers to the active or present death
            benefit or coverage value available under the policy at a specific
            point in time. It reflects any adjustments, policy changes,
            withdrawals, or loans that may have altered the original coverage
            amount.
          example: 300000
        originalCoverageAmount:
          type: number
          format: double
          description: The Original Coverage Amount refers to the initial face value or
            death benefit of a policy at the time of issuance before any policy
            modifications, withdrawals, loans, or benefit reductions. It
            represents the starting coverage amount agreed upon when the policy
            was first issued.
          example: 300000
        minimumCoverageAmount:
          type: number
          format: double
          description: The Minimum Coverage Amount at Each Coverage Level refers to the
            lowest permissible amount of insurance coverage allowed per policy
            layer, as set by the insurance carrier. It ensures policies remain
            financially viable and comply with regulatory and underwriting
            standards.
          example: 10000
        maximumCoverageAmount:
          type: number
          format: double
          description: "The Maximum Coverage Amount at Each Coverage Level refers to the
            highest permissible amount of insurance coverage allowed per policy
            layer, as set by the insurance carrier. "
          example: 10000000
        grossDeathBenefitAmount:
          type: number
          format: double
          description: The Gross Death Benefit per Coverage Layer refers to the total
            pre-deduction death benefit amount assigned to each specific
            coverage layer within a policy. It represents the sum of all base
            coverage amounts, riders, and enhancements before applying policy
            adjustments such as loans, withdrawals, or unpaid premiums.
          example: 300000
        lowDeathBenefitAmount:
          type: number
          format: double
          description: Low Death Benefit refers to the lowest possible death benefit
            guaranteed within each specific coverage component of a policy. This
            ensures that beneficiaries receive at least a minimum death benefit
            regardless of market performance, policy changes, or withdrawals.
          example: 300000
        coverageChangeAmount:
          type: number
          format: double
          description: The Coverage Change Amount refers to the specific increase or
            decrease in coverage that occurs within a life insurance policy due
            to policyholder requests, automatic adjustments, or
            insurer-initiated changes. This amount reflects the difference
            between the original or prior coverage amount and the new coverage
            amount after the change takes effect.
          example: 3000000
        coverageEffectiveDate:
          type: string
          format: date
          description: The Coverage Effective Date refers to the date when an increase in
            coverage or a new coverage component officially takes effect in a
            life insurance policy. It marks the beginning of the insured’s
            eligibility for the new or increased benefits.
          example: 2023-01-01
        coverageChangeEffectiveDate:
          type: string
          format: date
          description: The Coverage Change Effective Date (for a decrease in coverage)
            refers to the date when the reduced coverage amount officially takes
            effect in a life insurance policy. It marks the point from which the
            new lower coverage amount applies.
          example: 2023-01-01
        coverageTerminationDate:
          type: string
          format: date
          description: The Coverage Termination Date refers to the date when a policy's
            coverage officially ends, meaning the insured is no longer protected
            under the contract. After this date, no benefits or claims can be
            paid unless reinstatement is an option.
          example: 2023-01-01
        unitOfCoverage:
          type: number
          format: double
          description: "The Unit of Coverage refers to the measurement standard used to
            define the amount of coverage provided under a life insurance
            policy. It helps insurers calculate premiums, determine benefit
            payouts, and structure policies consistently.In life insurance, the
            unit of coverage is typically measured per $1,000 of face amount. "
          example: 300
        valuePerUnitOfCoverage:
          type: number
          format: double
          description: The Value per Unit of Coverage refers to the monetary worth of each
            unit of coverage in a life insurance policy, which is used for
            premium calculations, benefit payouts, and policy adjustments. This
            value helps insurers standardize pricing and policy structures.In
            life insurance, the value per unit represents the cost per $1,000 of
            coverage or payout per unit of death benefit.In annuities, it
            determines the payout per annuity unit or per $1,000 of account
            value.
          example: 1000
        guidelineSinglePremium:
          type: number
          format: double
          description: The Guideline Single Premium (GSP) is the maximum single premium
            payment that can be made into a life insurance policy without
            causing it to lose its tax-advantaged status as life insurance under
            IRS guidelines. It is determined based on IRS regulations and
            ensures that the policy remains compliant with Section 7702 of the
            Internal Revenue Code.
          example: 65068.27
        guidelineLevelPremium:
          type: number
          format: double
          description: The Guideline Level Premium (GLP) is the maximum total premium that
            can be paid over time into a life insurance policy without violating
            IRS regulations under Section 7702. It ensures that a policy retains
            its tax-advantaged status as life insurance and does not become
            classified as a Modified Endowment Contract (MEC).
          example: 4695.39
        sevenPayPremium:
          type: number
          format: double
          description: The 7-Pay Premium refers to the maximum cumulative premium that can
            be paid into a life insurance policy during the first seven years
            without causing the policy to become a Modified Endowment Contract
            (MEC). It is part of the 7-Pay Test, which ensures that life
            insurance policies do not become overfunded and lose their tax
            advantages.
          example: 19807.51
        modalPremium:
          type: number
          format: double
          description: Modal Premium refers to the actual premium amount a policyholder
            pays based on the selected billing frequency (mode)—such as monthly,
            quarterly, semiannual, or annual. It represents the current periodic
            payment due for the base coverage and any attached riders under a
            life or annuity insurance policy.
          example: 1000
        cumulativeModalPremium:
          type: number
          format: double
          description: Cumulative Modal Premium refers to the sum of actual premium amount
            a policyholder pays based on the selected billing frequency
            (mode)—such as monthly, quarterly, semiannual, or annual. It
            represents the sum of current periodic payment due for the base
            coverage and any attached riders under a life or annuity insurance
            policy.
          example: 1000
        coverageTargetPremium:
          type: number
          format: double
          description: Coverage Target Premium refers to the designated premium amount on
            a life insurance policy that:Qualifies for full target-level
            commissions in the first policy year, and Forms the basis for
            renewal commissions in subsequent policy years.Note - This is modal
            premium value
          example: 300000
        annualPremium:
          type: number
          format: double
          description: The annual premium is the total amount you would pay for a full
            year of life insurance or annuity if you made just one payment per
            year.
          example: 1000
        overdueModalPremium:
          type: number
          format: double
          description: refers to a scheduled premium payment that was not received or
            applied by its due date, based on the policy’s modal frequency
            (e.g., monthly, quarterly, semi-annual, or annual). It represents a
            missed payment obligation that remains outstanding and may trigger
            administrative or policy-level actions
          example: 1000
    Base:
      type: object
      properties:
        currentBase:
          type: number
          format: double
          example: 14.32
          description: Tracked againist Account Value and will be updated on every
            Anniversary Incremented by gross premiums and credit
            enhancements.  Set to Investment Value if rider is issed post
            contract issue.  Adjusted for withdrawals. Reset on Anniversaries
        ratchetBase:
          type: number
          format: double
          description: Tracked againist Account Value and will be updated on every
            Anniversary Incremented by gross premiums and credit
            enhancements.  Set to Investment Value if rider is issed post
            contract issue. Adjusted for withdrawals.  Reset on Anniversaries.
          example: 19.35
        growthBase:
          type: number
          format: double
          description: Incremented by gross premiums and credit enhancements. Set to
            Investment Value if rider is issed post contract issue. Adjusted for
            withdrawals. Reset on Anniversaries by crediting interest based on
            the interest rate in the Growth Factor Calculation equation box.
          example: 15.65
        deferralBonus:
          type: number
          format: double
          description: The Deferral Bonus is configured a percent of a Deferred Bonus
            Base. It is set to the value on Feature Change, Premium, Annual
            Processing, GMWB Interest Adjustment transactions
          example: 12.65
        deferralBonusBase:
          type: number
          format: double
          description: Captures the basis for calculating the Deferral Bonus.Base used to
            calculate the annual Deferral Bonus.  Parameters defined in the
            Deferral tab (GMWB). Incremented by gross premiums.  If GMDB feature
            added post issue, then set to Investment Value.  Adjusted for
            withdrawals.  Reset on Contract Anniversaries equal to the Deferral
            Bonus Base Reset equation box.  Stored in the Transaction Log table.
          example: 13.12
        simpleInterestBase:
          type: number
          format: double
          description: Incremented by gross premiums.  Initialized to the Investment Value
            if GMDB added post issue.  Adjusted for excess withdrawals.  Set to
            Investment Value on Spousal Continuation.
          example: 14.21
      required:
        - currentBase
        - ratchetBase
        - growthBase
        - deferralBonus
        - deferralBonusBase
        - simpleInterestBase
    PolicyChargeType:
      type: string
      enum:
        - COSTOFINSURANCE
        - EXPENSECHARGE
        - UNITEXPENSECHARGE
        - PAYMENTCHARGE
        - COVERAGECHARGE
        - COVERAGECREDIT
        - PREMIUMTAX
        - SURRENDERCHARGE
        - MARKETVALUEADJUSTMENT
        - RIDERCHARGE
    ArrangementType:
      type: string
      enum:
        - PAYMENT
        - WITHDRAWAL
        - LOANREPAYMENT
        - REQUIREDMINIMUMDISTRIBUTION
        - PAYOUT
        - RIDERCLAIMWITHDRAWAL
    AllocationOption:
      type: string
      enum:
        - PRORATA
        - DOLLAR
        - SPECIFYPERCENTAGE
        - SPECIFIEDFUNDS
        - SPECIFIEDSEGMENTS
        - DEFAULT
        - PECKINGORDER
        - EARNINGSONLY
        - SPECIFICFUNDPERCENTAGE
        - FIXEDONLY
        - VARIABLEONLY
        - CURRENTHOLDINGS
    Reason:
      type: string
      enum:
        - PREMIUM
        - LOANREPAYMENT
        - FREEWITHDRAWALAMOUNT
        - WITHDRAWAL
        - ANNUITYPAYOUT
        - REQUIREDMINIMUMDISTRIBUTION
    DisbursementType:
      type: string
      enum:
        - GROSS
        - NET
        - NETNET
    PaymentForm:
      type: string
      enum:
        - DTCC
        - CREDITCARD
        - ACH
        - CHECK
        - WIRE
        - EXCHANGE
        - PREMIUMLOAN
    Frequency:
      type: string
      enum:
        - DAILY
        - EVERYTWOWEEKS
        - MONTHLY
        - SEMIANNUAL
        - QUARTERLY
        - ANNUAL
        - SINGLEPAYMENT
    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
    Party:
      type: object
      properties:
        partyRole:
          type: string
          enum:
            - PAYOR
            - PAYEE
          description: Note -Use systematicProgram.parties.partyRole field instead of
            systematicProgram.party.partyRole
          example: PAYOR
        partyId:
          type: string
          description: Note -Use systematicProgram.parties.partyId field instead of
            systematicProgram.party.partyId
          example: Party_PI_1
        percentage:
          type: number
          description: Note -Use systematicProgram.parties.percentage field instead of
            systematicProgram.party.percentage
          example: 10
          format: double
        bankId:
          type: string
          description: Note -Use systematicProgram.parties.bankId field instead of
            systematicProgram.party.bankId
          example: Bank_1
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
    SystematicProgramParties:
      type: object
      properties:
        partyRole:
          type: string
          enum:
            - PAYOR
            - PAYEE
          description: Role the program is tied to ( for example for money-in ,I could be
            owner or payor & for money-out it could be payee or beneficiary)
          example: PAYOR
        partyId:
          type: string
          description: Role ID of the party
          example: Party_PI_1
        percentage:
          type: number
          example: 10
          format: double
          description: The party percentage for this program
        bankId:
          type: string
          description: Bank Account Tied to the Party
          example: Bank_1
        addressId:
          type: string
          description: Address Tied to the Party ID. In case of payment method Check ,
            this field is required
          example: "1"
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        forBenefitOfOrForFurtherCredit:
          type: string
          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)
          example: TBD
        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.
    SystematicFundAllocation:
      type: object
      properties:
        allocationOption:
          $ref: "#/components/schemas/AllocationOption"
        amountType:
          $ref: "#/components/schemas/AmountType"
    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"
    FeatureType:
      type: string
      enum:
        - FREELOOK
        - LAPSEASSESSMENT
        - LAPSEPROTECTION
        - REINSTATEMENT
        - RATELOCK
        - ANNUITIZATION
        - NONFORFEITUREOPTION
        - CONVERSION
        - BILLING
        - CUSTOMFEATURE
        - SURPLUSDISTRIBUTION
    InvestmentType:
      type: string
      enum:
        - INVESTMENTFUND
        - INVESTMENTMODEL
        - CHARGEDEDUCTION
        - DEFAULTWITHDRAWAL
        - INTERESTRATERENEWAL
    FundAllocation:
      type: object
      properties:
        fundId:
          type: string
          description: A unique identifier for a specific fund account available for
            selection for Fund Allocation
          example: FUND001
        fundName:
          type: string
          description: The official business name of the specific fund account within the
            investment structure
          example: Everglades Fixed IUL Fund
        fundAccountType:
          $ref: "#/components/schemas/FundAccountType"
        allocationPercentage:
          type: number
          description: The percentage of total fund allocation assigned to a particular
            fund account
          example: 100
          format: double
        startDate:
          type: string
          format: date
          description: The date when the fund allocation /investment selection/fund
            becomes active
          example: 2023-01-01
        endDate:
          type: string
          format: date
          description: The date when the fund allocation /investment selection/fund is no
            longer valid
          example: 2023-01-01
    Fund:
      type: object
      properties:
        fundAccountType:
          $ref: "#/components/schemas/FundAccountType"
        fundId:
          type: string
          description: A unique identifier assigned to a specific fund account within the
            investment structure
          example: EVGL002
        fundName:
          type: string
          description: The official business name of the specific fund account within the
            investment structure
          example: S&P 500® Price Return Annual Point-to-Point with Participation Rate
            Account
        generalLedgerFundCode:
          type: string
          description: The accounting code used in the insurer’s general ledger for
            tracking fund transactions
          example: XE2
        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: 15.67
        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.
          format: double
          example: 13.27
        interestGuaranteedPeriod:
          type: number
          format: int32
          example: 3
          description: The length of time for which the guaranteed minimum interest rate
            is applicable
        guaranteedMinimumInterestRate:
          type: number
          format: double
          example: 1.52
          description: Retrieving data. Wait a few seconds and try to cut or copy again
        fundSegments:
          type: array
          items:
            $ref: "#/components/schemas/FundSegment"
    MatchSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: TBA unique identifier assigned to a specific match segment within
            the policy, used to track matched contributions or benefits
          example: Match1
        matchAccountValue:
          type: number
          description: The present value of the matched amount/bonus in the segment,
            reflecting any growth, deductions, or adjustments
          format: double
          example: 1.985116
        cumulativeMatchPaymentAmount:
          type: number
          description: The total amount of matching contributions or eligible bonus
            contributions accumulated over time within the policy
          format: double
          example: 1.98
        yearToDateMatchValue:
          type: number
          description: The amount of matching contributions or eligible bonus
            contributions accumulated over the current policy year
          format: double
          example: 1.98
        maximumLifeTimeVestingAmount:
          type: number
          description: The highest total amount that can be matched or highest total
            eligible bonus over the lifetime of the policy, as per policy terms
          format: double
          example: 300
        maximumAnnualVestingAmount:
          type: number
          description: The maximum amount that can be matched or eligible bonus for
            current policy year
          format: double
          example: 300
        minimumPaymentsForMatch:
          type: number
          description: The minimum amount that can be matched or minimum eligible bonus
            over the lifetime of the policy, as per policy terms
          format: double
          example: 0
        unvestedPremiumBonus:
          type: number
          example: 10.12
          description: This is the current value that is not fully vested to the policy
            holder. It would be recaptured partially/fully at
            withdrawal/surrender.
          format: double
        totalRecapturedPremiumBonus:
          type: number
          example: 10.12
          description: The total amount of the premium bonus that was deducted from the
            policy value as a result of a partial or full withdrawal during the
            vesting period.
          format: double
        matchVestingDate:
          type: string
          description: The date on which the matched amount/ bonus becomes fully vested,
            meaning the policyholder gains full ownership rights over the
            matched funds/bonus.(match amount/bonus becomes part of account
            value)
          format: date
          example: 2023-01-01
        generalLedgerFundCode:
          type: string
          description: The accounting code used in the insurer’s general ledger system to
            track match/bonus related transactions
          example: V2201
        vestingPeriod:
          type: number
          description: The duration required before matched amount/bonus are fully vested,
            typically expressed in years or policy terms
          format: int32
          example: 10
    LoanSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to each loan segment within the
            policy, representing a distinct loan transaction
          example: Loan1
        loanType:
          $ref: "#/components/schemas/LoanType"
        loanInterestType:
          $ref: "#/components/schemas/LoanInterestType"
        loanInterestDue:
          type: number
          format: double
          description: Calculated loan interest amount for a policy Owner to Pay before
            Anniversary
          example: 1000
        loanPrincipal:
          type: number
          format: double
          description: The original amount borrowed against the policy, excluding interest
          example: 1500
        loanBalance:
          type: number
          format: double
          description: The outstanding amount of the loan, including accrued interest if
            applicable
          example: 1500.72
        percentageOfAccountValue:
          type: number
          format: double
          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
        loanCollateralAmount:
          type: number
          format: double
          description: This amount represents the total portion of the policy’s account
            value that is used as collateral when a loan is taken against the
            policy. It is calculated as follows:Loan Collateral Amount = Loan
            Principal + Loan Collateral Accrued Interest When a policyholder
            takes a loan, this amount reflects the loaned portion of the account
            value that is set aside as collateral. Interest is applied to this
            collateralized amount at a specific rate as per the policy terms
          example: 1500.72
        preInvestmentSegmentAmount:
          type: number
          format: double
          description: TBD
          example: 0
        loanInterestRate:
          type: number
          format: double
          description: The interest rate charged on the loan balance, which may be fixed
            or variable based on policy terms
          example: 4.5
        loanCreditRate:
          type: number
          format: double
          description: The interest rate charged to any collateralized portion of the
            policy’s cash value
          example: 4
        loanAccruedInterest:
          type: number
          format: double
          description: The interest accumulated on the outstanding loan balance that has
            not yet been paid
          example: 0.72
        loanCollateralAccruedInterest:
          type: number
          format: double
          description: The interest accumulated on the collateral portion of account value.
          example: 0.16
        yearToDateLoanTaken:
          type: number
          format: double
          description: The amount of loans taken against the policy in the current policy
            year
          example: 1500
        generalLedgerFundCode:
          type: string
          description: The accounting code used in the insurer’s general ledger system to
            track loan fund
          example: V2201
        startDate:
          type: string
          format: date
          description: The date when the loan segment becomes active and enforceable
            within the policy
          example: 2023-01-01
        endDate:
          type: string
          format: date
          description: The date when the loan segment is fully repaid, closed, or no
            longer applicable
          example: 2023-01-01
    AllocationSurplusDistribution:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to each surplus distribution within
            the policy.
          example: s1
        surplusDistributionOption:
          $ref: "#/components/schemas/SurplusDistributionOption"
        surplusDistributionAmount:
          type: number
          format: double
          description: Surplus Distribution Amount that is calculated and credited.
          example: 1000
        currentCashValue:
          type: number
          format: double
          description: Cash Value component for Paid-Up Addition purchased with Surplus
            Distribution.
          example: 1500
        paidUpAdditionCoverage:
          type: number
          format: double
          description: Surplus Distribution buys small chunks of additional paid-up
            coverage. This is that coverage component.
          example: 1500.72
    TrackerType:
      type: string
      enum:
        - ERRORTRACKER
        - PAUSEDTRACKER
        - TXLIFE
        - POLICYSTATETRACKER
        - LOCKEDTRACKER
        - REVERSALREQUEST
        - POLICYISSUANCEERROR
    DefinitionOfLifeInsurance:
      type: string
      enum:
        - GPT
        - CVAT
    CoverageParticipants:
      type: object
      properties:
        partyId:
          type: string
          description: The Insured(s) ID is a unique identifier assigned to the insured
            individual(s) covered under a life insurance policy. It is used by
            insurance companies to track, process, and manage policyholder
            records efficiently
          example: Party_PI_1
        issueAge:
          type: integer
          format: int32
          description: Note-Use
            coverage.coverageLayers.coverageParticipants.partyAgeAtIssue field
            instead of issueAge
          example: 43
        partyAgeAtIssue:
          type: number
          format: int32
          description: The Party Age at Issue refers to the age of any party associated
            with a life insurance or annuity policy at the time the contract is
            issued
          example: 43
        riskClass:
          $ref: "#/components/schemas/RiskClass"
        substandardRating:
          $ref: "#/components/schemas/SubStandardRating"
        flatExtra:
          type: array
          items:
            $ref: "#/components/schemas/FlatExtra"
    FlatExtra:
      type: object
      properties:
        flatExtraType:
          type: string
          enum:
            - TEMPORARY
            - PERMANENT
          description: A Flat Extra is an additional dollar amount added to the base
            premium for a life insurance policy due to increased risk factors.
            Insurers apply Flat Extras on top of standard risk classifications
            (e.g., Preferred, Standard, or Substandard ratings).Flat Extras can
            be classified into two types "Temporary Flat Extra" and "Permanent
            Flat Extra"
        flatExtraDuration:
          type: number
          description: The Flat Extra Duration refers to the length of time a Flat Extra
            premium charge is applied to a life insurance policy. This duration
            depends on whether the Flat Extra is temporary or permanent, and it
            is determined by the insurer based on the risk factor associated
            with the insured
          format: int32
          example: 0
        flatExtraAmount:
          type: number
          description: The Flat Extra Amount refers to an additional charge per $1,000 of
            coverage that an insurer applies to a life insurance policy due to
            an increased risk factor. This extra cost is added on top of the
            standard premium and can be temporary or permanent, depending on the
            nature of the risk
          format: double
          example: 0
        flatExtraStartDate:
          type: string
          description: The Flat Extra Start Date refers to the date when an additional,
            fixed premium charge (Flat Extra) begins on a life insurance policy.
            This charge is typically applied due to an increased underwriting
            risk, such as hazardous occupations, high-risk hobbies, or medical
            conditions
          format: date
          example: 2023-01-01
    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
    FundAccountType:
      type: string
      enum:
        - FIXED
        - INDEXED
        - VARIABLE
        - INTERIM
    FundSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to a particular investment segment or
            bucket
          example: "3"
        fundId:
          type: string
          description: A unique identifier assigned to a specific fund account within the
            investment structure
          example: FundAccount1
        originalDepositAmount:
          type: number
          description: The initial amount deposited to the fund segment
          format: double
          example: 5.22
        originalDepositDate:
          type: string
          description: The date on which the original deposit was deposited into the fund
            segment.(date the segment created)
          format: date
          example: 2023-01-01
        depositDate:
          type: string
          description: The date on which the additional deposit was deposited into the
            fund segment
          format: date
          example: 2023-01-01
        depositAmount:
          type: number
          description: The additional amount deposited to the fund segment
          format: double
          example: 5.22
        currentAmount:
          type: number
          description: The value of the specific fund account segment, including all
            contributions, interest, and market changes
          format: double
          example: 161.81698
        renewalDate:
          type: string
          description: The date on which the segment may be renewed or reinvested
          format: date
          example: 2023-01-01
        numberOfUnits:
          type: number
          description: The number of units allocated in the fund segment (applicable to
            variable investments).
          format: int32
          example: 50
        sweepAccountId:
          type: string
          description: The designated account where the segment funds will be transferred
            upon sweep,maturity
          example: EVGL002
        interestEarningAmount:
          type: number
          format: double
          description: This amount is used for Index interest calculation when Index
            crediting method is "averaging"
          example: 161.81698
        appliedInterestRate:
          type: number
          format: double
          description: The interest rate used to calculate interest amount for segment as
            of the last transaction
          example: 161.81698
        startingPrice:
          type: number
          format: double
          description: The initial market/index price or unit value when the segment was
            created
          example: 1234.21321
        startingPriceDate:
          type: string
          format: date
          description: Date of Starting Price to be used for Index
          example: 2023-01-01
        endingPrice:
          type: number
          format: double
          description: The market/index price or unit value when the segment was
            matures/ends
          example: 2000.81698
        endingPriceDate:
          type: string
          format: date
          description: The date on which the ending price was determined
          example: 2023-01-01
        indexChangeRate:
          type: number
          format: double
          description: The Index Change Rate refers to the rate of change in the value of
            an external market index (such as the S&P 500, Nasdaq, etc.) that is
            used to calculate interest credits for an indexed insurance or
            annuity product. It represents the percentage increase or decrease
            in the selected index over a defined crediting period, and directly
            influences the policy's credited interest or return.
          example: 2000.81698
        depositAnniversaryPrice:
          type: number
          format: double
          description: The index value of the High Water Mark indexed fund segment as of
            the current contract anniversary date. This value represents the
            recorded index price used for interest crediting purposes on the
            anniversary.  Calculated and returned by LPS during the Anniversary
            transaction. Applicable only to High Water Mark indexed fund
            segments.  Updated on each Anniversary transaction to reflect the
            most recent anniversary index value.
          example: 100.5
        depositAnniversaryPriceDate:
          type: string
          format: date
          description: The date corresponding to the anniversaryPrice value - representing
            the date on which the High Water Mark Index was recorded for the
            current contract anniversary. Always in sync with anniversaryPrice
            and updated together in the same Anniversary transaction
          example: 2023-01-01
        startDate:
          type: string
          description: The date when the segment gets created
          format: date
          example: 2023-01-01
        endDate:
          type: string
          description: The date when the segment matures/ends
          format: date
          example: 2023-01-01
        maxPrice:
          type: number
          format: double
          description: Deprecated - kept for backward compatibility. Max Price = Max (IQ1,
            IQ2, IQ3, IQ4, …. IQN). where IQ1 denotes the index value at the 1st
            Quarterversary of the contract, IQ2 denotes the index value at the
            2nd Quarterversary of the contract and so on and IQN denotes the
            index value at the end of the guarantee period (N=4*Guarantee period
            of the fund)
          example: 1234.21321
        maxPriceDate:
          type: string
          format: date
          description: Deprecated - kept for backward compatibility. The corresponding
            date of the determined Quarterversary
          example: 2023-01-01
        rates:
          description: Array of rates associated with this fund segment
          type: array
          items:
            $ref: "#/components/schemas/Rate"
    LoanType:
      type: string
      enum:
        - PREFERRED
        - NONPREFERREDSTANDARDLOAN
        - INDEXLOAN
    LoanInterestType:
      type: string
      enum:
        - FIXED
        - INDEXED
        - VARIABLE
        - ADJUSTABLE
    SurplusDistributionOption:
      type: string
      description: This is the Surplus Distribution type it can be PUA, Cash etc.
      enum:
        - PAIDUPADDITION
        - CASH
    RiskClass:
      type: string
      enum:
        - ULTRANONTOBACCO
        - ELITENONTOBACCO
        - PREFERREDNONTOBACCO
        - STANDARDNONTOBACCO
        - STANDARDTOBACCO
        - STANDARDAGGREGATE
        - SUBSTANDARDNONTOBACCO
        - SUBSTANDARDTOBACCO
        - STANDARDPLUSNONTOBACCO
        - PREFERREDTOBACCO
        - STANDARDCONVERSIONTOBACCO
        - STANDARDCONVERSIONNONTOBACCO
    SubStandardRating:
      type: string
      enum:
        - TABLEA
        - TABLEB
        - TABLEC
        - TABLED
        - TABLEE
        - TABLEF
        - TABLEG
        - TABLEH
        - TABLEI
        - TABLEJ
        - TABLEK
        - TABLEL
        - TABLEM
        - TABLEN
        - TABLEO
        - TABLEP
        - NONETABLE
    Rate:
      type: object
      properties:
        rateType:
          type: string
          enum:
            - PARTICIPATION
            - CAP
            - SPREAD
            - TRIGGER
            - FLOOR
            - BONUS
            - GMIR
            - ILLUSTRATION
            - THRESHOLD
            - FUNDFEE
            - BAILOUT
            - BUFFER
            - COUPON
            - FIXED
          description: Rate Type identifies the classification of the rate that is being
            applied to a specific fund or account value within a life insurance
            or annuity policy. It defines how the interest, return, or crediting
            rate is determined for that fund.It helps dictate whether the rate
            is fixed, variable, index-linked, declared, or derived from another
            methodology, and plays a key role in calculating earnings or charges
            associated with the fund.
        currentRate:
          type: number
          format: double
          description: Current Rate refers to the actual interest rate or crediting rate
            being applied to a specific fund or account at the present time, as
            declared or calculated by the insurance carrier. It is used to
            determine how much interest or investment return will be credited to
            the contract or sub-account during the current crediting period.
          example: 33.28
        initialGuaranteedRate:
          type: number
          format: double
          description: The Initial Guaranteed Rate is the fixed interest rate promised by
            the insurance carrier at the start of the contract or fund
            allocation, which is guaranteed not to change for a specified
            initial period (e.g., 1, 3, 5, or 10 years), depending on the
            product terms.
          example: 33.28
        guaranteedMinimumRate:
          type: number
          format: double
          description: The Guaranteed Minimum Rate is the lowest interest rate that an
            insurance company is legally or contractually obligated to credit to
            the account value or specific fund of a life insurance or annuity
            policy—regardless of market performance or declared rates. This rate
            acts as a floor, providing downside protection for the policyholder
            by ensuring a minimum return is always credited to the contract.
          example: 33.28
        guaranteedMaximumRate:
          type: number
          format: double
          description: The Guaranteed Maximum Rate is the highest cap or participation
            rate that the insurer can declare, as specified in the contract. It
            does not represent an actual credited rate, but rather a ceiling to
            limit the insurer’s obligations. It works alongside guaranteed
            minimums and declared rates to balance customer upside potential
            with carrier risk management.
          example: 33.28
        rateEffectiveDate:
          type: string
          format: date
          description: The date on which the rate becomes effective for the specific fund
            segment.
          example: 2023-01-01
    BasePolicy:
      type: object
      properties:
        id:
          type: string
          description: Internal ID of the snapshot document
          example: 657bddcddc353e5fc5f45acd
        event:
          type: string
          description: The transaction type of the current policy snapshot
          example: InterestCreditMatch
        effectiveDate:
          type: string
          format: date
          description: Policy as of effective date (with pattern "yyyy-mm-dd").
          example: 2023-01-01
        carrierId:
          type: string
          description: The Carrier ID is a unique identifier assigned to an insurance
            company (carrier) that issues and underwrites a policy. It helps
            track, manage, and differentiate insurance providers within industry
            databases, regulatory systems, and digital platforms
          example: EVGL
        policyReferenceId:
          type: string
          description: Attribute name storing the policy reference id generated by RDE
            system
          example: 563f35b74b904f87a2e3ddbde0c3c541
        thirdPartyAdministratorId:
          type: string
          description: A Third-Party Administrator (TPA) ID is a unique identifier
            assigned to a third-party administrator that manages insurance
            policies, claims, and administrative functions on behalf of an
            insurance carrier. The TPA ID helps identify the organization
            handling policy services, claims processing, and compliance
            reporting
          example: tpa-12345
        policySource:
          type: string
          description: Policy Source refers to the origin or method by which a life
            insurance or annuity application was initiated and submitted, often
            used to identify how the policy entered the underwriting or issuance
            workflow. It reflects the channel, system, or direction of
            application flow, such as inbound or outbound underwriting
          example: Outbound
        policySourceDescription:
          type: string
          description: Policy Source Description provides detailed contextual information
            about the origin of a policy application, supplementing the
            high-level Policy Source value. It includes specific identifiers or
            descriptive data such as the underwriter's name, referral source,
            agency, platform, or originating system that processed or submitted
            the application
          example: Underwriter name
        product:
          $ref: "#/components/schemas/Product"
        banding:
          type: string
          enum:
            - NOPREMIUMBANDING
          description: Banding refers to the grouping of policy coverage amounts into
            different tiers or "bands" that impact pricing, underwriting, and
            premium rates. It is commonly used in life insurance pricing models
            to offer lower per-unit costs for higher coverage amounts
        matchBonusVersion:
          type: string
          description: The Match Bonus Version refers to the specific version of match
            bonus rates applied to a policy or annuity, based on the release
            date of that rate structure. It ensures that the correct bonus
            percentage, eligibility criteria, and payout structure are applied
            according to the policy’s issue date and applicable rate updates
          example: 2021.10.15
        packageId:
          type: string
          description: Package Id identifies the investment package applicable to the
            policy, defining the funds and investment options available. The
            package is determined at the policy level and may change in response
            to policy events or configuration changes.
          example: "1"
        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
        policyTerm:
          type: number
          format: int32
          description: The Policy Term refers to the number of years a life insurance or
            annuity contract remains active under its defined premium payment
            structure. It can represent the fixed duration of a term policy or
            the maximum period for premium payments in a permanent or flexible
            premium plan
          example: 20
        policyYear:
          type: number
          format: int32
          description: The Policy Year refers to the number of years that have passed
            since the policy’s effective date. It is used to track policy
            duration, benefits, premium schedules, surrender charges, and other
            contractual provisions
          example: 1
        monthOfYear:
          type: number
          format: int32
          description: The Policy Months refers to the number of months that have passed
            since the policy’s effective date. It is used to track policy
            duration, premium schedules, benefits, and contractual provisions on
            a monthly basis
          example: 2
        policyNumber:
          type: string
          description: The Policy Number is a unique identifier assigned to a life
            insurance or annuity contract by the insurance carrier. It serves as
            the official reference number for tracking, managing, and servicing
            the policy throughout its lifetime
          example: POLICY1234567890
        parentPolicyNumber:
          type: string
          description: The Parent Policy Number is the unique identifier of the original
            or source insurance policy or contract from which the current policy
            has been derived, continued, or linked. It serves as a reference
            point for tracking policy lineage, inheritance, or transformation,
            and is used to establish relationships between multiple policies
          example: POLICY12345
        priorPolicyNumber:
          type: string
          description: The unique identifier of the original policy number of a policy in
            the case of a conversion, replacement, exchange or reissue
          example: POLICY123450
        policyStatus:
          $ref: "#/components/schemas/PolicyStatus"
        restrictStatus:
          $ref: "#/components/schemas/RestrictStatus"
        issueType:
          $ref: "#/components/schemas/IssueType"
        issueState:
          $ref: "#/components/schemas/State"
        currency:
          $ref: "#/components/schemas/Currency"
        policyDates:
          $ref: "#/components/schemas/PolicyDates"
        costBasis:
          $ref: "#/components/schemas/CostBasis"
        fixedCostPeriod:
          type: number
          format: int32
          example: 10
          description: The Fixed Cost Period refers to the initial guaranteed period
            (e.g., 10, 20, or 30 years) after the policy start date during which
            the Protection Costs (Cost of Insurance - COI) remain unchanged or
            are not charged. Once this period ends, the policy enters the Post
            Fixed Period, where costs may increase
        fixedCostPeriodOption:
          type: number
          format: int64
          description: Option for fixed cost period calculation
          example: 1
        fixedCostPeriodUnit:
          $ref: "#/components/schemas/FixedCostPeriodUnit"
        fixedCostPolicyYearEnd:
          type: number
          format: int32
          example: 2
          description: This field will be calculated for each policy. If unit is Years,
            this field can be equal to Fixed Cost Period. If unit is AGE, then
            the calculation will be Fixed Cost Period minus Issue Age.
        fixedCostPeriodEndYear:
          type: number
          format: int32
          example: 10
          description: The calculated end year of the Fixed Cost Period. If
            fixedCostPeriodUnit is YEARS, this equals fixedCostPeriod. If
            fixedCostPeriodUnit is AGE, this is calculated as fixedCostPeriod
            minus Issue Age. This field is calculated by LPS for each policy.
        commissionOption:
          $ref: "#/components/schemas/CommissionOption"
        accountValues:
          $ref: "#/components/schemas/AccountValues"
        loanValues:
          $ref: "#/components/schemas/LoanValues"
        withdrawalValues:
          $ref: "#/components/schemas/WithdrawalValues"
        marketValueAdjustment:
          $ref: "#/components/schemas/MarketValueAdjustment"
        requiredMinimumDistribution:
          $ref: "#/components/schemas/RequiredMinimumDistribution"
        testValues:
          $ref: "#/components/schemas/TestValues"
        timestamp:
          type: string
          format: date-time
          example: 2023-01-01T12:00:00.000Z
        deathBenefit:
          $ref: "#/components/schemas/DeathBenefit"
        coverage:
          $ref: "#/components/schemas/PolicyCoverage"
        riders:
          type: array
          items:
            $ref: "#/components/schemas/Rider"
        charges:
          type: array
          items:
            $ref: "#/components/schemas/PolicyCharges"
        systematicPrograms:
          type: array
          items:
            $ref: "#/components/schemas/SystematicProgram"
        policyFeatures:
          type: array
          items:
            $ref: "#/components/schemas/PolicyFeature"
        allocation:
          $ref: "#/components/schemas/Distribution"
        surplusDistribution:
          $ref: "#/components/schemas/PolicySnapshotSurplusDistribution"
        version:
          type: integer
          format: int32
          description: Version number
          example: 1
        policyContractState:
          $ref: "#/components/schemas/PolicyContractState"
```
