def METHOD_NAME(self, vatin):
    if (len(vatin) != 11 or vatin.isdigit() is False):
        return False
    # A Luhn algorithm implementation
    x = 0
    y = 0
    z = 0
    for i in range(0, 10, 2):
        x += int(vatin[i:i + 1])
    for i in range(1, 10, 2):
        y += 2 * (int(vatin[i:i + 1]))
        if int(vatin[i:i + 1]) >= 5:
            z = z + 1
    t = (x + y + z) % 10
    c = int(vatin[10:11])
    return c == (10 - t) % 10