     :effects string}})
 
 (def contributor
-  {:type "nested"
-   :properties
+  {:properties
    {:role string
     :name string
     :email string

    :service_pack string}})

(def infrastructure
  {:type "nested"
   :properties
   {:description string
    :type string}})

(def related-identities
  {:type "nested"
   :properties (assoc related
                      :identity_id string)})

(def related-actors
  {:type "nested"
   :properties (assoc related
                      :actor_id string)})

(def tg-identity
  {:type "nested"
   :properties
   {:description string
    :related_identities related-identities}})

(def victim-targeting
  {:type "nested"
   :properties
   {:identity tg-identity
    :targeted_systems string
    :targeted_information string
    :targeted_observables observable}})

(def resource
  {:type "nested"
   :properties
   {:tools tool
    :infrastructure infrastructure
    :providers identity}})

(def activity
  {:type "nested"
   :properties
   {:date_time ts
    :description string}})

(def related-indicators
  {:type "nested"
   :properties
   (assoc related
          :indicator_id string)})

(def related-judgements
  {:type "nested"
   :properties
   (assoc related
          :judgement_id string)})

(def related-coas
  {:type "nested"
   :properties
   (assoc related
          :COA_id string)})

(def related-campaigns
  {:type "nested"
   :properties
   (assoc related
          :campaign_id string)})

(def related-exploit-targets
  {:type "nested"
   :properties (assoc related
                      :exploit_target_id string)})
(def related-ttps
  {:type "nested"
   :properties (assoc related
                      :ttp_id string)})

(def related-incidents
  {:type "nested"
   :properties (assoc related
                      :incident_id string)})

(def related-sightings
  {:type "nested"
   :properties (assoc related
                      :sighting_id string)})

(def specifications
  {:type "nested"
   :properties
   {:judgements string
    :required_judgements related-judgements
    :query string


(def sighting-mapping
  {"sighting"
   {:dynamic false
    :include_in_all false
    :properties
    {:id all_string
     :type string
     :description all_text
     :timestamp ts
     :source string
     :reference string
     :confidence string
     :related_judgements related-judgements
     :related_observables observable
     :owner string
     :created ts
     :modified ts}}})
