Updates the reservation code to use promises so I can read it.

Also fixes a handful of bugs related to not replying properly.