diff --git a/doc/source/zuul.rst b/doc/source/zuul.rst
index 4877b30..d5dabcd 100644
--- a/doc/source/zuul.rst
+++ b/doc/source/zuul.rst
@@ -307,15 +307,15 @@
   review --verified 1`` and ``submit: true`` becomes ``gerrit review
   --submit``.
 
-**failure** 
+**failure**
   Uses the same syntax as **success**, but describes what Zuul should
   do if at least one job fails.
 
-**start** 
+**start**
   Uses the same syntax as **success**, but describes what Zuul should
   do when a change is added to the pipeline manager.  This can be used,
   for example, to reset the value of the Verified review category.
-  
+
 Some example pipeline configurations are included in the sample layout
 file.  The first is called a *check* pipeline::
 
@@ -433,10 +433,10 @@
   that can predict whether longer jobs will fail early, this can be
   used to reduce the number of jobs that Zuul will launch and
   ultimately have to cancel.  In that case, a small amount of
-  paralellization of jobs is traded for more efficient use of testing
+  parallelization of jobs is traded for more efficient use of testing
   resources.  On the other hand, to apply this to a long running job
   would largely defeat the parallelization of dependent change testing
-  that is the main feature of Zuul.  The default is False.
+  that is the main feature of Zuul.  Default: ``false``.
 
 **branch (optional)**
   This job should only be run on matching branches.  This field is
@@ -449,6 +449,10 @@
   file patterns listed here.  This field is treated as a regular
   expression and multiple expressions may be listed.
 
+**voting (optional)**
+  Boolean value (``true`` or ``false``) that indicates whatever
+  a job is voting or not.  Default: ``true``.
+
 **parameter-function (optional)**
   Specifies a function that should be applied to the parameters before
   the job is launched.  The function should be defined in a python file
diff --git a/zuul/model.py b/zuul/model.py
index a2ab39e..543dcfa 100644
--- a/zuul/model.py
+++ b/zuul/model.py
@@ -254,6 +254,7 @@
             ret['url'] = None
         ret['id'] = changeish._id()
         ret['project'] = changeish.project.name
+        ret['enqueue_time'] = int(changeish.enqueue_time * 1000)
         ret['jobs'] = []
         for job in self.getJobs(changeish):
             build = changeish.current_build_set.getBuild(job.name)
