 
 (s/defschema ValidTime
   "See http://stixproject.github.io/data-model/1.2/indicator/ValidTimeType/"
-  {(s/optional-key :start_time) Time
-   (s/optional-key :end_time) Time})
+  {(s/optional-key :start_time)
+   (describe Time "If not present, the valid time position of the indicator does not have a lower bound")
+   (s/optional-key :end_time)
+   (describe Time "If not present, the valid time position of the indicator does not have an upper bound")})
 
 ;;Allowed disposition values are:
 (def disposition-map

            [clj-time.core :as time]
            [clj-time.format :as time-format]
            [ring.util.http-response :as http-response]
            [schema.core :as s]))

(def Reference


(s/defschema Contributor
  "See http://stixproject.github.io/data-model/1.2/cyboxCommon/ContributorType/"
  {(s/optional-key :role)
   (describe s/Str "role played by this contributor")
   (s/optional-key :name)
   (describe s/Str "name of this contributor")
   (s/optional-key :email)
   (describe s/Str "email of this contributor")
   (s/optional-key :phone)
   (describe s/Str "telephone number of this contributor")
   (s/optional-key :organization)
   (describe s/Str "organization name of this contributor")
   (s/optional-key :date)
   (describe Time "description (bounding) of the timing of this contributor's involvement")
   (s/optional-key :contribution_location)
   (describe s/Str "information describing the location at which the contributory activity occured")})

(s/defschema RelatedIdentity
  "See http://stixproject.github.io/data-model/1.2/stixCommon/RelatedIdentityType/"
  {(s/optional-key :confidence)
   (describe v/HighMedLow "specifies the level of confidence in the assertion of the relationship between the two components")
   (s/optional-key :information_source)
   (describe s/Str "specifies the source of the information about the relationship between the two components")
   (s/optional-key :relationship) s/Str ;; empty vocab
   :identity (describe Reference "A reference to or representation of the related Identity") ;; Points to Identity
   })

(s/defschema Identity
  "See http://stixproject.github.io/data-model/1.2/stixCommon/IdentityType/"
  {:description s/Str
   :related_identities
   (describe [RelatedIdentity] "identifies other entity Identities related to this entity Identity")})

(s/defschema Activity
  "See http://stixproject.github.io/data-model/1.2/stixCommon/ActivityType/"
  {:date_time (describe Time "specifies the date and time at which the activity occured")
   :description (describe s/Str "a description of the activity")})

(s/defschema Observable
  "A simple, atomic value which has a consistent identity, and is
