     :QualityLevel
     :Capability
     :Type
-    :Complexity))
+    :Complexity)
+  (extends :Entity))
 
 (def-class :Location
   (with-attributes

(def-class :Share
  (with-attributes
    :Description))

(def-class :Service
  (with-attributes

    :PostCode
    :Country
    :Place
    :Address)
  (extends :Entity))

(def-class :AdminDomain
  (with-attributes
    :Distributed
    :Owner)
  (extends :Domain)) ;Pytanie, czy robimy podwójne dziedziczenie, czy wystarczy nam, że już :Domain dziedziczy po :Entity

(def-class :UserDomain
  (with-attributes
    :Member
    :UserManager
    :Level)
  (extends :Domain))

(def-class :Contact
  (with-attributes
    :Type
    :Detail)
  (extends :Entity))

(def-class :Manager
  (with-attributes
    :ProductVersion
    :ProductName)
  (extends :Entity))

(def-class :Resource
  (extends :Entity))

(def-class :Endpoint
  (with-attributes
