         :pnr    pnr)))
   (log "finished reservation" (:id @reservation)))
 
-(defn process-reservation-par
+(defn process-reservation-txact
   [reservation
    {:keys [cars flights rooms]}
    {:keys [n-queries]}
    secondary-workers]
-  "Process a reservation: find a car, flight, and room for the reservation and
-  update the data structures."
+  "Process a reservation: find a car, flight, and room for the reservation,
+  generate a PNR, and update the data structures.
+
+  This version books the car, flight, and room in a separate actor."
   (dosync
     (log "start tx for reservation" (:id @reservation))
     (send (rand-nth secondary-workers) :car    cars    reservation n-queries)

          secondary-workers
            (doall (map #(spawn reserve-relation-behavior % *actor*)
                        (range n-secondary-workers)))
            ; n-secondary-workers = 0 if version == :seq
          reservation-workers
            (doall (map #(spawn reservation-behavior
                          % *actor* secondary-workers data options)
                        (range n-workers)))
          expected-n-done-messages
            (case version
              :par (* n-reservations 4)
                   n-reservations)
          start-time
            (System/nanoTime)]
      #_(log-data data)

      (def log log-debug))
    (if proceed?
      (let [options {:version             (case (:version args)
                                            "txact" :txact
                                                    :orig)
                     :n-workers           (:workers args)
                     :n-secondary-workers (if (not= (:version args) "txact")
                                            0
                                            (:secondary-workers args))
                     :n-reservations      (:reservations args)
                     :n-relations         (:relations args)
                     :n-queries           (:queries args)}]
        (log "options: " options)
        (when (and (= (:version args) :orig)
                   (not= (:secondary-workers args) 20)) ; 20 is the default
          (println "WARNING: did not expect number of secondary workers to be"
            "specified when version is 'orig'."))
        (when (not= (rem (:n-reservations options) (:n-workers options)) 0)
          (println "WARNING: number of reservations is not divisible by number"
            "of workers."))
