"""mindbodypublicapi.

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

# ruff: noqa: E501

class AllowedPermissionEnum(object):
    """Implementation of the 'AllowedPermission' enum.

    Attributes:
        MANAGECLASSANDEVENTDESCRIPTIONS: The enum member of type str.
        MANAGECLASSSCHEDULES: The enum member of type str.
        SCHEDULEFREECLASSESANDEVENTS: The enum member of type str.
        SCHEDULERESOURCESFORCLASSESANDEVENTS: The enum member of type str.
        SUBSTITUTECLASSANDEVENTTEACHERS: The enum member of type str.
        BULKEDITCLASSSCHEDULES: The enum member of type str.
        ADDSTAFFMEMBERS: The enum member of type str.
        MANAGEPERSONALINFOFORSTAFF: The enum member of type str.
        MANAGESTAFFSETTINGS: The enum member of type str.
        MANAGESTAFFLOGINS: The enum member of type str.
        MANAGESTAFFSCHEDULES: The enum member of type str.
        MANAGESTAFFPAYRATES: The enum member of type str.
        ACCESSBUSINESSINFORMATIONSCREEN: The enum member of type str.
        ACCESSGENERALSETUPOPTIONSSCREEN: The enum member of type str.
        ACCESSNEWSEVENTSSCREEN: The enum member of type str.
        MANAGEHOLIDAYS: The enum member of type str.
        CLASSANDEVENTOPTIONSSCREEN: The enum member of type str.
        APPOINTMENTOPTIONSSCREEN: The enum member of type str.
        ACCESSMEDIAMANAGEMENTSCREEN: The enum member of type str.
        ACCESSMEMBERSHIPSETUPSCREEN: The enum member of type str.
        MANAGEPAYMENTMETHODS: The enum member of type str.
        MANAGEROOMNUMBERS: The enum member of type str.
        ACCESSRESOURCEMANAGEMENTSCREEN: The enum member of type str.
        ACCESSRESOURCESSCHEDULINGTAB: The enum member of type str.
        ACCESSLINKSSCREEN: The enum member of type str.
        BULKCANCELCLIENTRESERVATIONS: The enum member of type str.
        FINDDUPLICATECLIENTS: The enum member of type str.
        MERGEDUPLICATECLIENTS: The enum member of type str.
        MANAGEAUTOEMAILS: The enum member of type str.
        MANAGEREVENUECATEGORIESFORSERVICES: The enum member of type str.
        MANAGEREVENUECATEGORIESFORPRODUCTS: The enum member of type str.
        ACCESSACTIVESESSIONTIMESSCREEN: The enum member of type str.
        ACCESSCLASSSESSIONTYPESCREENS: The enum member of type str.
        ACCESSSERVICECATEGORIESSCREEN: The enum member of type str.
        MANAGESUBSCRIBERPRICING: The enum member of type str.
        ADDINTROOFFERSONACQUISITIONDASHBOARD: The enum member of type str.
        MANAGEMINDBODYNETWORKSETTINGS: The enum member of type str.
        MANAGEPRODUCTS: The enum member of type str.
        VIEWPRODUCTCOST: The enum member of type str.
        MANAGEMEMBERSHIPSETTINGSFORPRICING: The enum member of type str.
        MANAGEPROMOTIONCODES: The enum member of type str.
        EDITSALES: The enum member of type str.
        PRINTPRODUCTBARCODES: The enum member of type str.
        MAKESALES: The enum member of type str.
        ADDPRODUCTSONRETAILSCREEN: The enum member of type str.
        EDITSALEDATEONRETAILSCREEN: The enum member of type str.
        EDITSALEPRICECOUNTONRETAILSCREEN: The enum member of type str.
        EDITACTIVATIONDATEONRETAILSCREEN: The enum member of type str.
        APPLYCUSTOMDISCOUNTSONRETAILSCREEN: The enum member of type str.
        PAYFORANOTHERCLIENTONRETAILSCREEN: The enum member of type str.
        VOIDEDITPASTSALES: The enum member of type str.
        REFUNDSALES: The enum member of type str.
        REFUNDSALESTOCREDITCARDS: The enum member of type str.
        LOCATIONSWITCHING: The enum member of type str.
        PULLREPORTSFORALLLOCATIONS: The enum member of type str.
        LOGINVENTORY: The enum member of type str.
        ADJUSTINVENTORY: The enum member of type str.
        TRANSFERINVENTORY: The enum member of type str.
        MANAGEPURCHASEORDERS: The enum member of type str.
        MANAGELOCATIONLOCALIZATION: The enum member of type str.
        MANAGEPERMISSIONGROUPS: The enum member of type str.
        MANAGECONSTANTCONTACTSETTINGS: The enum member of type str.
        ACCESSSERVICESPRICINGSCREEN: The enum member of type str.
        MANAGESEMESTERS: The enum member of type str.
        MANAGERETENTIONMARKETING: The enum member of type str.
        MANAGESUBSCRIBERSETUPCHECKLIST: The enum member of type str.
        VIEWCLASSANDEVENTRESERVATIONS: The enum member of type str.
        BOOKCLASSESANDEVENTS: The enum member of type str.
        BOOKCLASSESANDEVENTSINTHEPAST: The enum member of type str.
        BOOKCLASSESANDEVENTSWITHOUTPAYMENT: The enum member of type str.
        CANCELCLASSESANDEVENTS: The enum member of type str.
        MANAGECLASSNOTES: The enum member of type str.
        VIEWAPPOINTMENTSCHEDULE: The enum member of type str.
        VIEWPERSONALAPPOINTMENTSCHEDULE: The enum member of type str.
        EDITPERSONALAPPOINTMENTSCHEDULE: The enum member of type str.
        VIEWAPPOINTMENTDETAILS: The enum member of type str.
        MANAGEAPPOINTMENTREQUESTS: The enum member of type str.
        BOOKAPPOINTMENTSFOROTHERSTAFFMEMBERS: The enum member of type str.
        BOOKAPPOINTMENTSINTHEPAST: The enum member of type str.
        CHANGEAPPOINTMENTDETAILS: The enum member of type str.
        USEANYAPPOINTMENTASANADDON: The enum member of type str.
        CHANGEAPPOINTMENTDURATION: The enum member of type str.
        CANCELAPPOINTMENTS: The enum member of type str.
        APPLYPAYMENTTOAPPOINTMENTS: The enum member of type str.
        CHECKOUTAPPOINTMENTS: The enum member of type str.
        OVERRIDEASSIGNEDPRICING: The enum member of type str.
        MANAGEAPPOINTMENTCOLORS: The enum member of type str.
        VIEWALLLOCATIONONCLIENTLOOKUPSCREEN: The enum member of type str.
        ADDCLIENT: The enum member of type str.
        VIEWCLIENTPROFILESCREEN: The enum member of type str.
        EDITCLIENTPROFILESCREEN: The enum member of type str.
        ASSIGNCLIENTINDEXES: The enum member of type str.
        MANAGECLIENTSUSPENSIONS: The enum member of type str.
        VIEWCLIENTPASTVISITS: The enum member of type str.
        VIEWCLIENTACCOUNTANDPURCHASEHISTORY: The enum member of type str.
        EDITCLIENTSERVICEDURATIONANDASSIGNEDVISITS: The enum member of type str.
        EDITCLIENTSERVICESESSIONCOUNT: The enum member of type str.
        IGNORESERVICECATEGORIESWHENREASSIGNINGPAYMENT: The enum member of type str.
        VIEWCLIENTAUTOPAYSCHEDULES: The enum member of type str.
        MANAGECLIENTAUTOPAYSCHEDULES: The enum member of type str.
        VIEWCLIENTDOCUMENTS: The enum member of type str.
        ADDCLIENTDOCUMENTS: The enum member of type str.
        DELETECLIENTDOCUMENTS: The enum member of type str.
        VIEWCLIENTFUTUREVISITS: The enum member of type str.
        VIEWCLIENTBILLINGINFORMATION: The enum member of type str.
        EDITCLIENTBILLINGINFORMATION: The enum member of type str.
        MANAGECLIENTLOGINS: The enum member of type str.
        UNASSIGNCLIENTGIFTCARDS: The enum member of type str.
        IGNORECANCELLATIONPOLICY: The enum member of type str.
        LAUNCHSIGNINSCREEN: The enum member of type str.
        DELETEANDTERMINATECLIENTCONTRACTS: The enum member of type str.
        RELEASECONTRACTDEPOSITS: The enum member of type str.
        AUTORENEWANDSUSPENDCONTRACTS: The enum member of type str.
        MANAGECLASSTESTS: The enum member of type str.
        SCHEDULECLASSTESTS: The enum member of type str.
        MANAGECLIENTREQUIREDFIELDS: The enum member of type str.
        MANAGECLIENTALERTS: The enum member of type str.
        MANAGECLIENTTYPESANDCLIENTINDEXES: The enum member of type str.
        MANAGECLIENTREFERRALTYPES: The enum member of type str.
        MANAGECLIENTRELATIONSHIPTYPES: The enum member of type str.
        MANAGECLIENTGENDERS: The enum member of type str.
        CLIENTACQUISITIONANDANALYTICSDASHBOARDS: The enum member of type str.
        VIEWRETENTIONMARKETINGDASHBOARD: The enum member of type str.
        EXPORTREPORTS: The enum member of type str.
        MANAGETAGGEDCLIENTS: The enum member of type str.
        STAFFPHONEBOOKREPORT: The enum member of type str.
        SCHEDULEATAGLANCEREPORTFORALLSTAFF: The enum member of type str.
        PERSONALSCHEDULEATAGLANCEREPORT: The enum member of type str.
        ATTENDANCEWITHREVENUEREPORT: The enum member of type str.
        CANCELLATIONSREPORT: The enum member of type str.
        PERSONALCANCELLATIONSREPORT: The enum member of type str.
        ACCOUNTBALANCESREPORT: The enum member of type str.
        BULKAUTOPAYSCHEDULINGFROMACCOUNTBALANCESREPORT: The enum member of type str.
        EVENTINVOICESREPORT: The enum member of type str.
        CASHDRAWERREPORTCURRENTDATE: The enum member of type str.
        CASHDRAWERREPORTANYDATE: The enum member of type str.
        DAILYCLOSEOUTREPORT: The enum member of type str.
        SALESREPORTS: The enum member of type str.
        SALESBYSUPPLIERANDPRODUCTREPORTS: The enum member of type str.
        PROMOTEFEESREPORT: The enum member of type str.
        GIFTCARDSREPORT: The enum member of type str.
        INVENTORYREPORTS: The enum member of type str.
        MARKETINGREPORTS: The enum member of type str.
        ANALYSISREPORTS: The enum member of type str.
        CLIENTINDEXESREPORTS: The enum member of type str.
        PAYROLLREPORTSFORALLSTAFF: The enum member of type str.
        PERSONALPAYROLLREPORTS: The enum member of type str.
        STAFFPERFORMANCEREPORTS: The enum member of type str.
        ONLINEMETRICSREPORT: The enum member of type str.
        RETENTIONMANAGEMENTREPORT: The enum member of type str.
        ENTRYLOGSREPORT: The enum member of type str.
        STAFFACTIVITYLOGREPORT: The enum member of type str.
        MEMBERSHIPREPORT: The enum member of type str.
        MANAGEONLINEORDERSREPORT: The enum member of type str.
        TASKSREPORT: The enum member of type str.
        CLOCKSELFINANDOUT: The enum member of type str.
        CLOCKOTHERSINANDOUT: The enum member of type str.
        ACCESSTIMECLOCKREPORT: The enum member of type str.
        MANAGETIMECLOCKS: The enum member of type str.
        MANAGETIMECLOCKTASKS: The enum member of type str.
        MANAGECONTACTLOGTYPES: The enum member of type str.
        VIEWCONTACTLOGS: The enum member of type str.
        ADDCONTACTLOGS: The enum member of type str.
        EDITOTHERSTAFFMEMBERCONTACTLOGS: The enum member of type str.
        DELETECONTACTLOGS: The enum member of type str.
        CONTACTLOGANALYSISREPORT: The enum member of type str.
        SALESFORECASTREPORT: The enum member of type str.
        VIEWALLCLIENTS: The enum member of type str.
        MANAGECLIENTSALESREPS: The enum member of type str.
        CREATERETAILTICKETS: The enum member of type str.
        EDITRETAILTICKETS: The enum member of type str.
        MANAGETASKASSIGNMENTS: The enum member of type str.
        MERCHANTACCOUNTREPORTS: The enum member of type str.
        VOIDCREDITCARDTRANSACTIONS: The enum member of type str.
        SETTLECREDITCARDTRANSACTIONS: The enum member of type str.
        USESTOREDCREDITCARDS: The enum member of type str.
        MANAGEAUTOPAYS: The enum member of type str.
        VIEWPERSONALREVIEWS: The enum member of type str.
        VIEWOTHERSREVIEWS: The enum member of type str.
        VIEWCLIENTNAMESONREVIEWREPORT: The enum member of type str.
        EMAILCLIENTSFROMREVIEWREPORT: The enum member of type str.
        FLAGREVIEWFORREMOVAL: The enum member of type str.
        RESPONDPUBLICLYTOREVIEWS: The enum member of type str.

    """

    MANAGECLASSANDEVENTDESCRIPTIONS = "ManageClassAndEventDescriptions"

    MANAGECLASSSCHEDULES = "ManageClassSchedules"

    SCHEDULEFREECLASSESANDEVENTS = "ScheduleFreeClassesAndEvents"

    SCHEDULERESOURCESFORCLASSESANDEVENTS = "ScheduleResourcesForClassesAndEvents"

    SUBSTITUTECLASSANDEVENTTEACHERS = "SubstituteClassAndEventTeachers"

    BULKEDITCLASSSCHEDULES = "BulkEditClassSchedules"

    ADDSTAFFMEMBERS = "AddStaffMembers"

    MANAGEPERSONALINFOFORSTAFF = "ManagePersonalInfoForStaff"

    MANAGESTAFFSETTINGS = "ManageStaffSettings"

    MANAGESTAFFLOGINS = "ManageStaffLogins"

    MANAGESTAFFSCHEDULES = "ManageStaffSchedules"

    MANAGESTAFFPAYRATES = "ManageStaffPayRates"

    ACCESSBUSINESSINFORMATIONSCREEN = "AccessBusinessInformationScreen"

    ACCESSGENERALSETUPOPTIONSSCREEN = "AccessGeneralSetupOptionsScreen"

    ACCESSNEWSEVENTSSCREEN = "AccessNewsEventsScreen"

    MANAGEHOLIDAYS = "ManageHolidays"

    CLASSANDEVENTOPTIONSSCREEN = "ClassAndEventOptionsScreen"

    APPOINTMENTOPTIONSSCREEN = "AppointmentOptionsScreen"

    ACCESSMEDIAMANAGEMENTSCREEN = "AccessMediaManagementScreen"

    ACCESSMEMBERSHIPSETUPSCREEN = "AccessMembershipSetupScreen"

    MANAGEPAYMENTMETHODS = "ManagePaymentMethods"

    MANAGEROOMNUMBERS = "ManageRoomNumbers"

    ACCESSRESOURCEMANAGEMENTSCREEN = "AccessResourceManagementScreen"

    ACCESSRESOURCESSCHEDULINGTAB = "AccessResourcesSchedulingTab"

    ACCESSLINKSSCREEN = "AccessLinksScreen"

    BULKCANCELCLIENTRESERVATIONS = "BulkCancelClientReservations"

    FINDDUPLICATECLIENTS = "FindDuplicateClients"

    MERGEDUPLICATECLIENTS = "MergeDuplicateClients"

    MANAGEAUTOEMAILS = "ManageAutoEmails"

    MANAGEREVENUECATEGORIESFORSERVICES = "ManageRevenueCategoriesForServices"

    MANAGEREVENUECATEGORIESFORPRODUCTS = "ManageRevenueCategoriesForProducts"

    ACCESSACTIVESESSIONTIMESSCREEN = "AccessActiveSessionTimesScreen"

    ACCESSCLASSSESSIONTYPESCREENS = "AccessClassSessionTypeScreens"

    ACCESSSERVICECATEGORIESSCREEN = "AccessServiceCategoriesScreen"

    MANAGESUBSCRIBERPRICING = "ManageSubscriberPricing"

    ADDINTROOFFERSONACQUISITIONDASHBOARD = "AddIntroOffersOnAcquisitionDashboard"

    MANAGEMINDBODYNETWORKSETTINGS = "ManageMindbodyNetworkSettings"

    MANAGEPRODUCTS = "ManageProducts"

    VIEWPRODUCTCOST = "ViewProductCost"

    MANAGEMEMBERSHIPSETTINGSFORPRICING = "ManageMembershipSettingsForPricing"

    MANAGEPROMOTIONCODES = "ManagePromotionCodes"

    EDITSALES = "EditSales"

    PRINTPRODUCTBARCODES = "PrintProductBarcodes"

    MAKESALES = "MakeSales"

    ADDPRODUCTSONRETAILSCREEN = "AddProductsOnRetailScreen"

    EDITSALEDATEONRETAILSCREEN = "EditSaleDateOnRetailScreen"

    EDITSALEPRICECOUNTONRETAILSCREEN = "EditSalePriceCountOnRetailScreen"

    EDITACTIVATIONDATEONRETAILSCREEN = "EditActivationDateOnRetailScreen"

    APPLYCUSTOMDISCOUNTSONRETAILSCREEN = "ApplyCustomDiscountsOnRetailScreen"

    PAYFORANOTHERCLIENTONRETAILSCREEN = "PayForAnotherClientOnRetailScreen"

    VOIDEDITPASTSALES = "VoidEditPastSales"

    REFUNDSALES = "RefundSales"

    REFUNDSALESTOCREDITCARDS = "RefundSalesToCreditCards"

    LOCATIONSWITCHING = "LocationSwitching"

    PULLREPORTSFORALLLOCATIONS = "PullReportsForAllLocations"

    LOGINVENTORY = "LogInventory"

    ADJUSTINVENTORY = "AdjustInventory"

    TRANSFERINVENTORY = "TransferInventory"

    MANAGEPURCHASEORDERS = "ManagePurchaseOrders"

    MANAGELOCATIONLOCALIZATION = "ManageLocationLocalization"

    MANAGEPERMISSIONGROUPS = "ManagePermissionGroups"

    MANAGECONSTANTCONTACTSETTINGS = "ManageConstantContactSettings"

    ACCESSSERVICESPRICINGSCREEN = "AccessServicesPricingScreen"

    MANAGESEMESTERS = "ManageSemesters"

    MANAGERETENTIONMARKETING = "ManageRetentionMarketing"

    MANAGESUBSCRIBERSETUPCHECKLIST = "ManageSubscriberSetupChecklist"

    VIEWCLASSANDEVENTRESERVATIONS = "ViewClassAndEventReservations"

    BOOKCLASSESANDEVENTS = "BookClassesAndEvents"

    BOOKCLASSESANDEVENTSINTHEPAST = "BookClassesAndEventsInThePast"

    BOOKCLASSESANDEVENTSWITHOUTPAYMENT = "BookClassesAndEventsWithoutPayment"

    CANCELCLASSESANDEVENTS = "CancelClassesAndEvents"

    MANAGECLASSNOTES = "ManageClassNotes"

    VIEWAPPOINTMENTSCHEDULE = "ViewAppointmentSchedule"

    VIEWPERSONALAPPOINTMENTSCHEDULE = "ViewPersonalAppointmentSchedule"

    EDITPERSONALAPPOINTMENTSCHEDULE = "EditPersonalAppointmentSchedule"

    VIEWAPPOINTMENTDETAILS = "ViewAppointmentDetails"

    MANAGEAPPOINTMENTREQUESTS = "ManageAppointmentRequests"

    BOOKAPPOINTMENTSFOROTHERSTAFFMEMBERS = "BookAppointmentsForOtherStaffMembers"

    BOOKAPPOINTMENTSINTHEPAST = "BookAppointmentsInThePast"

    CHANGEAPPOINTMENTDETAILS = "ChangeAppointmentDetails"

    USEANYAPPOINTMENTASANADDON = "UseAnyAppointmentAsAnAddon"

    CHANGEAPPOINTMENTDURATION = "ChangeAppointmentDuration"

    CANCELAPPOINTMENTS = "CancelAppointments"

    APPLYPAYMENTTOAPPOINTMENTS = "ApplyPaymentToAppointments"

    CHECKOUTAPPOINTMENTS = "CheckOutAppointments"

    OVERRIDEASSIGNEDPRICING = "OverrideAssignedPricing"

    MANAGEAPPOINTMENTCOLORS = "ManageAppointmentColors"

    VIEWALLLOCATIONONCLIENTLOOKUPSCREEN = "ViewAllLocationOnClientLookupScreen"

    ADDCLIENT = "AddClient"

    VIEWCLIENTPROFILESCREEN = "ViewClientProfileScreen"

    EDITCLIENTPROFILESCREEN = "EditClientProfileScreen"

    ASSIGNCLIENTINDEXES = "AssignClientIndexes"

    MANAGECLIENTSUSPENSIONS = "ManageClientSuspensions"

    VIEWCLIENTPASTVISITS = "ViewClientPastVisits"

    VIEWCLIENTACCOUNTANDPURCHASEHISTORY = "ViewClientAccountAndPurchaseHistory"

    EDITCLIENTSERVICEDURATIONANDASSIGNEDVISITS = "EditClientServiceDurationAndAssignedVisits" # noqa: E501

    EDITCLIENTSERVICESESSIONCOUNT = "EditClientServiceSessionCount"

    IGNORESERVICECATEGORIESWHENREASSIGNINGPAYMENT = "IgnoreServiceCategoriesWhenReassigningPayment" # noqa: E501

    VIEWCLIENTAUTOPAYSCHEDULES = "ViewClientAutoPaySchedules"

    MANAGECLIENTAUTOPAYSCHEDULES = "ManageClientAutoPaySchedules"

    VIEWCLIENTDOCUMENTS = "ViewClientDocuments"

    ADDCLIENTDOCUMENTS = "AddClientDocuments"

    DELETECLIENTDOCUMENTS = "DeleteClientDocuments"

    VIEWCLIENTFUTUREVISITS = "ViewClientFutureVisits"

    VIEWCLIENTBILLINGINFORMATION = "ViewClientBillingInformation"

    EDITCLIENTBILLINGINFORMATION = "EditClientBillingInformation"

    MANAGECLIENTLOGINS = "ManageClientLogins"

    UNASSIGNCLIENTGIFTCARDS = "UnassignClientGiftCards"

    IGNORECANCELLATIONPOLICY = "IgnoreCancellationPolicy"

    LAUNCHSIGNINSCREEN = "LaunchSignInScreen"

    DELETEANDTERMINATECLIENTCONTRACTS = "DeleteAndTerminateClientContracts"

    RELEASECONTRACTDEPOSITS = "ReleaseContractDeposits"

    AUTORENEWANDSUSPENDCONTRACTS = "AutoRenewAndSuspendContracts"

    MANAGECLASSTESTS = "ManageClassTests"

    SCHEDULECLASSTESTS = "ScheduleClassTests"

    MANAGECLIENTREQUIREDFIELDS = "ManageClientRequiredFields"

    MANAGECLIENTALERTS = "ManageClientAlerts"

    MANAGECLIENTTYPESANDCLIENTINDEXES = "ManageClientTypesAndClientIndexes"

    MANAGECLIENTREFERRALTYPES = "ManageClientReferralTypes"

    MANAGECLIENTRELATIONSHIPTYPES = "ManageClientRelationshipTypes"

    MANAGECLIENTGENDERS = "ManageClientGenders"

    CLIENTACQUISITIONANDANALYTICSDASHBOARDS = "ClientAcquisitionAndAnalyticsDashboards"

    VIEWRETENTIONMARKETINGDASHBOARD = "ViewRetentionMarketingDashboard"

    EXPORTREPORTS = "ExportReports"

    MANAGETAGGEDCLIENTS = "ManageTaggedClients"

    STAFFPHONEBOOKREPORT = "StaffPhoneBookReport"

    SCHEDULEATAGLANCEREPORTFORALLSTAFF = "ScheduleAtAGlanceReportForAllStaff"

    PERSONALSCHEDULEATAGLANCEREPORT = "PersonalScheduleAtAGlanceReport"

    ATTENDANCEWITHREVENUEREPORT = "AttendanceWithRevenueReport"

    CANCELLATIONSREPORT = "CancellationsReport"

    PERSONALCANCELLATIONSREPORT = "PersonalCancellationsReport"

    ACCOUNTBALANCESREPORT = "AccountBalancesReport"

    BULKAUTOPAYSCHEDULINGFROMACCOUNTBALANCESREPORT = "BulkAutoPaySchedulingFromAccountBalancesReport" # noqa: E501

    EVENTINVOICESREPORT = "EventInvoicesReport"

    CASHDRAWERREPORTCURRENTDATE = "CashDrawerReportCurrentDate"

    CASHDRAWERREPORTANYDATE = "CashDrawerReportAnyDate"

    DAILYCLOSEOUTREPORT = "DailyCloseoutReport"

    SALESREPORTS = "SalesReports"

    SALESBYSUPPLIERANDPRODUCTREPORTS = "SalesBySupplierAndProductReports"

    PROMOTEFEESREPORT = "PromoteFeesReport"

    GIFTCARDSREPORT = "GiftCardsReport"

    INVENTORYREPORTS = "InventoryReports"

    MARKETINGREPORTS = "MarketingReports"

    ANALYSISREPORTS = "AnalysisReports"

    CLIENTINDEXESREPORTS = "ClientIndexesReports"

    PAYROLLREPORTSFORALLSTAFF = "PayrollReportsForAllStaff"

    PERSONALPAYROLLREPORTS = "PersonalPayrollReports"

    STAFFPERFORMANCEREPORTS = "StaffPerformanceReports"

    ONLINEMETRICSREPORT = "OnlineMetricsReport"

    RETENTIONMANAGEMENTREPORT = "RetentionManagementReport"

    ENTRYLOGSREPORT = "EntryLogsReport"

    STAFFACTIVITYLOGREPORT = "StaffActivityLogReport"

    MEMBERSHIPREPORT = "MembershipReport"

    MANAGEONLINEORDERSREPORT = "ManageOnlineOrdersReport"

    TASKSREPORT = "TasksReport"

    CLOCKSELFINANDOUT = "ClockSelfInAndOut"

    CLOCKOTHERSINANDOUT = "ClockOthersInAndOut"

    ACCESSTIMECLOCKREPORT = "AccessTimeclockReport"

    MANAGETIMECLOCKS = "ManageTimeClocks"

    MANAGETIMECLOCKTASKS = "ManageTimeClockTasks"

    MANAGECONTACTLOGTYPES = "ManageContactLogTypes"

    VIEWCONTACTLOGS = "ViewContactLogs"

    ADDCONTACTLOGS = "AddContactLogs"

    EDITOTHERSTAFFMEMBERCONTACTLOGS = "EditOtherStaffMemberContactLogs"

    DELETECONTACTLOGS = "DeleteContactLogs"

    CONTACTLOGANALYSISREPORT = "ContactLogAnalysisReport"

    SALESFORECASTREPORT = "SalesForecastReport"

    VIEWALLCLIENTS = "ViewAllClients"

    MANAGECLIENTSALESREPS = "ManageClientSalesReps"

    CREATERETAILTICKETS = "CreateRetailTickets"

    EDITRETAILTICKETS = "EditRetailTickets"

    MANAGETASKASSIGNMENTS = "ManageTaskAssignments"

    MERCHANTACCOUNTREPORTS = "MerchantAccountReports"

    VOIDCREDITCARDTRANSACTIONS = "VoidCreditCardTransactions"

    SETTLECREDITCARDTRANSACTIONS = "SettleCreditCardTransactions"

    USESTOREDCREDITCARDS = "UseStoredCreditCards"

    MANAGEAUTOPAYS = "ManageAutoPays"

    VIEWPERSONALREVIEWS = "ViewPersonalReviews"

    VIEWOTHERSREVIEWS = "ViewOthersReviews"

    VIEWCLIENTNAMESONREVIEWREPORT = "ViewClientNamesOnReviewReport"

    EMAILCLIENTSFROMREVIEWREPORT = "EmailClientsFromReviewReport"

    FLAGREVIEWFORREMOVAL = "FlagReviewForRemoval"

    RESPONDPUBLICLYTOREVIEWS = "RespondPubliclyToReviews"

    @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
