import hashlib


def generate_id(poi_dict):
    """
    Generates an unique ID based on the encoded string of the POI's name, address and location information.
    """
    poi_string = poi_dict['properties']['name'] + \
                 poi_dict['properties']['address'] + \
                 str(poi_dict['geometry']['lat']) + \
                 str(poi_dict['geometry']['lng'])
    hasher = hashlib.md5()
    hasher.update(poi_string.encode('utf-8'))
    generated_id = hasher.hexdigest()
    return generated_id