@startuml Manage Reservation (PUT)

header Sample Reservations Sequence Diagram
footer Page %page% of %lastpage%
title "Manage Reservation (PUT)"

participant "Client" as client
participant "<<javaScript>>\n:server" as server
participant "<<router>>\n:reservations" as routerReservations
participant "<<controllers>>\n:reservations" as controllersReservations
participant "<<model>>\n:Reservation" as modelReservation
database "<<MongoDB>>\n:reservations" as ReservationsDatabase

client->server ++:req.put('/reservations/:id')
server->routerReservations ++:app.use('/reservations', reservations)
routerReservations -> controllersReservations ++:updateReservation()
controllersReservations->modelReservation ++:findByIdAndUpdate(req.params.id, req.body)
modelReservation ->ReservationsDatabase ++: ReservationSchema
ReservationsDatabase --> modelReservation --: reservation
controllersReservations <-- modelReservation --:reservation
controllersReservations->client --:response

@enduml
