def METHOD_NAME(rhapi, generate_args=None):
    available_seats = generate_args.get('available_seats')
    suffix = rhapi.__(generate_args.get('suffix', 'Qualifier'))
    if generate_args.get('qualifiers_per_heat'):
        qualifiers_per_heat = int(generate_args['qualifiers_per_heat'])
    else:
        qualifiers_per_heat = available_seats
    if qualifiers_per_heat < 1:
        logger.warning("Unable to seed ladder: provided qualifiers must be > 1")
        return False
    total_pilots = getTotalPilots(rhapi, generate_args)
    if total_pilots == 0:
        logger.warning("Unable to seed heats: no pilots available")
        return False
    total_heats = (total_pilots // qualifiers_per_heat)
    if total_pilots % qualifiers_per_heat:
        total_heats += 1
    letters = rhapi.__('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
    heats = []
    for idx in range(total_heats):
        heats.append(HeatPlan(letters[idx] + ' ' + suffix, []))
    if 'seed_offset' in generate_args:
        seed_offset = max(int(generate_args['seed_offset']) - 1, 0)
    else:
        seed_offset = 0
    unseeded_pilots = list(range(seed_offset, total_pilots+seed_offset))
    random.shuffle(unseeded_pilots)
    heatNum = 0
    while len(unseeded_pilots):
        if heatNum >= len(heats):
            heatNum = 0
        heats[heatNum].slots.append(HeatPlanSlot(SeedMethod.INPUT, unseeded_pilots.pop(0) + 1))
        heatNum += 1
    return heats