Mapping multiple rooms and obstacles

Which is the best way to map the following?

  • Multiple rooms (better one location per room or a single location with multiple rooms?)
  • Doors (e.g. if a user needs to move from one room to another)
  • Obstacles within the room (e.g. columns, separation walls, restricted areas)
  • Objects within the room (I think addBeaconWithIdentifier:withPosition: as explained in Beacons inside location)
  • Multiple floors (I guess multiple locations is the only possibility in such case, right?)

Thanks. Regards.
Luca