Source code for ace.centralize.models.application

"""
    Application models for Centralize

    Models for insurance applications (create, update, terminate).
"""
from datetime import date
from typing import List, Optional

from ace.centralize.models.base import ModelBase
from ace.centralize.models.policy import (
    CreatePolicyObject,
    UpdatePolicyObject,
    TerminateCoverageObject,
)


[docs] class CreateApplicationObject(ModelBase):
[docs] def __init__( self, application_type_id: int, application_number: Optional[str] = None, approved_date: Optional[date] = None, cash_with_application_amount: Optional[float] = None, declined_date: Optional[date] = None, delivery_method_id: Optional[int] = None, effective_date: Optional[date] = None, interview_type_id: Optional[int] = None, is_calculated_in_production: Optional[bool] = None, is_delivered: Optional[bool] = None, is_replacement: Optional[bool] = None, issue_date: Optional[date] = None, reference_number: Optional[str] = None, signed_date: Optional[date] = None, signed_jurisdiction_id: Optional[int] = None, submission_type_id: Optional[int] = None, submitted_date: Optional[date] = None, sub_status_id: Optional[int] = None, termination_date: Optional[date] = None, termination_reason_id: Optional[int] = None, policy: Optional[CreatePolicyObject] = None, ): self.applicationTypeId = application_type_id if application_number: self.applicationNumber = application_number if approved_date: self.approvedDate = approved_date if cash_with_application_amount: self.cashWithApplicationAmount = cash_with_application_amount if declined_date: self.declinedDate = declined_date if delivery_method_id: self.deliveryMethodId = delivery_method_id if effective_date: self.effectiveDate = effective_date if interview_type_id: self.interviewTypeId = interview_type_id if is_calculated_in_production: self.isCalculatedInProduction = is_calculated_in_production if is_delivered: self.isDelivered = is_delivered if is_replacement: self.isReplacement = is_replacement if issue_date: self.issueDate = issue_date if reference_number: self.referenceNumber = reference_number if signed_date: self.signedDate = signed_date if signed_jurisdiction_id: self.signedJurisdictionId = signed_jurisdiction_id if submission_type_id: self.submissionTypeId = submission_type_id if submitted_date: self.submittedDate = submitted_date if sub_status_id: self.subStatusId = sub_status_id if termination_date: self.terminationDate = termination_date if termination_reason_id: self.terminationReasonId = termination_reason_id if policy: self.policy = policy
[docs] class UpdateApplicationObject(ModelBase):
[docs] def __init__( self, application_id: int = 0, application_number: Optional[str] = None, application_type_id: Optional[int] = None, approved_date: Optional[date] = None, cash_with_application_amount: Optional[float] = None, declined_date: Optional[date] = None, delivery_method_id: Optional[int] = None, effective_date: Optional[date] = None, interview_type_id: Optional[int] = None, is_calculated_in_production: Optional[bool] = None, is_delivered: Optional[bool] = None, is_replacement: Optional[bool] = None, issued_date: Optional[date] = None, reference_number: Optional[str] = None, signed_date: Optional[date] = None, signed_jurisdiction_id: Optional[int] = None, status_id: Optional[int] = None, sub_status_id: Optional[int] = None, submission_type_id: Optional[int] = None, submitted_date: Optional[date] = None, termination_date: Optional[date] = None, termination_reason_id: Optional[int] = None, policy: Optional[UpdatePolicyObject] = None, ): self.id = application_id if application_number: self.applicationNumber = application_number if application_type_id: self.applicationTypeId = application_type_id if approved_date: self.approvedDate = approved_date if cash_with_application_amount: self.cashWithApplicationAmount = cash_with_application_amount if declined_date: self.declinedDate = declined_date if delivery_method_id: self.deliveryMethodId = delivery_method_id if effective_date: self.effectiveDate = effective_date if interview_type_id: self.interviewTypeId = interview_type_id if is_calculated_in_production: self.isCalculatedInProduction = is_calculated_in_production if is_delivered: self.isDelivered = is_delivered if is_replacement: self.isReplacement = is_replacement if issued_date: self.issuedDate = issued_date if reference_number: self.referenceNumber = reference_number if signed_date: self.signedDate = signed_date if signed_jurisdiction_id: self.signedJurisdictionId = signed_jurisdiction_id if status_id: self.statusId = status_id if sub_status_id: self.subStatusId = sub_status_id if submission_type_id: self.submissionTypeId = submission_type_id if submitted_date: self.submittedDate = submitted_date if termination_date: self.terminationDate = termination_date if termination_reason_id: self.terminationReasonId = termination_reason_id if policy: self.policy = policy
[docs] class TerminateApplicationObject(ModelBase):
[docs] def __init__( self, termination_date: Optional[date] = None, termination_reason_id: Optional[int] = None, application_id: int = 0, coverages: Optional[List[TerminateCoverageObject]] = None, signed_date: Optional[date] = None, declined_date: Optional[date] = None ): self.id = application_id self.terminationDate = termination_date self.terminationReasonId = termination_reason_id self.declinedDate = declined_date if signed_date: self.signedDate = signed_date self.policy = { "id": application_id, "terminationDate": termination_date, "terminationReasonId": termination_reason_id, "coveragesToUpdate": coverages }