My main project will have separate "city districts" that you can traverse, either through the streets themselves or the metro system. Of course, the issue with that is how do you limit what shops characters have access to, especially if most districts will be accessible from the start of the game. One solution is to make items more and more expensive, so that even if you have access, you currently can't afford items that are meant for later in the game. Another solution is to directly limit access to locations behind some roadblock. The second solution is not very immersive, especially if you want to develop a cohesive game world.
In other words, I'm kind of stuck and I'm not sure which method to implement.