"""pay_quicker_sdk.

This file was automatically generated for PayQuicker by APIMATIC v3.0 (
 https://www.apimatic.io ).
"""

# ruff: noqa: E501

class WebhookNamespaces(object):
    """Implementation of the '__WebhookNamespaces' enum.

    Namespace used to identify and refer to the object

    Attributes:
        BANKACCOUNTS_CREATED: The enum member of type str.
        BANKACCOUNTS_UPDATED_DETAILS_MODIFIED: The enum member of type str.
        BANKACCOUNTS_UPDATED_STATUS_APPROVED: The enum member of type str.
        BANKACCOUNTS_UPDATED_STATUS_COMPLIANCEHOLD: The enum member of type str.
        BANKACCOUNTS_UPDATED_STATUS_DELETED: The enum member of type str.
        PAPERCHECKS_CREATED: The enum member of type str.
        PAPERCHECKS_UPDATED_DETAILS_MODIFIED: The enum member of type str.
        PAPERCHECKS_UPDATED_STATUS_CANCELLED: The enum member of type str.
        PAPERCHECKS_UPDATED_STATUS_INPROGRESS: The enum member of type str.
        PAPERCHECKS_UPDATED_STATUS_REDEEMED: The enum member of type str.
        PAYMENTQUOTES_ACCEPTED: The enum member of type str.
        PAYMENTQUOTES_CANCELLED: The enum member of type str.
        PAYMENTQUOTES_CREATED: The enum member of type str.
        PAYMENTQUOTES_VOIDED: The enum member of type str.
        PREPAIDCARDS_CREATED: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_ACTIVE: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_CLOSED: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_CLOSEDEXPIRED: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_CLOSEDFRAUD: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_CLOSEDLOST: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_CLOSEDSTOLEN: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_COMPLIANCEHOLD: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_PENDINGACTIVATION: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_PENDINGORDER: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_PENDINGRELEASE: The enum member of type str.
        PREPAIDCARDS_UPDATED_STATUS_SUSPENDED: The enum member of type str.
        RECEIPTS_CREATED: The enum member of type str.
        RECEIPTS_UPDATED_DETAILS_MODIFIED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_CANCELLED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_COMPLETED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_EXPIRED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_FAILED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_PENDING: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_PROCESSING: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_REFUNDED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_RETURNED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_REVERSED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_REVIEWREQUIRED: The enum member of type str.
        RECEIPTS_UPDATED_STATUS_SCHEDULED: The enum member of type str.
        SPENDBACKQUOTES_ACCEPTED: The enum member of type str.
        SPENDBACKQUOTES_CANCELLED: The enum member of type str.
        SPENDBACKQUOTES_CREATED: The enum member of type str.
        SPENDBACKQUOTES_VOIDED: The enum member of type str.
        TRANSFERQUOTES_ACCEPTED: The enum member of type str.
        TRANSFERQUOTES_CANCELLED: The enum member of type str.
        TRANSFERQUOTES_CREATED: The enum member of type str.
        TRANSFERQUOTES_VOIDED: The enum member of type str.
        USEREVENTS_COMPLETED: The enum member of type str.
        USEREVENTS_STARTED: The enum member of type str.
        USEREVENTS_UPDATED: The enum member of type str.
        USERS_CREATED: The enum member of type str.
        USERS_UPDATED_IDV_FAILED: The enum member of type str.
        USERS_UPDATED_IDV_PASSED: The enum member of type str.
        USERS_UPDATED_KYC_APPROVED: The enum member of type str.
        USERS_UPDATED_KYC_PROVIDED: The enum member of type str.
        USERS_UPDATED_KYC_REJECTED: The enum member of type str.
        USERS_UPDATED_KYC_REQUIRED: The enum member of type str.
        USERS_UPDATED_STATUS_REGISTRATIONCOMPLETE: The enum member of type str.
        USERS_UPDATED_STATUS_REGISTRATIONINPROGRESS: The enum member of type str.
        ELECTRONICWALLETS_CREATED: The enum member of type str.
        ELECTRONICWALLETS_UPDATED_DETAILS_MODIFIED: The enum member of type str.
        ELECTRONICWALLETS_UPDATED_STATUS_APPROVED: The enum member of type str.
        ELECTRONICWALLETS_UPDATED_STATUS_COMPLIANCEHOLD: The enum member of type str.
        ELECTRONICWALLETS_UPDATED_STATUS_DELETED: The enum member of type str.
        UNKNOWN: The enum member of type str.
        additional_properties (Dict[str, object]): The additional properties for the
            model.

    """

    BANKACCOUNTS_CREATED = "BANKACCOUNTS.CREATED"

    BANKACCOUNTS_UPDATED_DETAILS_MODIFIED = "BANKACCOUNTS.UPDATED.DETAILS.MODIFIED"

    BANKACCOUNTS_UPDATED_STATUS_APPROVED = "BANKACCOUNTS.UPDATED.STATUS.APPROVED"

    BANKACCOUNTS_UPDATED_STATUS_COMPLIANCEHOLD = "BANKACCOUNTS.UPDATED.STATUS.COMPLIANCEHOLD" # noqa: E501

    BANKACCOUNTS_UPDATED_STATUS_DELETED = "BANKACCOUNTS.UPDATED.STATUS.DELETED"

    PAPERCHECKS_CREATED = "PAPERCHECKS.CREATED"

    PAPERCHECKS_UPDATED_DETAILS_MODIFIED = "PAPERCHECKS.UPDATED.DETAILS.MODIFIED"

    PAPERCHECKS_UPDATED_STATUS_CANCELLED = "PAPERCHECKS.UPDATED.STATUS.CANCELLED"

    PAPERCHECKS_UPDATED_STATUS_INPROGRESS = "PAPERCHECKS.UPDATED.STATUS.INPROGRESS"

    PAPERCHECKS_UPDATED_STATUS_REDEEMED = "PAPERCHECKS.UPDATED.STATUS.REDEEMED"

    PAYMENTQUOTES_ACCEPTED = "PAYMENTQUOTES.ACCEPTED"

    PAYMENTQUOTES_CANCELLED = "PAYMENTQUOTES.CANCELLED"

    PAYMENTQUOTES_CREATED = "PAYMENTQUOTES.CREATED"

    PAYMENTQUOTES_VOIDED = "PAYMENTQUOTES.VOIDED"

    PREPAIDCARDS_CREATED = "PREPAIDCARDS.CREATED"

    PREPAIDCARDS_UPDATED_STATUS_ACTIVE = "PREPAIDCARDS.UPDATED.STATUS.ACTIVE"

    PREPAIDCARDS_UPDATED_STATUS_CLOSED = "PREPAIDCARDS.UPDATED.STATUS.CLOSED"

    PREPAIDCARDS_UPDATED_STATUS_CLOSEDEXPIRED = "PREPAIDCARDS.UPDATED.STATUS.CLOSEDEXPIRED" # noqa: E501

    PREPAIDCARDS_UPDATED_STATUS_CLOSEDFRAUD = "PREPAIDCARDS.UPDATED.STATUS.CLOSEDFRAUD"

    PREPAIDCARDS_UPDATED_STATUS_CLOSEDLOST = "PREPAIDCARDS.UPDATED.STATUS.CLOSEDLOST"

    PREPAIDCARDS_UPDATED_STATUS_CLOSEDSTOLEN = "PREPAIDCARDS.UPDATED.STATUS.CLOSEDSTOLEN" # noqa: E501

    PREPAIDCARDS_UPDATED_STATUS_COMPLIANCEHOLD = "PREPAIDCARDS.UPDATED.STATUS.COMPLIANCEHOLD" # noqa: E501

    PREPAIDCARDS_UPDATED_STATUS_PENDINGACTIVATION = "PREPAIDCARDS.UPDATED.STATUS.PENDINGACTIVATION" # noqa: E501

    PREPAIDCARDS_UPDATED_STATUS_PENDINGORDER = "PREPAIDCARDS.UPDATED.STATUS.PENDINGORDER" # noqa: E501

    PREPAIDCARDS_UPDATED_STATUS_PENDINGRELEASE = "PREPAIDCARDS.UPDATED.STATUS.PENDINGRELEASE" # noqa: E501

    PREPAIDCARDS_UPDATED_STATUS_SUSPENDED = "PREPAIDCARDS.UPDATED.STATUS.SUSPENDED"

    RECEIPTS_CREATED = "RECEIPTS.CREATED"

    RECEIPTS_UPDATED_DETAILS_MODIFIED = "RECEIPTS.UPDATED.DETAILS.MODIFIED"

    RECEIPTS_UPDATED_STATUS_CANCELLED = "RECEIPTS.UPDATED.STATUS.CANCELLED"

    RECEIPTS_UPDATED_STATUS_COMPLETED = "RECEIPTS.UPDATED.STATUS.COMPLETED"

    RECEIPTS_UPDATED_STATUS_EXPIRED = "RECEIPTS.UPDATED.STATUS.EXPIRED"

    RECEIPTS_UPDATED_STATUS_FAILED = "RECEIPTS.UPDATED.STATUS.FAILED"

    RECEIPTS_UPDATED_STATUS_PENDING = "RECEIPTS.UPDATED.STATUS.PENDING"

    RECEIPTS_UPDATED_STATUS_PROCESSING = "RECEIPTS.UPDATED.STATUS.PROCESSING"

    RECEIPTS_UPDATED_STATUS_REFUNDED = "RECEIPTS.UPDATED.STATUS.REFUNDED"

    RECEIPTS_UPDATED_STATUS_RETURNED = "RECEIPTS.UPDATED.STATUS.RETURNED"

    RECEIPTS_UPDATED_STATUS_REVERSED = "RECEIPTS.UPDATED.STATUS.REVERSED"

    RECEIPTS_UPDATED_STATUS_REVIEWREQUIRED = "RECEIPTS.UPDATED.STATUS.REVIEWREQUIRED"

    RECEIPTS_UPDATED_STATUS_SCHEDULED = "RECEIPTS.UPDATED.STATUS.SCHEDULED"

    SPENDBACKQUOTES_ACCEPTED = "SPENDBACKQUOTES.ACCEPTED"

    SPENDBACKQUOTES_CANCELLED = "SPENDBACKQUOTES.CANCELLED"

    SPENDBACKQUOTES_CREATED = "SPENDBACKQUOTES.CREATED"

    SPENDBACKQUOTES_VOIDED = "SPENDBACKQUOTES.VOIDED"

    TRANSFERQUOTES_ACCEPTED = "TRANSFERQUOTES.ACCEPTED"

    TRANSFERQUOTES_CANCELLED = "TRANSFERQUOTES.CANCELLED"

    TRANSFERQUOTES_CREATED = "TRANSFERQUOTES.CREATED"

    TRANSFERQUOTES_VOIDED = "TRANSFERQUOTES.VOIDED"

    USEREVENTS_COMPLETED = "USEREVENTS.COMPLETED"

    USEREVENTS_STARTED = "USEREVENTS.STARTED"

    USEREVENTS_UPDATED = "USEREVENTS.UPDATED"

    USERS_CREATED = "USERS.CREATED"

    USERS_UPDATED_IDV_FAILED = "USERS.UPDATED.IDV.FAILED"

    USERS_UPDATED_IDV_PASSED = "USERS.UPDATED.IDV.PASSED"

    USERS_UPDATED_KYC_APPROVED = "USERS.UPDATED.KYC.APPROVED"

    USERS_UPDATED_KYC_PROVIDED = "USERS.UPDATED.KYC.PROVIDED"

    USERS_UPDATED_KYC_REJECTED = "USERS.UPDATED.KYC.REJECTED"

    USERS_UPDATED_KYC_REQUIRED = "USERS.UPDATED.KYC.REQUIRED"

    USERS_UPDATED_STATUS_REGISTRATIONCOMPLETE = "USERS.UPDATED.STATUS.REGISTRATIONCOMPLETE" # noqa: E501

    USERS_UPDATED_STATUS_REGISTRATIONINPROGRESS = "USERS.UPDATED.STATUS.REGISTRATIONINPROGRESS" # noqa: E501

    ELECTRONICWALLETS_CREATED = "ELECTRONICWALLETS.CREATED"

    ELECTRONICWALLETS_UPDATED_DETAILS_MODIFIED = "ELECTRONICWALLETS.UPDATED.DETAILS.MODIFIED" # noqa: E501

    ELECTRONICWALLETS_UPDATED_STATUS_APPROVED = "ELECTRONICWALLETS.UPDATED.STATUS.APPROVED" # noqa: E501

    ELECTRONICWALLETS_UPDATED_STATUS_COMPLIANCEHOLD = "ELECTRONICWALLETS.UPDATED.STATUS.COMPLIANCEHOLD" # noqa: E501

    ELECTRONICWALLETS_UPDATED_STATUS_DELETED = "ELECTRONICWALLETS.UPDATED.STATUS.DELETED" # noqa: E501

    UNKNOWN = "UNKNOWN"

    @classmethod
    def from_value(cls, value, default=None):
        """Return the matching enum value for the given input."""
        if value is None:
            return default

        # If numeric and matches directly
        if isinstance(value, int):
            for name, val in cls.__dict__.items():
                if not name.startswith("_") and val == value:
                    return val

        # If string, perform case-insensitive match
        if isinstance(value, str):
            value_lower = value.lower()
            for name, val in cls.__dict__.items():
                if not name.startswith("_") and (
                    name.lower() == value_lower or str(val).lower() == value_lower
                ):
                    return val

        # Fallback to default
        return default
