Your house should always be available for show, even though it may occasionally be inconvenient for you. Let your listing agent put a lock box in a convenient place, to make it easy for other agents to show your home to homebuyers. Otherwise, agents will have to schedule appointments, which is an inconvenience. Most will just skip your home to show the house of someone else who is more cooperative.
Most agents will call and give you at least a couple of hours notice before showing your property. If you refuse to let them show it at that time, they will just skip your house. Even if they come back another time, it will probably be with different buyers and you may have just lost a chance to sell your home.
Why You Should Not Be Home