class LogisticPartnerNotFound(Exception):
    pass


class LogisticSearchError(Exception):
    pass


class LogisticCancelError(Exception):
    pass


class LogisticRequestError(Exception):
    pass


class SaveDeliveryOrderError(Exception):
    pass


class SendLogisticError(Exception):
    pass


class SendOrderToProductionError(Exception):
    pass


class DeliveryCouponPrintError(Exception):
    pass


class NotFoundUserError(Exception):
    pass


class GettingPosVersionException(Exception):
    pass


class BenefitAppliedException(Exception):
    pass


class RemoveBenefitException(Exception):
    pass


class ErrorGettingBenefits(Exception):
    pass


class InvalidTipError(Exception):
    pass


class UpdateRuptureException(Exception):
    pass


class CleanRuptureException(Exception):
    pass


class ErrorGettingSalesChallenge(Exception):
    pass


class ErrorOnInsertSalesChallenge(Exception):
    pass


class ErrorOnUpdateSalesChallenge(Exception):
    pass


class ErrorOnDeleteSalesChallenge(Exception):
    pass


class DateFormatException(Exception):
    pass


class GettingUserInfoException(Exception):
    pass


class CanceledDialogException(Exception):
    pass


class RequiredDocumentException(Exception):
    pass


class ErrorGettingNFType(Exception):
    pass


class ErrorGettingCertificateExpirationDays(Exception):
    pass


class ErrorApplyingDiscount(Exception):
    def __init__(
        self,        # type: ErrorApplyingDiscount
        error_code,  # type: str
    ):
        # type: (...) -> None

        self.error_code = error_code


class DiscountMinLevelException(Exception):
    def __init__(
        self,
        min_level_required,     # type: int
    ):
        # type: (...) -> None

        self.min_level_required = min_level_required


class GetRuptureItemsException(Exception):
    pass


class MinQuantityException(Exception):
    pass


class MaxQuantityException(Exception):
    pass


class ElectronicPaymentException(Exception):
    pass


class ProductNotExistsException(Exception):
    pass


class MissingTenderParametersException(Exception):
    pass


class RemoteOrderStoreStatusError(Exception):
    pass


class ErrorGettingDevicesData(Exception):
    pass


class ErrorGettingProductData(Exception):
    pass


class ComponentNotFound(Exception):
    def __init__(
        self,
        component,  # type: str
    ):
        # type: (...) -> None

        content = "$COMPONENT_NOT_FOUND|{}".format(component)
        super(ComponentNotFound, self).__init__(content)
