docs: def get_available_routers(self, dc=None):
          """Pulls down all backendRouterIds that are available
  
          :param string dc: A specific location to get routers for, like 'dal13'.
          :returns list: A list of locations where RESERVED_CAPACITY can be ordered.
          """
          mask = "mask[locations]"
          # Step 1, get the package id
          package = self.ordering_manager.get_package_by_key(self.capacity_package, mask="id")
  
          # Step 2, get the regions this package is orderable in
          regions = self.client.call('Product_Package', 'getRegions', id=package['id'], mask=mask, iter=True)
          _filter = None
          routers = {}
          if dc is not None:
              _filter = {'datacenterName': {'operation': dc}}
  
          # Step 3, for each location in each region, get the pod details, which contains the router id
          pods = self.client.call('Network_Pod', 'getAllObjects', filter=_filter, iter=True)
          for region in regions:
              routers[region['keyname']] = []
              for location in region['locations']:
                  location['location']['pods'] = list()
                  for pod in pods:
                      if pod['datacenterName'] == location['location']['name']:
                          location['location']['pods'].append(pod)
  
          # Step 4, return the data.
          return regions