                                ::available?
                                ::images]))
 (s/def ::variants (s/coll-of ::variant :kind vector? :distinct true :into []))
+(s/def ::product-condition #{:used :brand-new :almost-new})
+(s/def ::stock-location #{:brazil :china :usa :sweden :switzerland :local})
 
 (s/def ::product (s/keys :req-un [::id
                                   ::market-price


(s/def ::cep (s/def (s/and string? #(re-matches cep-regex %))))
(s/def ::street-address (s/keys :req [::street ::number]
                                :opt [::building ::apt]))

(s/def ::country #{:brazil})
(s/def ::address (s/keys :req [::cep
                               ::country

                                  ::images
                                  ::category
                                  ::stock-count
                                  ::product-condition
                                  ::stock-location
                                  ::available?]
                         :opt-un [::variants]))
(s/def ::products (s/and
