Congestion pricing with heterogeneous travellers