def METHOD_NAME(data):
    '''
      {
        "id":2026,
        "stationName":"Broadway & W 60 Street",
        "availableDocks":0,
        "totalDocks":0,
        "latitude":40.76915505,
        "longitude":-73.98191841,
        "statusValue":"Planned",
        "statusKey":2,
        "availableBikes":0,
        "stAddress1":"Broadway & W 60 Street",
        "stAddress2":"",
        "city":"",
        "postalCode":"",
        "location":"",
        "altitude":"",
        "testStation":false,
        "lastCommunicationTime":null,
        "landMark":""
      }
    '''
    station = BixiStation()
    if data['statusValue'] == 'Planned' or data['testStation']:
        raise exceptions.StationPlannedException()
    station.name      = "%s - %s" % (data['id'], data['stationName'])
    station.longitude = float(data['longitude'])
    station.latitude  = float(data['latitude'])
    station.bikes     = int(data['availableBikes'])
    station.free      = int(data['availableDocks'])
    station.extra = {
        'uid': int(data['id']),
        'statusValue': data['statusValue'],
        'statusKey': data['statusKey'],
        'stAddress1': data['stAddress1'],
        'stAddress2': data['stAddress2'],
        'city': data['city'],
        'postalCode': data['postalCode'],
        'location': data['location'],
        'altitude': data['altitude'],
        'testStation': data['testStation'],
        'lastCommunicationTime': data['lastCommunicationTime'],
        'landMark': data['landMark'],
        'totalDocks': data['totalDocks']
    }
    return station