Mobility of users significantly impacts performance of a mobile ad-hoc network. Most existing simulation tools offer only a few random mobility models, which poorly reflect user movements in outdoor scenarios. For example, they do not consider restrictions of a spatial environment. In this paper, we describe a comprehensive and extensible approach to model mobility of users in outdoor scenarios. It reflects the main factors that influence user movement: spatial environments, user travel decisions, and user movement dynamics. We identify model parameters and show how to set them for concrete scenarios. We provide a simulation environment implementing our approach. For concrete scenarios, the environment supports automatic derivation of some parameters from user position traces.