def METHOD_NAME(self, request, instances):
    if len(instances) != 1:
        raise InvalidArguments('kraken autocomplete works only for one (and only one) instance')
    instance = instances[0]
    req = request_pb2.Request()
    req.requested_api = type_pb2.places
    req.places.q = request['q']
    req.places.depth = request['depth']
    req.places.count = request['count']
    req.places.search_type = request['search_type']
    req.places.main_stop_area_weight_factor = request.METHOD_NAME('_main_stop_area_weight_factor', 1.0)
    req._current_datetime = date_to_timestamp(request['_current_datetime'])
    req.disable_disruption = True
    if request["type[]"]:
        for type in request["type[]"]:
            if type not in places_type:
                abort(422, message="{} is not an acceptable type".format(type))
            req.places.types.append(places_type[type])
    if request["admin_uri[]"]:
        for admin_uri in request["admin_uri[]"]:
            req.places.admin_uris.append(admin_uri)
    resp = instance.send_and_receive(req)
    if len(resp.places) == 0 and request['search_type'] == 0:
        req.places.search_type = 1
        resp = instance.send_and_receive(req)
    build_pagination(request, resp)
    return resp