# -*- coding: utf-8 -*-

"""
    easybimehlanding

    This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
"""


class LiabilityDoctorInsurancePolicyExtendView(object):

    """Implementation of the 'LiabilityDoctorInsurancePolicyExtendView' model.

    TODO: type model description here.

    Attributes:
        liability_doctor_coverage_rate_id (string): شناسه ی نرخ پوشش پزشکی
        activity_area_param_id (string): شناسه ی دوره های فعالیت
        expertise_param_id (string): شاسه ی تخصص
        commitment_ceiling_param_id (string): شناسه ی سقف تعهد
        insurance_risk_level_id (string): شناسه ی تخفیف
        current_insurance_deadline (string): تاریخ پایان بیمه نامه
        risk_level_discount_rate (string): نرخ تخفیف پوشش
        physical_commitment (string): خسارت جانی
        discount_rate (string): نرخ تخفیف
        base_premium (string): پوشش پایه
        all_premium (string): پوشش ها
        all_extra_values (string): اطلاعات اضافه
        insurance_company_discount_rate (int): نرخ تخفیف شرکت بیمه
        all_discount (int): لیست تخفیفات
        exchange_premium (int): نوع ارز حق بیمه
        doctor_name (string): نام پزشک
        medical_system_no (string): شماره ی نظام پزشکی
        address (string): آدرس
        is_resident (bool): آیا رزیدنت است؟
        is_student (bool): آیا دانشجو است؟
        has_clinic (string): دارای مطب؟
        meta_media_medical_system_license_id (string): شناسه ی گواهی نظام
            پزشکی
        meta_media_medical_system_license_url (string): آدرس گواهی نظام پزشکی
        meta_media_national_card_id (string): شناسه ی کارت ملی
        meta_media_national_card_url (string): آدرس کارت ملی
        meta_media_current_insurance_policy_id (string): شناسه ی بیمه نامه ی
            کنونی
        meta_media_current_insurance_policy_url (string): آدرس بیمه نامه ی
            کنونی
        activity_area_enum_name (string): شناسه ی دوره های بیمه نامه
        activity_area_title (string): نام دوره ی بیمه نامه
        expertise_title (string): نام تخصص
        docter_status_title (string): وضعیت پزشک

    """

    # Create a mapping from Model property names to API property names
    _names = {
        "insurance_company_discount_rate":'insuranceCompanyDiscountRate',
        "all_discount":'allDiscount',
        "exchange_premium":'exchangePremium',
        "is_resident":'isResident',
        "is_student":'isStudent',
        "liability_doctor_coverage_rate_id":'liabilityDoctorCoverageRateId',
        "activity_area_param_id":'activityAreaParamId',
        "expertise_param_id":'expertiseParamId',
        "commitment_ceiling_param_id":'commitmentCeilingParamId',
        "insurance_risk_level_id":'insuranceRiskLevelId',
        "current_insurance_deadline":'currentInsuranceDeadline',
        "risk_level_discount_rate":'riskLevelDiscountRate',
        "physical_commitment":'physicalCommitment',
        "discount_rate":'discountRate',
        "base_premium":'basePremium',
        "all_premium":'allPremium',
        "all_extra_values":'allExtraValues',
        "doctor_name":'doctorName',
        "medical_system_no":'medicalSystemNO',
        "address":'address',
        "has_clinic":'hasClinic',
        "meta_media_medical_system_license_id":'metaMediaMedicalSystemLicenseId',
        "meta_media_medical_system_license_url":'metaMediaMedicalSystemLicenseUrl',
        "meta_media_national_card_id":'metaMediaNationalCardId',
        "meta_media_national_card_url":'metaMediaNationalCardUrl',
        "meta_media_current_insurance_policy_id":'metaMediaCurrentInsurancePolicyId',
        "meta_media_current_insurance_policy_url":'metaMediaCurrentInsurancePolicyUrl',
        "activity_area_enum_name":'activityAreaEnumName',
        "activity_area_title":'activityAreaTitle',
        "expertise_title":'expertiseTitle',
        "docter_status_title":'docterStatusTitle'
    }

    def __init__(self,
                 insurance_company_discount_rate=None,
                 all_discount=None,
                 exchange_premium=None,
                 is_resident=None,
                 is_student=None,
                 liability_doctor_coverage_rate_id=None,
                 activity_area_param_id=None,
                 expertise_param_id=None,
                 commitment_ceiling_param_id=None,
                 insurance_risk_level_id=None,
                 current_insurance_deadline=None,
                 risk_level_discount_rate=None,
                 physical_commitment=None,
                 discount_rate=None,
                 base_premium=None,
                 all_premium=None,
                 all_extra_values=None,
                 doctor_name=None,
                 medical_system_no=None,
                 address=None,
                 has_clinic=None,
                 meta_media_medical_system_license_id=None,
                 meta_media_medical_system_license_url=None,
                 meta_media_national_card_id=None,
                 meta_media_national_card_url=None,
                 meta_media_current_insurance_policy_id=None,
                 meta_media_current_insurance_policy_url=None,
                 activity_area_enum_name=None,
                 activity_area_title=None,
                 expertise_title=None,
                 docter_status_title=None):
        """Constructor for the LiabilityDoctorInsurancePolicyExtendView class"""

        # Initialize members of the class
        self.liability_doctor_coverage_rate_id = liability_doctor_coverage_rate_id
        self.activity_area_param_id = activity_area_param_id
        self.expertise_param_id = expertise_param_id
        self.commitment_ceiling_param_id = commitment_ceiling_param_id
        self.insurance_risk_level_id = insurance_risk_level_id
        self.current_insurance_deadline = current_insurance_deadline
        self.risk_level_discount_rate = risk_level_discount_rate
        self.physical_commitment = physical_commitment
        self.discount_rate = discount_rate
        self.base_premium = base_premium
        self.all_premium = all_premium
        self.all_extra_values = all_extra_values
        self.insurance_company_discount_rate = insurance_company_discount_rate
        self.all_discount = all_discount
        self.exchange_premium = exchange_premium
        self.doctor_name = doctor_name
        self.medical_system_no = medical_system_no
        self.address = address
        self.is_resident = is_resident
        self.is_student = is_student
        self.has_clinic = has_clinic
        self.meta_media_medical_system_license_id = meta_media_medical_system_license_id
        self.meta_media_medical_system_license_url = meta_media_medical_system_license_url
        self.meta_media_national_card_id = meta_media_national_card_id
        self.meta_media_national_card_url = meta_media_national_card_url
        self.meta_media_current_insurance_policy_id = meta_media_current_insurance_policy_id
        self.meta_media_current_insurance_policy_url = meta_media_current_insurance_policy_url
        self.activity_area_enum_name = activity_area_enum_name
        self.activity_area_title = activity_area_title
        self.expertise_title = expertise_title
        self.docter_status_title = docter_status_title


    @classmethod
    def from_dictionary(cls,
                        dictionary):
        """Creates an instance of this model from a dictionary

        Args:
            dictionary (dictionary): A dictionary representation of the object as
            obtained from the deserialization of the server's response. The keys
            MUST match property names in the API description.

        Returns:
            object: An instance of this structure class.

        """
        if dictionary is None:
            return None

        # Extract variables from the dictionary
        insurance_company_discount_rate = dictionary.get('insuranceCompanyDiscountRate')
        all_discount = dictionary.get('allDiscount')
        exchange_premium = dictionary.get('exchangePremium')
        is_resident = dictionary.get('isResident')
        is_student = dictionary.get('isStudent')
        liability_doctor_coverage_rate_id = dictionary.get('liabilityDoctorCoverageRateId')
        activity_area_param_id = dictionary.get('activityAreaParamId')
        expertise_param_id = dictionary.get('expertiseParamId')
        commitment_ceiling_param_id = dictionary.get('commitmentCeilingParamId')
        insurance_risk_level_id = dictionary.get('insuranceRiskLevelId')
        current_insurance_deadline = dictionary.get('currentInsuranceDeadline')
        risk_level_discount_rate = dictionary.get('riskLevelDiscountRate')
        physical_commitment = dictionary.get('physicalCommitment')
        discount_rate = dictionary.get('discountRate')
        base_premium = dictionary.get('basePremium')
        all_premium = dictionary.get('allPremium')
        all_extra_values = dictionary.get('allExtraValues')
        doctor_name = dictionary.get('doctorName')
        medical_system_no = dictionary.get('medicalSystemNO')
        address = dictionary.get('address')
        has_clinic = dictionary.get('hasClinic')
        meta_media_medical_system_license_id = dictionary.get('metaMediaMedicalSystemLicenseId')
        meta_media_medical_system_license_url = dictionary.get('metaMediaMedicalSystemLicenseUrl')
        meta_media_national_card_id = dictionary.get('metaMediaNationalCardId')
        meta_media_national_card_url = dictionary.get('metaMediaNationalCardUrl')
        meta_media_current_insurance_policy_id = dictionary.get('metaMediaCurrentInsurancePolicyId')
        meta_media_current_insurance_policy_url = dictionary.get('metaMediaCurrentInsurancePolicyUrl')
        activity_area_enum_name = dictionary.get('activityAreaEnumName')
        activity_area_title = dictionary.get('activityAreaTitle')
        expertise_title = dictionary.get('expertiseTitle')
        docter_status_title = dictionary.get('docterStatusTitle')

        # Return an object of this model
        return cls(insurance_company_discount_rate,
                   all_discount,
                   exchange_premium,
                   is_resident,
                   is_student,
                   liability_doctor_coverage_rate_id,
                   activity_area_param_id,
                   expertise_param_id,
                   commitment_ceiling_param_id,
                   insurance_risk_level_id,
                   current_insurance_deadline,
                   risk_level_discount_rate,
                   physical_commitment,
                   discount_rate,
                   base_premium,
                   all_premium,
                   all_extra_values,
                   doctor_name,
                   medical_system_no,
                   address,
                   has_clinic,
                   meta_media_medical_system_license_id,
                   meta_media_medical_system_license_url,
                   meta_media_national_card_id,
                   meta_media_national_card_url,
                   meta_media_current_insurance_policy_id,
                   meta_media_current_insurance_policy_url,
                   activity_area_enum_name,
                   activity_area_title,
                   expertise_title,
                   docter_status_title)


