           if not time.timeRange
             #console.log "No Timerange", annotation
             return
-          fromTime = time.timeRange.begin
+          incident.dateRange = {}
+          fromTime = _.clone(time.timeRange.begin)
           if fromTime
             fromKeys = Object.keys(fromTime).length
+            # moment parses 0 based month indecies
+            if fromTime.month then fromTime.month--
             parsedDate = moment(fromTime)
             if fromKeys > mostFromKeys and parsedDate.isValid()
-              incident.timeRange.start = parsedDate.toDate()
+              incident.dateRange.start = parsedDate.toDate()
               mostFromKeys = fromKeys
-          toTime = time.timeRange.end
+          else
+            console.log "No fromTime", annotation
+          toTime = _.clone(time.timeRange.end)
           if toTime
             toKeys = Object.keys(toTime).length
+            # moment parses 0 based month indecies
+            if toTime.month then toTime.month--
             # Round up the to date
             parsedDate = moment(_.extend({hours:23, minutes: 59}, toTime))
             if toKeys > mostToKeys and parsedDate.isValid()
-              incident.timeRange.end = parsedDate.toDate()
+              incident.dateRange.end = parsedDate.toDate()
               mostToKeys = toKeys
+          else
+            console.log "No toTime", annotation
+          if moment(incident.dateRange.end).diff(incident.dateRange.start, "hours") <= 24
+            incident.dateRange.type = "day"
+          else
+            incident.dateRange.type = "precise"
         incident.dateTerritory = dateTerritory
         incident.locationTerritory = locationTerritory
         incident.countAnnotation = keypoint

          alternateNames: loc.alternateNames
      @loading.set(false)
      @content.set result.source.cleanContent.content
      sents = result.source.cleanContent.content.split(".")
      sents = sents.slice(0, -1).map((s)->s + ".").concat(sents.slice(-1))
      keypoints = result.keypoints
      locTerritories = getTerritories(keypoints.filter((keypoint)->keypoint.location), sents)
      dateTerritories = getTerritories(keypoints.filter((keypoint)->keypoint.time), sents)

        unless keypoint.count then return
        [kStart, kEnd] = keypoint.textOffsets[0]
        locationTerritory = _.find locTerritories, ({territoryStart, territoryEnd})->
          if kStart <= territoryEnd and kStart >= territoryStart
            return true
        dateTerritory = _.find dateTerritories, ({territoryStart, territoryEnd})->
          if kStart <= territoryEnd and kStart >= territoryStart
            return true
        incident =
          locations: locationTerritory.annotations.map(({location})->geonamesById[location.geonameid])
        mostFromKeys = 0
        mostToKeys = 0
