Understanding the impact of user behaviours and scheduling parameters on the effectiveness of a terminal appointment system using discrete event simulation