       (for [i (range n-reservations)]
         (ref {:id          i
               :status      :unprocessed
-              ; Status of reservation: :unprocessed|:in-process|:processed
-              ; FIXME: :processed is not used
+              ; Status of reservation: :unprocessed|:processed
               :n-people    (rand-number)
               ; Number of people to reserve for
               ; Note: the original vacation benchmark only seems to reserve for


; MAIN

(defn- log-data [{:keys [reservations cars flights rooms]}]
  "Write `data` to log."
  (log "reservations:" reservations)
  (log "cars:" cars)
  (log "flights:" flights)
  (log "rooms:" rooms))

(defn -main [& args]
  "Main function. `args` should be a list of command line arguments."
  (when-let [options (parse-args args)]

     :cars    (generate-relation)
     :flights (generate-relation)
     :rooms   (generate-relation)}))

(defn- log-data [{:keys [reservations cars flights rooms]}]
  "Write `data` to log."
  (log "reservations:" reservations)
  (log "cars:" cars)
  (log "flights:" flights)
  (log "rooms:" rooms))

(defn- look-for-seats [relations n-seats]
  "Look for a relation with `n-seats` free seats in `relations`, and return the
