In general your users and locations (rooms) can be nodes.
The relationship could be either generally :VISITED with the properties: role, time, readerid.
Or you have individual relationship-types for the different types of visits.
(user {id: 123, firstname:"Hanne",lastname:"Smith"})-[:VISITED {role:"visitor", time: "0900 AM", readerid: "room1" })->(location {name:"readingRoom"})
In 2.0 you can use a combination of MERGE and CREATE with Labels
MERGE (user:USER {id: 123, firstname:"Hanne",lastname:"Smith"}), (location:Location {name:"readingRoom"})
CREATE (user)-[:VISITED {role:"visitor", time: "0900 AM", readerid: "room1" })->(location)
If your visit is a more important entity you can create a node for the visit itself and link more information to it. Then you can also represent the time, e.g. as time-tree:
HTH
Michael