def get_seat_allocations(plan):
    """
    Return the seat allocations  for the specified plan

    :param plan: Seating plan
    :return: A list of (seat number, passenger ID) tuples for allocated seats
    """
    return [
        (seat_number, plan[row]["seats"][seat_number])
        for row in plan.keys() if row.isnumeric()
        for seat_number in plan[row]["seats"]
        if plan[row]["seats"][seat_number] is not None
    ]