Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
8.0 kB
2
Indexable
Never
using System.ComponentModel;

namespace Contracts.Models.Submissions.Pages.V2;

public class ContractInformationDTO
{
    public ContractDetailsDTO ContractDetails { get; set; }
}

public class ContractDetailsDTO
{
    public ContractDataDTO ContractData { get; set; }
    public RegulatoryInformationDTO RegulatoryInformation { get; set; }
}

public class ContractDataDTO
{
    public decimal ContractualExchangeRate { get; set; }
    public ISOCurrencyV1 SettlementCurrency { get; set; }
    public decimal OrderPercentage { get; set; }
    public DateOnly SettlementDueDate { get; set; }
    public decimal BrokerSharePercentage { get; set; }
    public int PremiumCreditPeriodInDays { get; set; }
    public ClaimsAgreementBasisV1 ClaimsAgreementBasis { get; set; }
    public int YearOfAccount { get; set; }
    public string? OriginalOrderPercentage { get; set; }
    public ISOCurrencyV1 TaxSettlementCurrency { get; set; }
    public bool IsALloydsRenewal { get; set; }
    public string? ChoiceOfLaw { get; set; }
    public string? ChoiceOfJurisdiction { get; set; }
}

public enum ClaimsAgreementBasisV1
{
    None = 0,
    [Description("Lloyd's Claims Scheme 2010")] 
    LloydsClaimsScheme2010,
    [Description("Single Claims Agreement Party")] 
    SingleClaimsAgreementParty,
    [Description("(IUA Claims Agreement Practices")] 
    IUAClaimsAgreementPractices,
    [Description("Individual Insurer Agreement")] 
    IndividualInsurerAgreement,
    [Description("Lloyd's Claim Scheme 2006")] 
    LloydsClaimScheme2006
}

public class RegulatoryInformationDTO
{
    public UsClassificationV1 UsClassification { get; set; }
    public DistributionChannelV1 DistributionChannel { get; set; }
    public LloydsPlatformV1 LloydsPlatform { get; set; }
    public DateOnly TRIAAcceptDeclineDate { get; set; }
    public SolvencyIILineOfBusinessV1 SolvencyII { get; set; }
    public PoolSchemeV1 PoolScheme { get; set; }

}

public enum UsClassificationV1
{
    None = 0,
    [Description("Us Non-Regulated - Non-US Risk")] 
    UsNonRegulatedNonUSRisk,
    [Description("Us Surplus Lines")] 
    UsSurplusLines,
    [Description("Us Reinsurance")] 
    UsReinsurance,
    [Description("Us Non-Regulated - Industrial Insured")] 
    UsNonRegulatedIndustrialInsured,
    [Description("Us Non-Regulated - MATE Exemption")] 
    UsNonRegulatedMATEExemption,
    [Description("US Non-Regulated - Independent Procurement")] 
    USNonRegulatedIndependentProcurement,
    [Description("US Virgin Islands Licensed")] 
    USVirginIslandsLicensed
}

public enum DistributionChannelV1
{
    None = 0,
    [Description("Direct marketing via telesales or call centre of the insurer")] 
    TelesalesCallCentreOfTheInsurer,
    [Description("Direct marketing via telesales or call centre of affinity scheme")] 
    TelesalesCallCentreOfAffinityScheme,
    [Description("Direct marketing via telesales or call centres of any other third party")] 
    TelesalesCallCentresOfAnyOtherThirdParty,
    [Description("Direct marketing via internet")] 
    Internet,
    [Description("Marketing via aggregator and or lead generator")] 
    AggregatoreAndOrLeadGenerator,
    [Description("Face-to-face by insurer’s own individual representatives (“tied agents”)")] 
    FaceToFaceOwnIndividualRepresentatives,
    [Description("Face-to-face by insurer's juristic representatives")] 
    FaceToFaceJuristicRepresentatives,
    [Description("Face-to-face by independent intermediaries (FSP’s that are not representatives of the insurer)")] 
    FaceToFaceIndependentIntermediaries,
    [Description("Other")] 
    Other
}

public enum LloydsPlatformV1
{
    None = 0,
    [Description("Canadian Attorney in Fact")] 
    CanadianAttorneyInFact,
    [Description("Lloyd's Asia")] 
    LloydsAsia,
    [Description("Lloyd's China Reinsurance")] 
    LloydsChinaReinsurance,
    [Description("Lloyd's Japan")] 
    LloydsJapan,
    [Description("Lloyd's Insurance Company")] 
    LloydsInsuranceCompany,
    [Description("Lloyd's of London")] 
    LloydsOfLondon
}

