Your update query seems wrong. As per your schema design. 1 booking may have multiple booked rooms which is 1 to many relationships.
Below query will update the same booking multiple times because of 1 to many relationships. On top of that, your update is updating all bookings because you have not applied any filter criteria.
UPDATE bookings as b
JOIN booked_rooms b2 on b2.id = b.id
SET b.total_price = b.total_price - @price_per_night
WHERE b.id = b2.booking_id;
You need to change the above query to this
UPDATE bookings
SET total_price = total_price - @price_per_night
WHERE id = booking_id //booking_id input parameter