                     MERGE (m:MeetupProfile {id: {person}.id})
                     SET m = {person}
                     MERGE (p)-[:HAS_MEETUP_PROFILE]->(m)
+                    WITH p, m
+                    MATCH (year:Year {year: {timetree}.year })
+                    MATCH (year)-[:HAS_MONTH]->(month {month: {timetree}.month })
+                    MATCH (month)-[:HAS_DAY]->(day {day: {timetree}.day })
+                    CREATE (m)-[:JOINED_ON]->(day) 
                     FOREACH(topic IN {topics} |
                       MERGE (t:Topic {id: topic.id})
                       SET t = topic

(defn responses [rsvp]
  (if (changed-mind? rsvp)
    (if (= "yes" (:response rsvp))
      [{:response (:response rsvp) :time (:created rsvp) :guests (:guests rsvp)}]
      [{:response "yes" :time (:created rsvp) :guests (:guests rsvp)}
       {:response (:response rsvp) :time (:mtime rsvp) :guests 0}])
    [{:response (:response rsvp) :time (:created rsvp) :guests (:guests rsvp)}]))

(defn rsvps-with-responses [rsvps]
  (map #(assoc % :responses (responses %)) rsvps))

                 MERGE (e:Event {id: {event}.id})
                 SET e = {event}
                 MERGE (g)-[:HOSTED_EVENT]->(e)
                 WITH e, g
                 MATCH (year:Year {year: {timetree}.year })
                 MATCH (year)-[:HAS_MONTH]->(month {month: {timetree}.month })
                 MATCH (month)-[:HAS_DAY]->(day {day: {timetree}.day })
                 CREATE (m)-[:JOINED_ON]->(day) 
                 MERGE (v:Venue {id: {venue}.id})
                 SET v = {venue}
                 MERGE (e)-[:HELD_AT]->(v)
                 RETURN ID(g)"
                {:group (:group event)
                 :venue (:venue event)
                 :timetree (as-timetree (:time event))              
                 :event { :id (:id event)
                         :name (:name event)
                         :description (:description event)
