Modelling parking choices considering user heterogeneity