                                        :NumberOfOrbits 2.0
                                        :StartCircularLatitude 50.0}}
      :TilingIdentificationSystems [{:TilingIdentificationSystemName "Tiling System Name"
-                                     :Coordinate1 {:MinimumValue 1.0
-                                                   :MaximumValue 10.0}
-                                     :Coordinate2 {:MinimumValue 1.0
-                                                   :MaximumValue 10.0}}]
+                                    :Coordinate1 {:MinimumValue 1.0
+                                                  :MaximumValue 10.0}
+                                    :Coordinate2 {:MinimumValue 1.0
+                                                  :MaximumValue 10.0}}]
      :AccessConstraints {:Description "Restriction Comment: Access constraints"
                          :Value "0"}
      :UseConstraints "Restriction Flag: Use constraints"

  (if-let [u-date (:UpdateDate aa)]
    (assoc aa :UpdateDate (t/date-time (t/year u-date) (t/month u-date) (t/day u-date)))
    aa))
(defn- fix-expected-serf-additional-attributes
  "Check and see if Metadata_Name and Metadata_Version are in serf additional attributes.
  If not, you need to inject them so that a comparison will work"


(defn- serf-expected-person
  [person]
  (-> person 
      (assoc
        :Uuid nil
        :FirstName (:FirstName person)
        :MiddleName (:MiddleName person)
        :LastName (or (:LastName person) su/not-provided))
      cmn/map->PersonType))

(defn- remove-organization-role-and-related-urls
  "Removes an organization-role and related-urls if present from a UMM-S Responsibility"
  [resp]
  (-> resp
      (update-in [:Party :Person] serf-expected-person)
      (assoc-in [:Party :OrganizationName] nil)
      (assoc-in [:Party :RelatedUrls] nil)))

(defn- fix-organization-name-in-party
  "Modifies generated UMM-S Responsibility to conform to SERF rules"
  [resp]
  (let [{:keys [Role Party]} resp]
    ;; SERF only recognizes OrganizationName under a RESOURCEPROVIDER role. 
    (if (= serf-organization-role Role)
      (-> resp
          (update-in [:Party :Person] (fn [p] (or p (cmn/map->PersonType {:LastName su/not-provided}))))
          (update-in [:Party :OrganizationName] (fn [o] (or o 
                                                            (cmn/map->OrganizationNameType 
                                                              {:ShortName su/not-provided
                                                               :Uuid nil}))))
          (assoc-in [:Party :OrganizationName :Uuid] nil)
          (assoc-in [:Party :Person :Uuid] nil))
      (let [resp (remove-organization-role-and-related-urls resp)]
        (if (seq (:Person (:Party resp)))
          resp
          (assoc-in resp [:Party] (cmn/map->PersonType {:LastName su/not-provided})))))))

(defn- serf-expected-addresses 
  "Modify UMM-S Addresses to conform to SERF rules"
