@startuml Manage Booking (PUT)

header Booking Sequence Diagram
footer Page %page% of %lastpage%
title "Manage Booking (PUT)"

participant "Client" as client
participant "<<javaScript>>\n:server" as server
participant "<<router>>\n:appointments" as routerAppointments
participant "<<controllers>>\n:appointments" as controllersAppointments
participant "<<model>>\n:Appointment" as modelAppointments
database "<<MongoDB>>\n:appointments" as AppointmentsDatabase

client->server ++:req.put('/:id')
server->routerAppointments ++:app.use('/api/v1/appointments',appointments)
routerAppointments -> controllersAppointments ++:updateAppointment()
controllersAppointments->modelAppointments ++:findByIdAndUpdate(req.params.id, req.body)
modelAppointments ->AppointmentsDatabase ++:AppointmentSchema
AppointmentsDatabase --> modelAppointments --:appointment
controllersAppointments <-- modelAppointments --:appointment
controllersAppointments->client --:response

@enduml