Skip to content

Property: data model

The entities, fields, enumerated values and relationships. The endpoints over them are in Property: API, and the terms used throughout are defined in Insurance concepts.

propertyCoverage is the policy and property is the building it insures. One policy can cover several properties.

Building, contents and fixtures are insured separately, each with its own sum insured and its own deductible, so a single fire produces a settlement calculated three times. Four enumerations carry the description: propertyType (about 250 RESO values), propertyPeril (37), wallConstruction (about 40) and roofConstruction (about 30). Construction material is enumerated that finely because it is most of what decides whether a building burns.

erDiagram
    PROPERTY_COVERAGE {
        string policyNumber
        datetime inceptionDate
        datetime expiryDate
        enum status
        float grossWrittenPremium
        float salesTax
        int indemnityLimitPolicy
        int indemnityLimitAccident
        bool isAgreedValue
        enum endorsementType
        enum peril "propertyPeril ref"
        float deductiblePercentageBuilding
        int deductibleAmountBuilding
        float deductiblePercentageContent
        int deductibleAmountContent
        float combinedDeductiblePercentage
        int combinedDeductibleAmount
        float removalOfDebrisPercentage
        int alternativeAccomodationLimit
        enum claimsOccurrence
        float numberOfProperties
    }
    PROPERTY {
        string description
        string latitude "GPS"
        string longitude "GPS"
        string altitude
        date constructionYear
        enum propertyType "RESO standard"
        string occupation
        int numberOfBathrooms
        int numberOfBedrooms
        int numberOfUnits
        int numberOfLevels
        int numberOfLevelsBelowStreet
        int propertyArea "sqm"
        enum wallConstruction
        enum roofConstruction
        bool smokingAllowed
        bool petsAllowed
        bool hasDriveThrough
        int sumInsuredBuilding
        int sumInsuredContent
        int sumInsuredFixtures
        int sumInsuredHighValueFineArt "USD30k threshold"
    }
    PROPERTY_TYPE {
        int code "0-249 plus"
        string description "RESO classifications"
    }
    PROPERTY_PERIL {
        int code "0-36"
        string description
    }
    WALL_CONSTRUCTION {
        int code "0-39"
        string description
    }
    ROOF_CONSTRUCTION {
        int code "0-29"
        string description
    }

    PROPERTY_COVERAGE ||--|{ PROPERTY : "insures"
    PROPERTY ||--|| PROPERTY_TYPE : "classified as"
    PROPERTY ||--|| WALL_CONSTRUCTION : "wall"
    PROPERTY ||--|| ROOF_CONSTRUCTION : "roof"
    PROPERTY_COVERAGE ||--|{ PROPERTY_PERIL : "covers"
EntityFieldTypeWhat it means
PropertyCoverageisAgreedValueBooleanHow a total loss is paid. True pays the sum insured outright. False pays what the property was worth when it was destroyed, which can be less
PropertyCoverageclaimsOccurrenceenum (claimsOccurrence)Which policy year owns a claim. Claims occurring covers losses that happened in the term, whenever reported. Claims made covers claims reported in the term, whenever the loss happened
PropertyCoverageindemnityLimitPolicyNumber/integerThe most the policy pays across the year
PropertyCoveragedeductibleAmountBuildingNumber/integerExcess on a claim against the structure
PropertyCoveragedeductibleAmountContentNumber/integerExcess on a claim against the contents. Separate from the building excess
PropertyCoveragecombinedDeductibleAmountNumber/integerA single excess applied where one event damages both, instead of charging two
PropertyCoverageremovalOfDebrisPercentageNumber/FloatCap on clearing the site after a loss, as a percentage. Demolition and disposal are a real cost and are not part of rebuilding
PropertyCoveragealternativeAccomodationLimitNumber/integerCap on housing the occupants while the property is uninhabitable. Spelled with one m on the wire
PropertypropertyTypeenum (propertyType)What kind of property it is, from the RESO classification. About 250 values
PropertywallConstructionenum (wallConstruction)What the walls are made of. About 40 values
PropertyroofConstructionenum (roofConstruction)What the roof is made of. About 30 values
PropertyconstructionYearDateWhen it was built. Older construction carries different fire and escape-of-water exposure
PropertynumberOfLevelsBelowStreetNumber/integerBasement levels, which is a flood exposure question rather than a size one
PropertypropertyAreaNumber/integerFloor area in square metres
PropertysumInsuredBuildingNumber/integerCover on the structure
PropertysumInsuredContentNumber/integerCover on everything movable inside it
PropertysumInsuredFixturesNumber/integerCover on fixtures, which are attached to the building but are not the structure
PropertysumInsuredHighValueFineArtNumber/integerCover on individual items worth more than USD 30,000, which ordinary contents cover excludes
Propertylatitude, longitude, altitudestringPosition. Used for flood, storm and wildfire exposure rather than for finding the place

claimsOccurrence is declared two incompatible ways. It is a Boolean on the coverage entity, and a two-value enumeration (Claims occurring, Claims made) on its own. Use the enumeration. A Boolean cannot carry which basis applies without a convention agreed out of band, and reading it wrongly assigns claims to the wrong policy year.

numberOfBedrooms appears twice on property. The first of the two describes itself as the number of bathrooms, so this page reads it as numberOfBathrooms. Other implementations may have resolved the duplicate differently, so do not assume a counterpart agrees.

The roof construction enumeration is spelled two ways. The data standard has roofConstruction; the API specification has rootConstruction. The data standard is authoritative here.

Two names stay misspelled because they are on the wire. alternativeAccomodation carries one m, and occcupation on the property entity carries three cs. This page shows the corrected forms for readability, and what you send is the original.