And unless the person buries a shop stand to be completely inaccessible and thus always be listed. They could even have different prices on the inaccessible stand than on the actual ones, as a sort of ‘phishing’ attempt to trick players that don’t pay attention.
They would lose reputation, sure, but short of word-of-mouth within small groups, the scummy practices of the shopkeeper wouldn’t reach every player. You couldn’t name and shame on the forums and discord due to the Code of Conduct, but even if you could use those mediums to warn people… most users of the system wouldn’t be looking for shop information on the forums / discord anymore.
Listings, of whatever kind the devs decide to use (if they decide to do this at all), must take this into account, and so the list should only be updated with information about things that have been bought/sold in the last 24 hours, instead of being updated every time that items/coins are put on baskets/stands stocks.
The trade-off is that it would still lead people to go to shops and find the basket/stand empty (if they go with the option of showing coordinates), so that would have a slightly lessened impact on travel habits and wouldn’t eliminate the problem entirely.
I suppose they could do a mix of both methods and remove the coordinates from the list if the basket / stand is out of stock (or in the case of baskets, if it’s either too full to accept more items, or doesn’t have enough coins to buy any, even if the coin amount is non-zero).
I’d still prefer statistics instead of the coordinate and stock method but the points above should at least cover the ways to abuse a full listing system that I could immediately think of (and probably so could other people).