From https://www.shopmobilityuk.org/about-us/ it looks like the hire is usual subsidised and sometimes free. So, I think amenity=* or amenity=social_facility + social_facility=* would be better, rather than shop=*.
There’s a small number of instances (currently 7) of amenity=mobility_equipment_hire in the UK, which might be worth considering.
In UK/IE I’m aware of the a few combinations, resulting in this lua processing:
-- ----------------------------------------------------------------------------
-- Shopmobility
-- Note that "shop=mobility" is something that _sells_ mobility aids, and is
-- handled as shop=nonspecific for now.
-- We handle some specific cases of shop=mobility here; the rest below.
-- ----------------------------------------------------------------------------
if (( passedt.amenity == "mobility" ) or
( passedt.amenity == "mobility_equipment_hire" ) or
( passedt.amenity == "mobility_aids_hire" ) or
( passedt.amenity == "shop_mobility" ) or
(( passedt.amenity == "social_facility" ) and
( passedt.social_facility == "shopmobility" )) or
((( passedt.shop == "yes" ) or
( passedt.shop == "mobility" ) or
( passedt.shop == "mobility_hire" ) or
( passedt.building == "yes" ) or
( passedt.building == "unit" )) and
(( passedt.name == "Shopmobility" ) or
( passedt.name == "Shop Mobility" )))) then
passedt.landuse = "unnamedcommercial"
passedt.amenity = "shopmobility"
end
(in that code the table attribute such as “amenity” corresponds to an OSM key and the value to the value in OSM)
Where these are all the same thing it would make sense to consolidate them. I suspect that a number will also currently be mistagged as shops that sell mobility aids, but those may need a survey to identify and resolve.