public enum SolvencyIILineOfBusinessV1
{
    None = 0,
    [Description("Direct - Assistance")] 
    DirectAssistance,
    [Description("Other Life insurance - Death")] 
    OtherLifeInsuranceDeath,
    [Description("Proportional RI - Worker's Compensation")] 
    ProportionalRIWorkersCompensation,
    [Description("Proportional RI - Lloyd's Japan")] 
    ProportionalRILloydsJapan,
    [Description("Proportional RI Assistance")] 
    ProportionalRIAssistance,
    [Description("Proportional RI - Other Motor")] 
    ProportionalRIOtherMotor,
    [Description("Proportional RI - Motor vehicle liability")] 
    ProportionalRIMotorVehicleLiability,
    [Description("Proportional RI - Credit and suretyship")] 
    ProportionalRICreditAndSuretyship,
    [Description("Proportional RI - Fire and other damage to property")] 
    ProportionalRIFireandotherdamagetoproperty,
    [Description("Proportional RI - General liability")] 
    ProportionalRIGeneralliability,
    [Description("Proportional RI - Income protection")] 
    ProportionalRIIncomeprotection,
    [Description("Proportional RI - Miscellaneous financial loss")] 
    ProportionalRIMiscellaneousfinancialloss,
    [Description("Proportional RI - Marine and aviation and transport")] 
    ProportionalRIMarineandaviationandtransport,
    [Description("Proportional RI - Medical expenses")] 
    ProportionalRIMedicalexpenses,
    [Description("Proportional RI - Legal expenses")] 
    ProportionalRILegalexpenses,
    [Description("Other Life reinsurance - Death")] 
    OtherLifereinsuranceDeath,
    [Description("Non-Proportional RI - Property reinsurance")] 
    NonProportionalRIPropertyreinsurance,
    [Description("Non-Proportional RI -Marine and aviation and transport reinsurance")] 
    NonProportionalRIMarineandaviationandtransportreinsurance,
    [Description("Non-Proportional RI - Lloyd's Japan")] 
    NonProportionalRILloydsJapan,
    [Description("Non-Proportional RI - Health reinsurance")] 
    NonProportionalRIHealthreinsurance,
    [Description("Non-Proportional RI - Casualty reinsurance")] 
    NonProportionalRICasualtyreinsurance,
    [Description("Non-Life Annuities relating to health")] 
    NonLifeAnnuitiesrelatingtohealth,
    [Description("Non-Life Annuities other than relating to health")] 
    NonLifeAnnuitiesotherthanrelatingtohealth,
    [Description("Direct - Workers' compensation")] 
    DirectWorkerscompensation,
    [Description("Direct - RITC")] 
    DirectRITC,
    [Description("Direct - Other Motor")] 
    DirectOtherMotor,
    [Description("Direct - Motor vehicle liability")] 
    DirectMotorVehicleLiability,
    [Description("Direct - Miscellaneous financial loss")] 
    DirectMiscellaneousFinancialLoss,
    [Description("Direct - Medical expenses")] 
    DirectMedicalExpenses,
    [Description("Direct - Marine and aviation and transport")] 
    DirectMarineAndAviationAndTransport,
    [Description("Direct - Lloyd's Japan")] 
    DirectLloydsJapan,
    [Description("Direct - Legal expenses")] 
    DirectLegalExpenses,
    [Description("Direct - Income protection")] 
    DirectIncomeProtection,
    [Description("Direct - General liability")] 
    DirectGeneralLiability,
    [Description("Direct - Fireand other damage to property")] 
    DirectFireandOtherDamageToProperty,
    [Description("Direct - Credit and suretyship")] 
    DirectCreditandSuretyship
}

public enum PoolSchemeV1
{
    None = 0,
    [Description("TRIA (USA risks)")] 
    TRIA,
    [Description("Pool Re (UK risks)")] 
    PoolRe,
    [Description("GAREAT (French risks)")] 
    GAREAT,
    [Description("Flood Re (UK risks)")] 
    FloodRe,
    [Description("Australian Reinsurance Pool Corporation")] 
    AustralianReinsurancePoolCorporation
}