The analysis and characterization of human mobility using population-level mobility models is important for numerous applications, ranging from the estimation of commuter flows to modeling trade flows. However, almost all of these applications have focused on large spatial scales, typically from intra-city level to inter-country level. In this paper, we investigate population-level human mobility models on a much smaller spatial scale by using them to estimate customer mobility flow between supermarket zones. We use anonymized mobility data of customers in supermarkets to calibrate our models and apply variants of the gravity and intervening-opportunities models to fit this mobility flow and estimate the flow on unseen data. We find that a doubly-constrained gravity model can successfully estimate 65-70% of the flow inside supermarkets. We then investigate how to reduce congestion in supermarkets by combining mobility models with queueing networks. We use a simulated-annealing algorithm to find store layouts with lower congestion than the original layout. Our research gives insight both into how customers move in supermarkets and into how retailers can arrange stores to reduce congestion. It also provides a case study of human mobility on small spatial scales.