                        (mapping [:Type :Type-text-node] :Type)
                        (mapping [:URL :URL-text-node] :Detail)))
 
+(foreach (as :Contact [:glue:Domains :AdminDomain :Contact])
+         (in (as :AdminDomain [:glue:Domains :AdminDomain])
+             (add-association :HasContactDomain
+                              (mapping :Contact :Contact)
+                              (mapping :AdminDomain :Domain))))
+
 (foreach [:glue:Domains :AdminDomain :Services :Service]
          (add-instance :Service
                        (mapping [:ID :ID-text-node] :ID)

                       (mapping [:DowntimeEnd :DowntimeEnd-text-node] :DowntimeEnd)
                       (mapping [:DowntimeInfo :DowntimeInfo-text-node] :DowntimeInfo)))

(foreach [:glue:Domains :AdminDomain :Services :Service :Endpoint :AccessPolicy]
         (add-instance :AccessPolicy
                       (mapping [:CreationTime-attribute] :CreationTime)

                       (mapping [:Type :Type-text-node] :Type)
                       (mapping [:QualityLevel :QualityLevel-text-node] :QualityLevel)
                       (mapping [:Complexity :Complexity-text-node] :Complexity)))

(foreach (as :Service [:glue:Domains :AdminDomain :Services :Service])
         (in (as :AdminDomain [:glue:Domains :AdminDomain])
             (add-association :ManagesAdminDomainService
                              (mapping :Service :Service)
                              (mapping :AdminDomain :Domain))))

(foreach [:glue:Domains :AdminDomain :Services :Service :Location]
         (add-instance :Location
