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

module EasyBimehLanding
  # FireInsurancePolicyFilter Model.
  class FireInsurancePolicyFilter < BaseModel
    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :insurance_policy_type

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :insurance_extra_coverage_ids

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :value_per_square_meter_coverage_rate_id

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :value_of_appliances_furnishing

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :city_id

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :skeleton_type_id

    # TODO: Write general description for this method
    # @return [Integer]
    attr_accessor :building_type_id

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :building_area

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :only_appliances_furnishings

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :policy_term_id

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :insurance_centre_sub_domain_name

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :insurance_centre_id

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :insurance_company_id

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :gift_code

    # TODO: Write general description for this method
    # @return [String]
    attr_accessor :customer_user_id

    # A mapping from model property names to API property names.
    def self.names
      @_hash = {} if @_hash.nil?
      @_hash['insurance_policy_type'] = 'insurancePolicyType'
      @_hash['insurance_extra_coverage_ids'] = 'insuranceExtraCoverageIds'
      @_hash['value_per_square_meter_coverage_rate_id'] =
        'valuePerSquareMeterCoverageRateId'
      @_hash['value_of_appliances_furnishing'] = 'valueOfAppliancesFurnishing'
      @_hash['city_id'] = 'cityId'
      @_hash['skeleton_type_id'] = 'skeletonTypeId'
      @_hash['building_type_id'] = 'buildingTypeId'
      @_hash['building_area'] = 'buildingArea'
      @_hash['only_appliances_furnishings'] = 'onlyAppliancesFurnishings'
      @_hash['policy_term_id'] = 'policyTermId'
      @_hash['insurance_centre_sub_domain_name'] =
        'insuranceCentreSubDomainName'
      @_hash['insurance_centre_id'] = 'insuranceCentreId'
      @_hash['insurance_company_id'] = 'insuranceCompanyId'
      @_hash['gift_code'] = 'giftCode'
      @_hash['customer_user_id'] = 'customerUserId'
      @_hash
    end

    def initialize(building_type_id = nil,
                   insurance_policy_type = nil,
                   insurance_extra_coverage_ids = nil,
                   value_per_square_meter_coverage_rate_id = nil,
                   value_of_appliances_furnishing = nil,
                   city_id = nil,
                   skeleton_type_id = nil,
                   building_area = nil,
                   only_appliances_furnishings = nil,
                   policy_term_id = nil,
                   insurance_centre_sub_domain_name = nil,
                   insurance_centre_id = nil,
                   insurance_company_id = nil,
                   gift_code = nil,
                   customer_user_id = nil)
      @insurance_policy_type = insurance_policy_type
      @insurance_extra_coverage_ids = insurance_extra_coverage_ids
      @value_per_square_meter_coverage_rate_id =
        value_per_square_meter_coverage_rate_id
      @value_of_appliances_furnishing = value_of_appliances_furnishing
      @city_id = city_id
      @skeleton_type_id = skeleton_type_id
      @building_type_id = building_type_id
      @building_area = building_area
      @only_appliances_furnishings = only_appliances_furnishings
      @policy_term_id = policy_term_id
      @insurance_centre_sub_domain_name = insurance_centre_sub_domain_name
      @insurance_centre_id = insurance_centre_id
      @insurance_company_id = insurance_company_id
      @gift_code = gift_code
      @customer_user_id = customer_user_id
    end

    # Creates an instance of the object from a hash.
    def self.from_hash(hash)
      return nil unless hash

      # Extract variables from the hash.
      building_type_id = hash['buildingTypeId']
      insurance_policy_type = hash['insurancePolicyType']
      insurance_extra_coverage_ids = hash['insuranceExtraCoverageIds']
      value_per_square_meter_coverage_rate_id =
        hash['valuePerSquareMeterCoverageRateId']
      value_of_appliances_furnishing = hash['valueOfAppliancesFurnishing']
      city_id = hash['cityId']
      skeleton_type_id = hash['skeletonTypeId']
      building_area = hash['buildingArea']
      only_appliances_furnishings = hash['onlyAppliancesFurnishings']
      policy_term_id = hash['policyTermId']
      insurance_centre_sub_domain_name = hash['insuranceCentreSubDomainName']
      insurance_centre_id = hash['insuranceCentreId']
      insurance_company_id = hash['insuranceCompanyId']
      gift_code = hash['giftCode']
      customer_user_id = hash['customerUserId']

      # Create object from extracted values.
      FireInsurancePolicyFilter.new(building_type_id,
                                    insurance_policy_type,
                                    insurance_extra_coverage_ids,
                                    value_per_square_meter_coverage_rate_id,
                                    value_of_appliances_furnishing,
                                    city_id,
                                    skeleton_type_id,
                                    building_area,
                                    only_appliances_furnishings,
                                    policy_term_id,
                                    insurance_centre_sub_domain_name,
                                    insurance_centre_id,
                                    insurance_company_id,
                                    gift_code,
                                    customer_user_id)
    end
  end
end
