POST to /api/reservations instead of /api/reservations/reserve to reserve a room
This is just for info. As /api/reservations represents the collection of resources, POSTing to it represents creating a reservation. I would say this is more idiomatic that having /reserve follow /reservations. Nonetheless, your solution is valid and has its merits, but I would "reserve" (pun intended) to more complex use cases, involving state machines for example.