Entities and Slots have same name

I have noticed that the entities and slots that have the same name can only fill slots. For example: If I want to fill a location slot, I must have an entity named location as well, even when there exists other slots like cities and towns that also require location entity. I want to know the workaround to use only 1 entity for 3 slots. I want to use location entity to fill slots cities and towns as well.

I don’t think rather has a native solution for this yet, but you can write a custom action which copies the general slot into the more specific one, like this:

from rasa_core_sdk import Action
from rasa_core_sdk.events import SlotSet

class SourceAirportAction(Action):
   def name(self):
      # type: () -> Text
      return "source_airport_action"

   def run(self, dispatcher, tracker, domain):
      city = tracker.get_slot('location')
      return [SlotSet("city", city)]

I solved it by using FormAction slot_mappings instead. Thanks!