class ConfigurationReaderException(Exception):
    pass


class InvalidMessageContentException(Exception):
    pass


class OrderNotFoundException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_ORDER_NOT_FOUND")


class BenefitNotFound(Exception):
    pass


class TimeoutException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_TIMEOUT")


class ProductNotFound(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_PRODUCT_NOT_FOUND")


class InvalidTenderIdException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_INVALID_TENDER_ID")


class InvalidAmountException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_INVALID_AMOUNT")


class InvalidPercentageException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_INVALID_PERCENTAGE")


class NotEffectiveDiscountException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_NOT_EFFECTIVE_DISCOUNT")


class InvalidOperationException(Exception):
    def __init__(self):
        super(Exception, self).__init__("NDISCOUNT_INVALID_OPERATION")


class InvalidQuantityException(Exception):
    def __init__(self):
        super(Exception, self).__init__()
