text: /**
   * EasyBimehLandingLib
   *
   * This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
   */
  
  'use strict';
  
  const BaseModel = require('./BaseModel');
  
  /**
   * Creates an instance of FireInsurance
   */
  class FireInsurance extends BaseModel {
      /**
       * @constructor
       * @param   {Object}  obj    The object passed to constructor
       */
      constructor(obj) {
          super(obj);
          if (obj === undefined || obj === null) return;
          this.hasPlan = this.constructor.getValue(obj.hasPlan);
          this.insuranceCentreProvinceId = this.constructor.getValue(obj.insuranceCentreProvinceId);
          this.insuranceCentreCityId = this.constructor.getValue(obj.insuranceCentreCityId);
          this.insuranceCentreCities = this.constructor.getValue(obj.insuranceCentreCities);
          this.buildingTypes = this.constructor.getValue(obj.buildingTypes);
          this.skeletonTypeBuildings = this.constructor.getValue(obj.skeletonTypeBuildings);
          this.buildingUseTypes = this.constructor.getValue(obj.buildingUseTypes);
          this.insurancePolicyTerms = this.constructor.getValue(obj.insurancePolicyTerms);
          this.insuranceExtraCoverage = this.constructor.getValue(obj.insuranceExtraCoverage);
          this.everySquareMeterCoverage = this.constructor.getValue(obj.everySquareMeterCoverage);
          this.provinces = this.constructor.getValue(obj.provinces);
          this.cities = this.constructor.getValue(obj.cities);
          this.cityRegions = this.constructor.getValue(obj.cityRegions);
          this.shippingTypes = this.constructor.getValue(obj.shippingTypes);
          this.postTypes = this.constructor.getValue(obj.postTypes);
          this.insurancePolicyCondition = this.constructor.getValue(obj.insurancePolicyCondition);
          this.insuranceData = this.constructor.getValue(obj.insuranceData);
      }
  
      /**
       * Function containing information about the fields of this model
       * @return   {array}   Array of objects containing information about the fields
       */
      static mappingInfo() {
          return super.mappingInfo().concat([
              { name: 'hasPlan', realName: 'hasPlan' },
              { name: 'insuranceCentreProvinceId', realName: 'insuranceCentreProvinceId' },
              { name: 'insuranceCentreCityId', realName: 'insuranceCentreCityId' },
              {
                  name: 'insuranceCentreCities',
                  realName: 'insuranceCentreCities',
                  array: true,
                  type: 'ComboDataModel',
              },
              {
                  name: 'buildingTypes',
                  realName: 'buildingTypes',
                  array: true,
                  type: 'ComboDataModel',
              },
              {
                  name: 'skeletonTypeBuildings',
                  realName: 'skeletonTypeBuildings',
                  array: true,
                  type: 'ComboDataModel',
              },
              {
                  name: 'buildingUseTypes',
                  realName: 'buildingUseTypes',
                  array: true,
                  type: 'ComboDataModel',
              },
              {
                  name: 'insurancePolicyTerms',
                  realName: 'insurancePolicyTerms',
                  array: true,
                  type: 'InsurancePolicyTerm',
              },
              {
                  name: 'insuranceExtraCoverage',
                  realName: 'insuranceExtraCoverage',
                  array: true,
                  type: 'InsuranceExtraCoverage',
              },
              {
                  name: 'everySquareMeterCoverage',
                  realName: 'everySquareMeterCoverage',
                  array: true,
                  type: 'EverySquareMeterCoverage',
              },
              { name: 'provinces', realName: 'provinces', array: true, type: 'Province' },
              { name: 'cities', realName: 'cities', array: true },
              { name: 'cityRegions', realName: 'cityRegions', array: true },
              { name: 'shippingTypes', realName: 'shippingTypes', array: true, type: 'ShippingType' },
              { name: 'postTypes', realName: 'postTypes', array: true, type: 'PostType' },
              {
                  name: 'insurancePolicyCondition',
                  realName: 'insurancePolicyCondition',
                  type: 'InsurancePolicyCondition',
              },
              {
                  name: 'insuranceData',
                  realName: 'insuranceData',
                  type: 'InsuranceDataFireInsurance',
              },
          ]);
      }
  
      /**
       * Function containing information about discriminator values
       * mapped with their corresponding model class names
       *
       * @return   {object}  Object containing Key-Value pairs mapping discriminator
       *                     values with their corresponding model classes
       */
      static discriminatorMap() {
          return {};
      }
  }
  
  module.exports = FireInsurance;
  