A set of actions

Hi, Im new to programming and was wondering how can i achieve this:

I want my npc to go from point A to B and vice-versa where B is a book shelf. I want the npc to look at the shelf and read a book (i can enable/disable the book) what i would like to know is how to make it stop at the right place everytime. Another one will be having the npc to go sit at a chair. How do i make it go to the exact spot, turn the right direction, play the sit animation and stay at the right position.

Other question would be how do i make my npc do his/her actions based on time say for example do one thing at 3 o'clock do another at 4.

Thanks in advance

IMO, the question is a little broad for Unity Answers. You're not so much asking a specific technical question as you are asking how to do a number of fairly complex things in general terms. As such, there's really no concise answer.

That said, here are a few tips. First, you'll probably want to look into finite state machines, as that would probably be the most straightforward way to keep track of what the character is doing and to cause certain actions to occur.

As for doing actions at certain times, you'll first need to determine where the information about time will come from. What does '3 o'clock' mean in the game world? Is that 3 o'clock real time? Relative to when the game started? Is the time abstracted or compressed in any way?

Once you have the source of time figured out, causing the character to perform certain actions at certain times will then be a matter of assigning a new state to the character (with respect to the aforementioned FSM) at the appropriate times.

The rest depends on a number of things, but it will most likely involve a combination of playing certain animations (as you suggested) and moving the character by modifying the game object transform, or moving the character controller or rigid body (if the game object has one). If sitting in the chair needs to be procedural, I'd recommend first moving the character to an appropriate point directly in front of the chair, then rotating the character until the forward direction vector is more or less aligned with the chair's forward direction vector, and then playing the 'sit' animation.

Beyond that, I'd recommend narrowing things down to more specific, single questions, and then posting those questions to the forums or Unity Answers individually.