Question: I plan on building a web based room booking application for meeting rooms at a company. The requirements are not set in stone and are pretty much left to me, as long as these core ones are met:

1. Users can view monthly schedule for meeting room, so see what days and times there are bookings for a particular room.
2. Users can book a meeting room
3. Users can edit,delete a booking once made.
4. Receptionists have power to cancel bookings, even though they were not the ones that made them.

If I have missed any obvious ones, please point them out.

So with the above in mind, I have come up with the following ERD.

![erd room booking](https://i.stack.imgur.com/xLDZs.jpg)

Can you see any obvious issues with the above ERD? I have gone through the above scenarios / requirements, and I believe the above design satisfies them all, but it is possible that I am very much mistaken (has happened before).

Any help and feedback would be greatly appreciated.

Answer: 
How do you know how long a room is booked for? Your model indicates when a booking starts, but when does it end?

Also, your ERD shows foreign keys from `BOOKING` to `USER` and `ROOM` but these columns aren't acknowledged in your `BOOKING` table. Some other answers have interpreted that as the columns being missing. You should be explicit in your diagram to avoid confusion (or add the FK columns if you missed them!)
The problem with the current design is that we are unable to uniquely identify which room a user has booked if he has booked more than 1 room . 

To solve the problem , we should add another column : **Room Number** to the TABLE ROOM 

This allows the **composite key** : Room Number& ID to form a **primary key** which would uniquely identify any booking made by a user.

The Room Number & ID would be foreign keys in the TABLE BOOKING