The only way to extract information is to check whether all the Castalians gave the same answer. Thus, we need to ask a question such that answers of a Knight and a Knave differ if and only if, for example, left is the correct direction. One truth table to corresponding to such a question is the following:
Direction of hotel Left Right
Knight's answer 1 0
Knave's answer 0 0
As usual, "1" means that the agent answers "yes", and "0" corresponds to "no". An example of a question that delivers this truth table:
"Is at least one of the following true: hotel is to the left, or you are a Knave?"
Then the hotel is to the right if and only if all answers coincide.
One way to extract information in this situation is to check whether each agent gives the same answer to the two questions. To solve the problem, we can ask two questions such that any agent gives the same answer to both questions if and only if the correct direction is, for example, right. Let's keep the first question as in part 1. We can pick the second question according to, for example, the following truth table:
Direction of hotel Left Right
Knight's answer 0 0
Knave's answer 1 0
The second question is, for example, the following:
"Are both of the following true: hotel is to the right and you are a Knave?"
All agents give the same answer to the two questions if and only if the hotel is to the right.
P.S. There are, of course, many other question pairs that deliver solution. Another pair of shorter questions: "Is the hotel to the left?" and "Is 1=0 true?".