';\r\n }]);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.ClientIntake {\r\n angular.module(\"meevo.plugins.clientIntake\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.ClientIntakeForm {\r\n angular.module(\"meevo.plugins.clientIntakeForm\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.SelfCheckInKiosk {\r\n\r\n const config = ($stateProvider: ng.ui.IStateProvider) => {\r\n\r\n const routeName = 'selfCheckInKiosk';\r\n const contexts = [\r\n {\r\n name: routeName + '.login',\r\n views: {\r\n pageview: {\r\n templateUrl: 'app/plugins/selfCheckInKiosk/pages/login/login.html',\r\n controller: 'meevo.plugins.selfCheckInKiosk.LoginController',\r\n controllerAs: '$ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckInKioskSearchClientScreen\r\n },\r\n {\r\n name: routeName + '.client-info',\r\n views: {\r\n pageview: {\r\n templateUrl: 'app/plugins/selfCheckInKiosk/pages/client-info/client-info.controller.html',\r\n controller: 'meevo.plugins.selfCheckInKiosk.ClientInfoController',\r\n controllerAs: '$ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckInKioskAppointmentService\r\n },\r\n {\r\n name: routeName + '.enhancements',\r\n views: {\r\n pageview: {\r\n templateUrl: 'app/plugins/selfCheckInKiosk/pages/enhancements/enhancements.controller.html',\r\n controller: 'meevo.plugins.selfCheckInKiosk.EnhancementsController',\r\n controllerAs: '$ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckInKioskAppointmentServiceAddOn\r\n },\r\n {\r\n name: routeName + '.check-in-success',\r\n views: {\r\n pageview: {\r\n templateUrl: 'app/plugins/selfCheckInKiosk/pages/check-in-success/check-in-success.controller.html',\r\n controller: 'meevo.plugins.selfCheckInKiosk.CheckInSuccessController',\r\n controllerAs: '$ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckInKiosk\r\n },\r\n {\r\n name: routeName + '.check-in-fail',\r\n views: {\r\n pageview: {\r\n templateUrl: 'app/plugins/selfCheckInKiosk/pages/check-in-fail/check-in-fail.controller.html',\r\n controller: 'meevo.plugins.selfCheckInKiosk.CheckInFailController',\r\n controllerAs: '$ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckInKiosk\r\n }\r\n ];\r\n\r\n contexts.forEach((state) => {\r\n $stateProvider.state(state.name, state);\r\n });\r\n };\r\n\r\n config.$inject = [\r\n '$stateProvider',\r\n ];\r\n\r\n angular\r\n .module('meevo.plugins.selfCheckInKiosk', [])\r\n .config(config);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.SelfCheckInKioskSettings {\r\n angular.module('meevo.plugins.selfCheckInKioskSettings', []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.Aveda {\r\n angular.module(\"meevo.plugins.aveda\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.EmployeeServiceTimesPricing {\r\n angular.module(\"meevo.plugins.employeeServiceTimesPricing\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.FiveStarRatingsSettings {\r\n angular.module('meevo.plugins.fiveStarRatingSettings', []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.ServiceCharges {\r\n angular.module(\"meevo.plugins.serviceCharges\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.FameAdvantage {\r\n angular.module('meevo.plugins.fameAdvantage', []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.Note {\r\n angular.module(\"meevo.plugins.note\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.RoyaltyExport {\r\n angular.module(\"meevo.plugins.royaltyExport\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.Referral {\r\n angular.module(\"meevo.plugins.referral\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.MeevoBi {\r\n angular.module(\"meevo.plugins.meevoBi\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.ReputationManagement {\r\n angular.module(\"meevo.plugins.reputationManagement\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.OnlineListingsManagement {\r\n angular.module(\"meevo.plugins.onlineListingsManagement\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.OnlinePresenceAnalytics {\r\n angular.module(\"meevo.plugins.onlinePresenceAnalytics\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.LocalProfileSettings {\r\n angular.module(\"meevo.plugins.localProfileSettings\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.OnlinePresenceNotificationSettings {\r\n angular.module('meevo.plugins.onlinePresenceNotificationSettings', []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.OnlinePresenceSettings {\r\n angular.module(\"meevo.plugins.onlinePresenceSettings\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.SystemToolbox {\r\n angular.module(\"meevo.plugins.systemToolbox\", []);\r\n}","///
\r\n\r\n\r\nmodule Meevo.Plugins.YieldManagementStrategy {\r\n angular.module(\"meevo.plugins.yieldManagementStrategy\", []);\r\n}\r\n","///
\r\n\r\n\r\nmodule Meevo.Plugins.YieldManagementProgram {\r\n angular.module(\"meevo.plugins.yieldManagementProgram\", []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.InventoryTransfer {\r\n angular.module(\"meevo.plugins.inventoryTransfer\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.Interop {\r\n angular.module(\"meevo.plugins.interop\", []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.SystemVersions {\r\n angular.module(\"meevo.plugins.systemVersions\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.ClientApp {\r\n angular.module(\"meevo.plugins.clientApp\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.UsageReasons {\r\n\tangular.module(\"meevo.plugins.usageReasons\", []);\r\n}","module Meevo.Plugins.PaymentPlans {\r\n angular.module('meevo.plugins.paymentPlans', []);\r\n}\r\n","///
\r\n\r\nmodule Meevo.Plugins.Tippy {\r\n angular.module(\"meevo.plugins.tippy\", []);\r\n}","///
\r\n\r\nmodule Meevo.Plugins.DocsAndFormsKiosk {\r\n angular.module('meevo.plugins.docsAndFormsKiosk', []);\r\n}\r\n","///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n///
\r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n\r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n\r\nmodule Meevo {\r\n 'use strict';\r\n\r\n angular.module('meevo',\r\n [\r\n 'meevo.core',\r\n 'meevo.components.common',\r\n 'meevo.components.controls',\r\n 'meevo.components.filters',\r\n 'meevo.components.logging',\r\n 'meevo.components.modal',\r\n 'meevo.components.search',\r\n 'meevo.components.locationPicker',\r\n 'meevo.components.interceptors',\r\n 'meevo.components.fileupload',\r\n 'meevo.components.imageFileUpload',\r\n 'meevo.components.tracking',\r\n 'meevo.components.compensation',\r\n 'meevo.components.mover',\r\n 'meevo.components.hostedPage',\r\n 'meevo.plugins.controlgallery',\r\n 'meevo.plugins.client',\r\n 'meevo.plugins.clientClientType',\r\n 'meevo.plugins.employee',\r\n 'meevo.plugins.styleGallery',\r\n 'meevo.plugins.login',\r\n 'ApptBookApp',\r\n 'meevo.plugins.smartCenter',\r\n 'meevo.plugins.callCenter',\r\n 'meevo.plugins.cancellationReasons',\r\n 'meevo.plugins.services',\r\n 'meevo.plugins.giftCardTypes',\r\n 'meevo.plugins.referralTypes',\r\n 'meevo.plugins.blockTypes',\r\n 'meevo.plugins.visitNoteTypes',\r\n 'meevo.plugins.reports',\r\n 'meevo.plugins.reportScheduler',\r\n 'meevo.plugins.reportingHierarchy',\r\n 'meevo.plugins.businessInfo',\r\n 'meevo.plugins.businessTypes',\r\n 'meevo.plugins.locationGroups',\r\n 'meevo.plugins.standingAppointments',\r\n 'meevo.plugins.schedules',\r\n 'meevo.plugins.standingBlocks',\r\n 'meevo.plugins.confirmationManager',\r\n 'meevo.plugins.serviceCategories',\r\n 'meevo.plugins.employeeTemplates',\r\n 'meevo.plugins.register',\r\n 'meevo.plugins.securityRoles',\r\n 'meevo.plugins.securityRolesManager',\r\n 'angular-carousel',\r\n 'meevo.plugins.employeeCategories',\r\n 'meevo.plugins.resources',\r\n 'meevo.plugins.appointmentCategories',\r\n 'meevo.plugins.waitList',\r\n 'meevo.plugins.clientMerge',\r\n 'meevo.plugins.clientManualMerge',\r\n 'meevo.plugins.sandbox',\r\n 'meevo.plugins.notificationTemplates',\r\n 'meevo.plugins.resourceCategories',\r\n 'meevo.plugins.workActivities',\r\n 'meevo.plugins.product',\r\n 'meevo.plugins.productBulkUpdate',\r\n 'meevo.plugins.productBundles',\r\n 'meevo.plugins.equipment',\r\n 'meevo.plugins.floorLocation',\r\n 'meevo.plugins.stockLevels',\r\n 'meevo.plugins.walkinManagerSettings',\r\n 'ngWYSIWYG',\r\n 'meevo.plugins.walkinManager',\r\n 'meevo.plugins.employeeTemplatePromotions',\r\n 'meevo.plugins.productCategories',\r\n 'meevo.plugins.distributors',\r\n 'vAccordion',\r\n 'meevo.plugins.manufacturers',\r\n 'meevo.plugins.discounts',\r\n 'meevo.plugins.drawer',\r\n 'meevo.plugins.walkinManagerKiosk',\r\n 'meevo.plugins.walkinManagerDisplay',\r\n 'meevo.plugins.onlineBookingSettings',\r\n 'meevo.plugins.payinoutreasons',\r\n 'meevo.plugins.userDefinedControls',\r\n 'meevo.plugins.paymentType',\r\n 'meevo.plugins.posHardware',\r\n 'meevo.plugins.drawerManager',\r\n 'meevo.plugins.packageTypes',\r\n 'meevo.plugins.purchaseOrder',\r\n 'meevo.plugins.memberships',\r\n 'meevo.plugins.membershipTypes',\r\n 'meevo.plugins.membershipDefinitions',\r\n 'meevo.plugins.memberBenefitTemplates',\r\n 'meevo.plugins.membershipManager',\r\n 'meevo.plugins.membershipCancellation',\r\n 'meevo.plugins.swapGroups',\r\n 'meevo.plugins.ipRestrictions',\r\n 'meevo.plugins.marketPricing',\r\n 'meevo.plugins.inventoryCount',\r\n 'meevo.plugins.merchantAccounts',\r\n 'meevo.plugins.transactionEditor',\r\n 'meevo.plugins.profileSettings',\r\n 'meevo.plugins.holiday',\r\n 'meevo.plugins.meevoTheming',\r\n 'meevo.plugins.notificationSetting',\r\n 'meevo.plugins.integrations',\r\n 'meevo.plugins.addOnGroup',\r\n 'meevo.plugins.eventSchedule',\r\n 'meevo.plugins.timeClock',\r\n 'meevo.plugins.customBranding',\r\n 'ui.tree',\r\n 'meevo.plugins.clientPoint',\r\n 'meevo.plugins.compensationSettings',\r\n 'meevo.plugins.cultureSettings',\r\n 'meevo.plugins.employeeSupplyUsage',\r\n 'meevo.plugins.tax',\r\n 'meevo.plugins.giftCardBalance',\r\n 'meevo.plugins.giftCardIntegration',\r\n 'meevo.plugins.tax',\r\n 'meevo.plugins.miscSupplyDefinitions',\r\n 'meevo.plugins.inventoryReturns',\r\n 'meevo.plugins.activityLog',\r\n 'meevo.plugins.alertsManager',\r\n 'meevo.plugins.alertsLog',\r\n 'meevo.plugins.imageGalleryCategory',\r\n 'meevo.plugins.packageLookup',\r\n 'meevo.plugins.saleProgram',\r\n 'meevo.plugins.eftControlPanel',\r\n 'meevo.plugins.location',\r\n 'meevo.plugins.payroll',\r\n 'meevo.plugins.basicEmailMarketing',\r\n 'meevo.plugins.departments',\r\n 'meevo.plugins.departmentGoal',\r\n 'meevo.plugins.employeeGoal',\r\n 'meevo.plugins.accountsync',\r\n 'meevo.plugins.quickbooksDesktop',\r\n 'meevo.plugins.egifts',\r\n 'meevo.plugins.shippingFees',\r\n 'meevo.plugins.paging',\r\n 'meevo.plugins.meevoStore',\r\n 'meevo.plugins.fieldLabels',\r\n 'meevo.plugins.docsAndForms',\r\n 'meevo.plugins.dashboardGoals',\r\n 'meevo.plugins.transworld',\r\n \"meevo.plugins.emmaAccountSettings\",\r\n 'meevo.plugins.salesRankings',\r\n 'tmh.dynamicLocale',\r\n 'ngIntlTelInput',\r\n 'meevo.plugins.pointPromotionCampaign',\r\n 'meevo.plugins.ratingsControlPanel',\r\n 'meevo.plugins.techSphere',\r\n 'meevo.plugins.servicesWizard',\r\n 'meevo.plugins.meevoMessenger',\r\n 'meevo.plugins.meevoMessengerSettings',\r\n 'meevo.plugins.textelBlast',\r\n 'meevo.plugins.student',\r\n 'meevo.plugins.teachers',\r\n 'meevo.components.short-cuts',\r\n 'meevo.plugins.clientIntake',\r\n 'meevo.plugins.clientIntakeForm',\r\n 'meevo.plugins.selfCheckInKiosk',\r\n 'meevo.plugins.selfCheckInKioskSettings',\r\n 'meevo.plugins.aveda',\r\n 'meevo.plugins.employeeServiceTimesPricing',\r\n 'meevo.plugins.fiveStarRatingSettings',\r\n 'meevo.plugins.serviceCharges',\r\n 'meevo.plugins.fameAdvantage',\r\n 'meevo.plugins.adpIntegration',\r\n 'meevo.plugins.note',\r\n 'meevo.plugins.royaltyExport',\r\n 'meevo.plugins.interop',\r\n 'meevo.plugins.referral',\r\n 'meevo.plugins.meevoBi',\r\n 'meevo.plugins.yieldManagementStrategy',\r\n 'meevo.plugins.yieldManagementProgram',\r\n 'meevo.plugins.reputationManagement',\r\n 'meevo.plugins.onlineListingsManagement',\r\n 'meevo.plugins.onlinePresenceAnalytics',\r\n 'meevo.plugins.onlinePresenceNotificationSettings',\r\n 'meevo.plugins.localProfileSettings',\r\n 'meevo.plugins.onlinePresenceSettings',\r\n 'meevo.plugins.clientApp',\r\n 'meevo.plugins.systemToolbox',\r\n 'meevo.plugins.inventoryTransfer',\r\n 'meevo.plugins.systemVersions',\r\n 'meevo.plugins.usageReasons',\r\n 'meevo.plugins.paymentPlans',\r\n 'meevo.plugins.tippy',\r\n 'meevo.plugins.docsAndFormsKiosk',\r\n ]);\r\n}\r\n","///\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n\r\n export enum GroupLevels {\r\n Global = 0,\r\n Plugin = 1,\r\n Menu = 2,\r\n SubMenu = 3,\r\n Modal = 4,\r\n }\r\n}","declare module Meevo.Model {\r\n import BusinessInfoDataService = Meevo.Components.Common.BusinessInfoDataService;\r\n\r\n export interface ISelectItem {\r\n value: T;\r\n label: string;\r\n }\r\n\r\n interface RevertData {\r\n effectiveLevel?: number;\r\n revertToValue?: string;\r\n }\r\n\r\n interface BaseItemRequest {\r\n locationId?: number;\r\n languageId?: number;\r\n errorMessage?: string;\r\n itemId?: string;\r\n filterName?: string;\r\n }\r\n\r\n interface BaseRequest { }\r\n\r\n interface MeevoRequest extends BaseRequest { }\r\n\r\n interface SearchPage extends MeevoRequest> {\r\n criteria?: TSearch;\r\n pageNumber?: number;\r\n itemsPerPage?: number;\r\n sortBy?: string;\r\n sortDirection?: SortDirection;\r\n asLocationId?: number;\r\n }\r\n\r\n interface Override extends MeevoRequest {\r\n Model: T;\r\n }\r\n\r\n interface ChildListRequest extends BaseRequest> {\r\n // @ApiMember(Name=\"ParentId\", Description=\"Parent Id of the List you want to retrieve\", ParameterType=\"path\", DataType=\"string\", IsRequired=true, Verb=\"Get\")\r\n parentId?: string;\r\n }\r\n\r\n interface PageRequest extends BaseRequest> {\r\n // @ApiMember(Name=\"PageNumber\", Description=\"Page number you want to get\", ParameterType=\"query\", DataType=\"integer\", Verb=\"Get\")\r\n pageNumber?: number;\r\n\r\n // @ApiMember(Name=\"ItemsPerPage\", Description=\"Number of records to return \", ParameterType=\"query\", DataType=\"integer\", Verb=\"Get\")\r\n itemsPerPage?: number;\r\n\r\n // @ApiMember(Name=\"Filter\", Description=\"Search filter string\", ParameterType=\"query\", DataType=\"string\", Verb=\"Get\")\r\n filter?: string;\r\n\r\n // @ApiMember(Name=\"SortBy\", Description=\"Sort results by columns (comma-delimited) \", ParameterType=\"query\", DataType=\"string\", Verb=\"Get\")\r\n sortBy?: string;\r\n\r\n // @ApiMember(Name=\"SortDirection\", Description=\"Sort Direction export enum Value (Asc|Desc)\", ParameterType=\"query\", DataType=\"string\", Verb=\"Get\")\r\n sortDirection?: SortDirection;\r\n }\r\n\r\n interface GetBase {\r\n // @ApiMember(Name=\"Id\", Description=\"Id of the model you want to retrieve\", ParameterType=\"path\", DataType=\"string\", IsRequired=true, Verb=\"Get\")\r\n id?: TKey;\r\n\r\n // @ApiMember(Name=\"Return\", Description=\"Return Depth of Model (Slim | Full)\", ParameterType=\"query\", DataType=\"string\", Verb=\"Get\")\r\n return?: GetResult;\r\n }\r\n\r\n interface Get extends GetBase { }\r\n\r\n interface SecurityRoleAccess {\r\n changed?: boolean;\r\n }\r\n\r\n interface SmartTileGet {\r\n id?: Guid;\r\n }\r\n\r\n interface SmartCenterGet extends BaseRequest>, IReturn> {\r\n id?: string;\r\n }\r\n\r\n interface GetEnumRequest extends MeevoRequest> {\r\n // @ApiMember(Name=\"EnumType\", Description=\"EnumType of the list you want to receive\", ParameterType=\"path\", DataType=\"enum\", IsRequired=true, Verb=\"Get\")\r\n enumType?: EnumTypeEnum;\r\n }\r\n\r\n interface FieldLabels { }\r\n\r\n interface SmartCenterSettings { }\r\n\r\n interface Location {\r\n locationId?: number;\r\n storeName?: string;\r\n storeNumber?: string;\r\n subDomainUrl?: string;\r\n subscriptionStatus?: SubscriptionStatusEnum;\r\n billDay: number;\r\n parentLocationId?: number;\r\n defaultLanguageId?: number;\r\n maxServiceProvidersAllowed?: number;\r\n meevoEditionType?: MeevoEditionTypeEnum;\r\n city?: string;\r\n state?: string;\r\n zipCode?: string;\r\n genderSpecificAnonClient?: boolean;\r\n defaultAppointmentBookColumnZoom?: number;\r\n defaultAppointmentBookTimeZoom?: number;\r\n locationTimeZone?: string;\r\n timeZoneOffset?: Date;\r\n customerNumber?: string;\r\n priceGroup_TId?: string;\r\n priceGroupDisplayName?: string;\r\n subscriptionActivationDate?: Date;\r\n subscriptionTerminationDate?: Date;\r\n subscriptionStartDate?: Date;\r\n locationStatus?: LocationStatusEnum;\r\n locationReactivationDate?: Date;\r\n locationClosedDate?: Date;\r\n address1?: string;\r\n address2?: string;\r\n country?: string;\r\n latitude?: string;\r\n longitude?: string;\r\n taxNumber?: number;\r\n countryCode?: string;\r\n phoneNumber?: string;\r\n emailAddress?: string;\r\n webAddressUrl?: string;\r\n businessSize?: string;\r\n businessTypeEnum?: BusinessTypeEnum;\r\n cultureInfo?: string;\r\n areaSalesManager?: string;\r\n areaInstallManager?: string;\r\n entityVersion?: number;\r\n businessInfoEntityVersion?: number;\r\n externalId?: number;\r\n salesForceId?: string;\r\n isCentralOffice?: boolean;\r\n isCallCenter?: boolean;\r\n\r\n includeDiscount?: boolean;\r\n includeClientVisitNoteType?: boolean;\r\n includeGiftCardType?: boolean;\r\n includeReferralType?: boolean;\r\n\r\n // todo\r\n businessTypeDisplayName?: string;\r\n businessTypeId?: string;\r\n settings?: Array;\r\n statusEft?: IBusinessSetting;\r\n enabledAutomaticBillingService?: IBusinessSetting;\r\n enabledMembershipProcesses?: IBusinessSetting;\r\n\r\n enableAppointmentNotification?: IBusinessSetting;\r\n enableOnlineWalkinManager?: IBusinessSetting;\r\n enableOnlineBooking?: IBusinessSetting;\r\n enableThirdPartyIntegration?: IBusinessSetting;\r\n address?: Address;\r\n smsCount?: number;\r\n }\r\n\r\n interface ILocationListItemBase {\r\n id: number;\r\n storeName: string;\r\n storeNumber: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n externalId: string;\r\n businessTypeName: string;\r\n currentMarketName: string;\r\n inTransfering: boolean;\r\n businessTypeDisplayName?: string;\r\n locationStatusEnum?: LocationStatusEnum;\r\n locationStatusDisplayName?: string;\r\n subscriptionStatus?: SubscriptionStatusEnum;\r\n subscriptionStatusName?: string;\r\n dateCreated?: Date;\r\n subscriptionActivationDate?: Date;\r\n }\r\n\r\n interface Address {\r\n id?: string;\r\n address1?: string;\r\n address2?: string;\r\n state?: string;\r\n city?: string;\r\n zipCode?: string;\r\n country?: string;\r\n isNotDeliverable?: boolean;\r\n }\r\n\r\n interface Client extends DataMaintenance, IStorageFile {\r\n // @Ignore()\r\n address?: Address;\r\n\r\n emailAddress?: string;\r\n // @Ignore()\r\n notificationOptions?: CommunicationTypeNotification[];\r\n\r\n // @Ignore()\r\n phoneNumbers?: Phone[];\r\n\r\n meevoFile?: any;\r\n clientTypes?: Array;\r\n dateCreated?: string;\r\n prefix?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n gender?: GenderEnum;\r\n pronoun?: PronounEnum;\r\n birthMonth?: number;\r\n birthDay?: number;\r\n anniversaryDate?: string;\r\n isRestricted?: boolean;\r\n referredByEnum?: ReferredByEnum | 0;\r\n referredById?: string;\r\n referredByFirstName?: string;\r\n referredByLastName?: string;\r\n // @Ignore()\r\n referredByDetail?: ReferralDetail;\r\n\r\n isMinor?: boolean;\r\n guardianId?: Guid;\r\n contactName?: string;\r\n countryCode?: string;\r\n contactPhone?: string;\r\n contactEmail?: string;\r\n onlineBookingAccess?: boolean;\r\n homeLocationId?: number;\r\n\r\n noConfirmations?: boolean;\r\n allowEmailNotificationOptIn?: boolean;\r\n allowSMSNotificationOptIn?: boolean;\r\n isClientEmailOptInEnabledDefault?: boolean;\r\n isClientSMSOptInEnabledDefault?: boolean;\r\n forceGenderSelection?: boolean;\r\n totalSpentService?: number;\r\n totalSpentProduct?: number;\r\n totalCountVisit?: number;\r\n requireNewClientPhoneNumber?: boolean;\r\n requireNewClientEmail?: boolean;\r\n requireNewClientReferralType?: boolean;\r\n\r\n isPrivate: boolean;\r\n isEmailOptedIn?: boolean;\r\n isMarketingEmailEnabled?: boolean;\r\n isEmailSpammed?: boolean;\r\n isTransient: boolean;\r\n doNotConfirm: boolean;\r\n allowChargesCreditOnAccount?: boolean;\r\n accountSpendingLimit?: DecimalRoundingPlaceEnum;\r\n effectiveAccountSpendingLimit?: DecimalRoundingPlaceEnum;\r\n externalUrl?: string;\r\n clientEmployeeLinkList?: ClientEmployeeLink[];\r\n displayName: string;\r\n isRegisteredObUser: boolean;\r\n primaryPhoneNumberObj?: Phone;\r\n noSellSharePersonalInfo: boolean;\r\n familyMembers: any[];\r\n canStartFamily?: boolean;\r\n familyExists?: boolean;\r\n headOfHouseholdId?: Guid | string;\r\n isHeadOfHousehold?: boolean;\r\n clientType?: ClientTypeEnum;\r\n\r\n isLockedForEditing: boolean;\r\n restrictedByLocationId?: number;\r\n emmaOptedOut?: boolean;\r\n isNotDeliverable?: boolean;\r\n }\r\n\r\n interface IClietnTransactionHistory {\r\n // todo: dev\r\n }\r\n\r\n // @Route(\"/Resource\", \"GET POST PUT\")\r\n interface Resource extends DataMaintenanceWithLanguage {\r\n canBeSplit: boolean;\r\n capacity: number;\r\n resourceCategory: ResourceCategoryDetail;\r\n resourceCategoryId: Guid;\r\n foregroundColor?: string;\r\n backgroundColor?: string;\r\n services: ListItemWithLanguage[];\r\n selectedServices: any[];\r\n }\r\n\r\n interface ClientBookingPreferences extends DataMaintenance {\r\n id?: string;\r\n frequencyOfVisit?: number;\r\n services?: ClientBookingPreferencesService[];\r\n }\r\n\r\n interface ServiceFrequencyOfVisit extends DataDetail {\r\n frequencyOfVisit?: number;\r\n }\r\n\r\n interface ClientBookingPreferencesService extends ServiceFrequencyOfVisit {\r\n frequencyOfVisit?: number;\r\n serviceGlobalId?: string;\r\n enableIntelliBooking?: boolean;\r\n serviceSteps?: ServiceStepOverride[];\r\n employeeStepOverides?: EmployeeStepOverides[];\r\n }\r\n\r\n interface EmployeeStepOverides {\r\n employeeGlobalId?: string;\r\n serviceGlobalId?: string;\r\n steps?: ServiceStepOverride[];\r\n }\r\n\r\n interface ClientServiceStepOverrides {\r\n clientId?: string;\r\n serviceGlobalId?: string;\r\n employeeGlobalId: string;\r\n displayName?: string;\r\n steps?: EmployeeStepOverides[]\r\n }\r\n\r\n interface ClientEmployeeServiceStepOverrides {\r\n clientId?: string;\r\n ServiceGlobalId?: string;\r\n stepOverrides?: EmployeeServiceStepOverride[];\r\n }\r\n\r\n interface ServiceEmployeeStepOverride {\r\n serviceId?: string;\r\n stepOverrides?: EmployeeServiceStepOverride[];\r\n }\r\n\r\n\r\n // @Route(\"/ResourceCategory\", \"GET POST PUT\")\r\n interface ResourceCategory extends DataMaintenanceWithLanguage {\r\n foregroundColor?: string;\r\n backgroundColor?: string;\r\n catDisplayName?: string;\r\n canBeSplit: boolean;\r\n capacity: number;\r\n services: ListItemWithLanguage[];\r\n locationOverride?: LocationOverride;\r\n selectedServices: any[];\r\n\r\n // TODO: Extract out into interface (i.e. IHasCoModelProperties)\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n availableAtLocations?: number;\r\n }\r\n\r\n // @Route(\"/Distributor\", \"GET POST PUT\")\r\n interface Distributor extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n contactName?: string;\r\n contactPhone?: string;\r\n webSiteAddress?: string;\r\n emailAddress?: string;\r\n accountNumber?: string;\r\n note?: string;\r\n address?: Address;\r\n\r\n // TODO: Extract out into interface (i.e. IHasCoModelProperties)\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n availableAtLocations?: number;\r\n }\r\n\r\n // @Route(\"/Department\", \"GET POST PUT\")\r\n interface Department extends DataMaintenanceWithLanguage, IHasLocationOverride { }\r\n\r\n interface DrawerListItem {\r\n id?: string;\r\n displayName?: string;\r\n drawerState?: DrawerStateEnum;\r\n posStationId?: string;\r\n }\r\n\r\n interface Drawer extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n cashAmount?: number;\r\n id?: string;\r\n drawerState?: DrawerStateEnum;\r\n posStation?: DataDetail;\r\n posStations?: posDrawer[];\r\n drawerSession?: DrawerSession;\r\n printerId?: string;\r\n printer?: Device;\r\n privateUserId?: Guid;\r\n privateUser?: any;\r\n receiptTypeEnum?: Model.RegisterReceiptTypeEnum;\r\n merchantAccountId?: Guid;\r\n merchantAccount?: any;\r\n merchantAccountTerminalId?: Guid;\r\n creditCardTerminalId?: Guid;\r\n tipEntryMethodEnum?: Model.TipEntryMethodEnum;\r\n signatureEntryMethodEnum?: Model.SignatureEntryMethodEnum;\r\n isOverShortClosingNoteRequired?: boolean;\r\n numberItemizedReceiptsToPrint?: number;\r\n tenantEntityVersion?: number;\r\n }\r\n\r\n interface DrawerSession {\r\n id?: string;\r\n actualCashInDrawer?: number;\r\n entityVersion?: number;\r\n drawerId?: Guid;\r\n drawerState?: DrawerStateEnum;\r\n openCashAmount?: number;\r\n closeCashAmount?: number;\r\n previousSessionCloseCashAmount?: number;\r\n cashLeftInDrawer?: number;\r\n drawerSessionHistory?: DrawerSessionStateHistory[];\r\n notes?: DrawerSessionNote[];\r\n payInOutList?: DrawerSessionPayInOut[];\r\n note?: string;\r\n aggregatedPaymentTransactions?: PaymentTransaction[];\r\n summary?: DrawerSessionSummary;\r\n suppressWarnings?: boolean;\r\n }\r\n\r\n interface PastTransactionContext {\r\n pastDateTime: Date;\r\n drawerId: string;\r\n drawerSessionId: string;\r\n }\r\n\r\n interface DrawerSessionListItem {\r\n id: string;\r\n drawerId: string;\r\n drawerDisplayName?: string;\r\n openCashAmount: number;\r\n totalOverShort?: number;\r\n openedDate: Date;\r\n closedDate?: Date;\r\n openedById?: string;\r\n openedByDisplayName?: string;\r\n closedById?: string;\r\n closedByDisplayName?: string;\r\n objectState: Model.ObjectStateEnum;\r\n hasNote: boolean;\r\n }\r\n\r\n interface PatchDrawerSession extends DrawerSession {\r\n updateState?: DrawerStateEnum;\r\n }\r\n\r\n interface DrawerSessionSummary {\r\n totalTip?: number;\r\n }\r\n\r\n interface DrawerSessionStateHistory {\r\n id: string;\r\n userDisplayName?: string;\r\n userId?: string;\r\n drawerState?: DrawerStateEnum;\r\n dateUpdated?: string;\r\n }\r\n\r\n interface DrawerSessionNote {\r\n id: string;\r\n drawerState?: DrawerStateEnum;\r\n note?: string;\r\n }\r\n\r\n interface DrawerSessionPayInOut extends PayInOut {\r\n userDisplayName?: string;\r\n userId?: string;\r\n dateCreated: string;\r\n reasonDisplayName: string;\r\n }\r\n\r\n interface PayInOut {\r\n id?: string;\r\n cashAmount: number;\r\n reason: PayInOutReasons;\r\n note: string;\r\n drawerId: string;\r\n drawerSessionId: string;\r\n payInOutType: PayInOutEnum;\r\n payInOutDateTime?: string;\r\n paymentCategory: PaymentCategoryEnum;\r\n checkNumber?: string;\r\n }\r\n\r\n interface PaymentTransaction extends SalePayment {\r\n paymentTypeDisplayName: string;\r\n paymentCategory?: PaymentCategoryEnum;\r\n transactionId?: number; // transaction id\r\n userId: string;\r\n userDisplayName: string;\r\n saleDate: string;\r\n transactionDateTime?: string;\r\n clientId?: string;\r\n clientType: ClientTypeEnum;\r\n clientDisplayName: string;\r\n paymentId?: string; // check number, credit card number\r\n actualAmount?: number;\r\n hasChangeDueNoTip?: boolean;\r\n hasChangeDue?: boolean;\r\n isTipLeft?: boolean;\r\n isSelected?: boolean;\r\n }\r\n\r\n interface PaymentTransactionCriteria extends Model.SearchCriteria {\r\n drawerId?: string;\r\n paymentTypeId?: string;\r\n }\r\n\r\n interface Denomination {\r\n currency?: CurrencyEnum;\r\n moneyAmount: number;\r\n bundleQuantity: number;\r\n isCashRoundingInterval?: boolean;\r\n isCashRoundingDefault?: boolean;\r\n }\r\n\r\n interface DenominationAmount extends Denomination {\r\n quantity?: number;\r\n amount?: number;\r\n }\r\n\r\n interface DrawerPreferences {\r\n lastUsedDrawerId?: Guid;\r\n lastUsedPrinterId?: Guid;\r\n lastUsedCreditCardTerminalId?: Guid;\r\n }\r\n\r\n interface DrawerHistoryCriteria extends Meevo.Model.SearchCriteriaWithObjectState {\r\n drawerId?: string;\r\n drawerState?: Model.DrawerStateEnum | string;\r\n startDate?: Date | string;\r\n endDate?: Date | string;\r\n location?: any;\r\n paymentTypeId?: string;\r\n }\r\n\r\n interface posDrawer extends DataDetail { }\r\n\r\n interface FloorLocation extends DataMaintenanceWithLanguage {\r\n shortcut?: string;\r\n }\r\n\r\n interface GiftCardType extends DataMaintenanceWithLanguage {\r\n isOwner?: boolean;\r\n isPromo?: boolean;\r\n validFromDate?: Date;\r\n validToDate?: Date;\r\n weeksValidFor?: number;\r\n defaultPrice?: number;\r\n valuePrice?: number;\r\n allowTowardTax?: boolean;\r\n allowTowardsTips?: boolean;\r\n serviceDetail?: Object;\r\n }\r\n\r\n interface DrawerManager extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n id: string;\r\n }\r\n\r\n // @Route(\"/Manufacturer\", \"GET POST PUT\")\r\n interface Manufacturer extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n contactName?: string;\r\n countryCode?: string;\r\n contactPhone?: string;\r\n webSiteAddress?: string;\r\n emailAddress?: string;\r\n locationNote?: string;\r\n address?: Address;\r\n\r\n // TODO: Extract out into interface (i.e. IHasCoModelProperties)\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n availableAtLocations?: number;\r\n categoryId?: string;\r\n }\r\n\r\n interface Tax {\r\n id?: Guid;\r\n taxPolicy?: TaxPolicyEnum;\r\n currency?: CurrencyEnum;\r\n roundingMode?: Meevo.Model.RoundingModeEnum;\r\n decimalPlaceRounding?: Meevo.Model.DecimalRoundingPlaceEnum;\r\n cashRoundingInterval?: number;\r\n taxTypes?: TaxType[];\r\n taxItems?: TaxItem[];\r\n isTaxIncludedInPrice?: boolean;\r\n isTransferFeeTaxable?: boolean;\r\n isTaxOnTax?: boolean;\r\n taxAppliedFromTaxTypeId?: string;\r\n taxAppliedOntoTaxTypeId?: string;\r\n taxSettings: TaxSettings;\r\n }\r\n interface Aveda {\r\n id: string;\r\n objectState?: ObjectStateEnum;\r\n distributor: AvedaDistributor;\r\n distributors: AvedaDistributor[];\r\n }\r\n interface AvedaDistributor extends DataDetail {\r\n isAvedaOrderingEnabled: boolean;\r\n isCoOwned?: boolean;\r\n\r\n }\r\n\r\n\r\n interface TaxType extends DataDetail {\r\n isActive: boolean;\r\n sortOrder?: number;\r\n taxTypeFromDb?: number;\r\n }\r\n\r\n interface TaxItem extends DataDetail {\r\n taxItemType?: TaxItemTypeEnum;\r\n isDefault: boolean;\r\n taxItemRates?: TaxItemRate[];\r\n isActive: boolean;\r\n sortOrder: number;\r\n taxItemFromDb?: number;\r\n }\r\n\r\n interface TaxItemRate {\r\n taxItem_LId?: Guid | string;\r\n taxType_LId?: Guid | string;\r\n taxRate?: number;\r\n\r\n displayName?: string;\r\n isDefault?: boolean;\r\n isActive?: boolean;\r\n }\r\n\r\n interface PayInOutReasons extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n payInOutType?: PayInOutEnum;\r\n }\r\n\r\n interface ProductDistributor extends DataDetail {\r\n isCoOwned?: boolean;\r\n }\r\n\r\n interface Manufacturer extends DataDetail { }\r\n\r\n interface ProductSubCategory extends DataDetail { }\r\n\r\n interface Product extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n manufacturer?: Manufacturer;\r\n manufacturerId?: Guid;\r\n productSubCategory?: ProductSubCategory;\r\n productSubCategoryId?: Guid;\r\n distributors?: ProductDistributor[];\r\n distributor?: ProductDistributor;\r\n upcCode?: string;\r\n size?: string;\r\n // isBarcodedByManufacturer?: boolean;\r\n isBarcodedByManufacturer?: boolean;\r\n productType?: ProductTypeEnum;\r\n orderQuantity?: number;\r\n orderPoint?: number;\r\n defaultOrderMultiplesOf?: number;\r\n onHandQuantity?: number;\r\n defaultWholeSalePrice?: number;\r\n markupPercentage?: number;\r\n retailPrice?: number;\r\n tax?: number;\r\n isIncludedInAverageTicketCalculations?: boolean;\r\n shouldIgnoreAutomaticDiscounts?: boolean;\r\n variants?: Variant[];\r\n //include and exclude location\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n availableAtLocations?: number;\r\n }\r\n interface BulkUpdateSchedule {\r\n __type?: string;\r\n id: string;\r\n selectedEntities?: ProductBulkUpdateEntity[];\r\n objectState: ObjectStateEnum;\r\n status: BulkUpdateStatusEnum;\r\n scheduleType: BulkUpdateTypeEnum;\r\n bulkUpdateParameters?: ProductBulkUpdateParameters;\r\n }\r\n interface ProductBulkUpdate extends BulkUpdateSchedule {\r\n }\r\n\r\n interface BulkUpdateEntity {\r\n __type?: string;\r\n id: Guid;\r\n displayName: string;\r\n variantId?: Guid;\r\n isCOOwned?: boolean;\r\n }\r\n interface ProductBulkUpdateEntity extends BulkUpdateEntity {\r\n }\r\n\r\n interface ProductBulkUpdateParameters {\r\n __type?: string;\r\n showVariants: boolean;\r\n allItemsSelected: boolean;\r\n //Product Updates:\r\n deleteProducts?: boolean;\r\n addDistributor?: boolean;\r\n addDistributorModel?: Distributor;\r\n addDistributorId?: string;\r\n removeDistributor?: boolean;\r\n removeDistributorModel?: Distributor;\r\n removeDistributorId?: string;\r\n changeManufacturer?: boolean;\r\n manufacturer?: Manufacturer;\r\n manufacturerId?: string;\r\n changeProductCategory?: boolean;\r\n productSubCategory?: ProductSubCategory;\r\n productSubCategoryId?: string;\r\n //Variant Updates:\r\n isDiscontinued?: boolean;\r\n discontinuedChangeBehavior?: DiscontinueBehaviorEnum;\r\n isNotForSale?: boolean;\r\n notForSaleChangeBehavior?: NotForSaleBehaviorEnum;\r\n isDefaultOverride?: boolean;\r\n isNotForSaleOverride?: boolean;\r\n isDiscontinuedOverride?: boolean;\r\n }\r\n\r\n interface ProductCompensation extends Model.DataMaintenance {\r\n productCompensationSetting?: ProductCompensationSetting[];\r\n employeeSpecificEnrollmentCompensation?: EmployeePackageTypeCompensationSetting[];\r\n employeeSpecificRecurringCompensation?: EmployeePackageTypeCompensationSetting[];\r\n }\r\n\r\n interface ProductCompensationSetting {\r\n productCommissionSetting?: CommissionsSettingEnum;\r\n fee?: number;\r\n isPercent?: boolean;\r\n isEnabled?: boolean;\r\n }\r\n\r\n interface ProductVariantAttribute {\r\n variantType: VariantTypeEnum,\r\n sortOrder: number;\r\n displayName: string[];\r\n id: Guid | string;\r\n }\r\n\r\n interface Variant extends DataMaintenanceWithLanguage {\r\n //id?: Guid;\r\n displayName: string;\r\n barCode: string;\r\n sku: string;\r\n markUp: number;\r\n retail: number;\r\n wholeSale: number;\r\n //objectState: number;\r\n isDiscontinued: Boolean;\r\n variantAttributes: variantAttributes[];\r\n notForSale: boolean;\r\n sortOrder: number;\r\n floorLocation: DataDetail;\r\n floorLocations: DataDetail[];\r\n startOnHand: number;\r\n actualCount: number;\r\n productInventoryType: number;\r\n categoryId: string;\r\n manufacturerId: string;\r\n variantDistributorIds?: VariantDistributorIdItem[];\r\n variantDisplayName: string;\r\n onHand?: number;\r\n selected?: boolean;\r\n numberOfLabels?: number;\r\n lastPurchaseOrderState: PurchaseOrderStateEnum;\r\n lastPurchaseOrderDate: Date;\r\n salesDateRange: any;\r\n salesStartDate: Date;\r\n salesEndDate: Date;\r\n sales: Record;\r\n activity: VariantActivity;\r\n variantStockLevels: any[];\r\n }\r\n\r\n interface VariantDistributorIdItem {\r\n variantId?: Guid;\r\n distributorId?: Guid;\r\n displayName: string;\r\n }\r\n\r\n interface VariantSalesData {\r\n saleMonth: string;\r\n quantity: number;\r\n amount: number;\r\n }\r\n\r\n interface VariantActivity {\r\n lastOrderedDate: Date;\r\n lastReceivedDate: Date;\r\n lastCountedDate: Date;\r\n lastSoldDate: Date;\r\n }\r\n\r\n interface StockLevelList {\r\n stockLevel: StockLevel[];\r\n }\r\n\r\n interface StockLevel {\r\n entityVersion?: number;\r\n id: Guid;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n productPackageType?: ProductPackageTypeEnum;\r\n multiplesOf?: number;\r\n modelQuantity?: number;\r\n orderPoint?: number;\r\n onHand: number;\r\n productVariantName: string;\r\n }\r\n\r\n interface variantAttributes {\r\n id: Guid;\r\n variantType: number;\r\n sortOrder: number;\r\n displayName: string[];\r\n }\r\n\r\n enum DayOfWeek {\r\n sunday,\r\n monday,\r\n tuesday,\r\n wednesday,\r\n thursday,\r\n friday,\r\n saturday,\r\n }\r\n\r\n interface ProductVariantBundle extends DataDetail {\r\n quantity: number;\r\n retail?: number;\r\n totalRetail?: number;\r\n productInventoryType?: ProductInventoryTypeEnum;\r\n isOnHandBelowOrderPoint?: boolean;\r\n }\r\n\r\n interface ProductBundle extends DataMaintenanceWithLanguage, IHasLocationOverride {\r\n productSubCategory?: ProductSubCategory;\r\n productSubCategoryId?: Guid;\r\n\r\n variantBundles: ProductVariantBundle[];\r\n variantBundle?: ProductVariantBundle;\r\n variants: Variant[];\r\n totalBundleValue?: number;\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n availableAtLocations?: number;\r\n bundlePrice?: number;\r\n discountPercentage?: number;\r\n hasBeenSold: boolean;\r\n isCustomProductBundle: boolean;\r\n customBundleGroups: CustomBundleGroup[];\r\n }\r\n interface CustomBundleGroup {\r\n customBundleGroupId?: string;\r\n requiredQuantity: number;\r\n customProductVariantBundles: ProductVariantBundle[];\r\n customProductVariantBundle: ProductVariantBundle;\r\n }\r\n interface EmployeeTemplate {\r\n // @Ignore()\r\n templateSecurityRoleDetail?: DataDetail;\r\n // @Ignore()\r\n templateSmartCenterDetail?: DataDetail;\r\n }\r\n\r\n interface DataMaintenance {\r\n suppressWarnings?: boolean;\r\n }\r\n\r\n interface AppointmentSchedule {\r\n clientId?: string;\r\n entityVersion?: number;\r\n id?: string;\r\n hasScheduleStarted?: boolean;\r\n objectState?: ObjectStateEnum;\r\n startDate?: Date;\r\n startTime?: string;\r\n dayOfMonth?: number;\r\n daysOfWeek?: DayOfWeek[];\r\n frequency?: number;\r\n frequencyUnit?: DateTimeUnitEnum;\r\n occurrenceInInterval?: SequencePositionEnum;\r\n endDate?: string;\r\n totalOccurrences?: number;\r\n client?: any;\r\n isPerpetual: boolean;\r\n appointmentCategory?: any;\r\n appointmentCategoryId?: string;\r\n services?: AppointmentServiceSchedule[];\r\n doNotConfirm?: boolean;\r\n isReadOnly?: boolean;\r\n defineStartTimesManually?: boolean;\r\n dateUpdated?: string\r\n }\r\n\r\n // Needs to be in custom so that the type of startDate can be of type date as that's what the md datepicker works with\r\n interface AppointmentServiceSchedule {\r\n employeeId?: string;\r\n id?: string;\r\n serviceId?: string;\r\n steps?: AppointmentServiceScheduleStep[];\r\n service?: any;\r\n employee?: any;\r\n employeeDisplayName?: string;\r\n employeeFirstName?: string;\r\n employeeLastName?: string;\r\n employeePerformsService?: boolean;\r\n serviceDisplayName?: string;\r\n serviceShortCut?: string;\r\n serviceNotes?: ServiceNote[];\r\n employeeType?: EmployeeTypeEnum;\r\n isRequested?: boolean;\r\n serviceAddOns?: any[];\r\n manualStartTime?: Date;\r\n }\r\n\r\n interface Template {\r\n newTemplateDetail?: TemplateListItem;\r\n }\r\n\r\n interface BlockType {\r\n newAddLocationDetail?: LocationListItem;\r\n defaultMinutes?: number;\r\n }\r\n\r\n interface SystemSettings {\r\n ReportsUrl?: string;\r\n }\r\n\r\n interface IMeevoSession {\r\n elevatedSessions?: { [index: string]: ElevatedSession };\r\n locationName?: string;\r\n needsToChangePassword?: boolean;\r\n daysRemainingForPasswordChange?: number;\r\n sessionTimeoutMinutes?: number;\r\n userHostAddress?: string;\r\n sessionTimeoutRedirectUrl?: string;\r\n isAuthenticated?: boolean;\r\n logoutUrl?: string;\r\n homeLocationId?: number;\r\n coLocationId?: number;\r\n callCenterLocationId?: number;\r\n isSingleLocation?: boolean;\r\n }\r\n\r\n interface IBusinessType {\r\n // todo\r\n businessType_TId: Guid;\r\n displayName: string;\r\n id: Guid | string;\r\n }\r\n\r\n interface IBusinessTypeDetails {\r\n externalId: string;\r\n isForAllLocations: boolean;\r\n objectState: ObjectStateEnum;\r\n objectCreationType: ObjectCreationTypeEnum;\r\n id: Guid | string;\r\n locationId: number;\r\n displayName: string;\r\n }\r\n\r\n interface BlockSchedule extends DataMaintenance {\r\n id?: string;\r\n blockType?: BlockTypeListItem;\r\n blockTypeId?: string;\r\n employees?: EmployeeListItem[];\r\n resources?: any;\r\n resourceIds?: any;\r\n employeeIds?: string[];\r\n entityVersion?: number;\r\n objectState?: ObjectStateEnum;\r\n reason?: string;\r\n startDate?: Date;\r\n startTime?: string;\r\n dayOfMonth?: number;\r\n daysOfWeek?: DayOfWeek[];\r\n frequency?: number;\r\n frequencyUnit?: DateTimeUnitEnum;\r\n occurrenceInInterval?: SequencePositionEnum;\r\n endDate?: string;\r\n totalOccurrences?: number;\r\n durationInMinutes: number;\r\n isAllEmployees?: boolean;\r\n isAllResources?: boolean;\r\n displayReasonOnBook?: boolean;\r\n }\r\n\r\n interface AppointmentRequest {\r\n id?: string;\r\n payingClientId?: string;\r\n payingClient?: ClientListItem;\r\n dateTimeBands?: AppointmentRequestDateTimeBand[];\r\n notifyViaText?: boolean;\r\n services?: AppointmentRequestService[];\r\n suppressWarnings?: boolean;\r\n locale: string;\r\n timeFormat: number;\r\n steps?: any[];\r\n isOnlineBookingRequest?: boolean;\r\n note?: string;\r\n appointmentCategoryId?: string;\r\n appointmentCategoryDisplayName?: string;\r\n requireSameStartTime?: boolean;\r\n requireSameResource?: boolean;\r\n waitListId?: string;\r\n }\r\n\r\n interface AppointmentRequestDateTimeBand {\r\n startDate?: Date;\r\n endDate?: Date;\r\n startTime?: string;\r\n endTime?: string;\r\n daysOfWeek?: DayOfWeek[];\r\n startTimeTemp?: any;\r\n endTimeTemp?: any;\r\n scanTimeType?: Model.ScanTimeTypeEnum;\r\n selectedPreset?: any;\r\n }\r\n\r\n interface AppointmentRequestService {\r\n id?: string;\r\n serviceId?: string;\r\n service?: Service;\r\n employeeId?: string;\r\n employee?: Employee;\r\n genderPreference?: EmployeeGenderSearchEnum;\r\n steps?: AppointmentServiceScheduleStep[];\r\n stepOverrideStage?: any;\r\n serviceAddOns?: any[];\r\n hasServiceAddOn?: boolean;\r\n employees?: EmployeeListItem[];\r\n priceLevel?: any;\r\n employeeCatId?: string;\r\n employeeCat?: EmployeeCategoryListItem;\r\n clientId?: string;\r\n client?: ClientListItem;\r\n employeeCriteria?: any;\r\n }\r\n\r\n interface AppointmentRequestServiceStep {\r\n durationInMinutes?: number;\r\n serviceStepId?: string;\r\n serviceStepNumber?: number;\r\n serviceStepType?: ServiceStepTypeEnum;\r\n serviceStepDisplayName?: string;\r\n serviceStepTypeDisplayName?: string;\r\n }\r\n\r\n interface InventoryCount {\r\n id: Guid;\r\n displayName: string;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n dateCreated: Date;\r\n dateUpdated: Date;\r\n state: InventoryCountStateEnum;\r\n entityVersion: number;\r\n lineItems: InventoryCountLineItems[];\r\n userName: string;\r\n iscounted: boolean;\r\n inventoryCountOnly: boolean;\r\n floorLocationId?: Guid;\r\n allInConflict?: boolean;\r\n orderItemsBy?: string;\r\n distributorIds: Guid[];\r\n manufacturerIds: Guid[];\r\n productCatIds: Guid[];\r\n showProdNotCntSince?: string;\r\n }\r\n\r\n interface InventoryCountLineItems {\r\n id: Guid;\r\n variantId: Guid;\r\n startOnHand?: number;\r\n startOnHandDateTime?: Date;\r\n endOnHand: number;\r\n actualCount: number;\r\n productName: string;\r\n displayName: string;\r\n isCounted: boolean;\r\n barCode?: string;\r\n objectState: ObjectStateEnum;\r\n imageURL?: string;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n sku: string;\r\n onHand: number;\r\n product_TId: Guid;\r\n floorLocationId?: Guid;\r\n isOverride?: boolean;\r\n productVariantsPerFloorLocation: ProductVariantPerFloorLocation[];\r\n finalCount?: number;\r\n isDeleted?: boolean;\r\n wholeSale?: number;\r\n isAutosave: boolean;\r\n entityVersion?: string;\r\n manufacturer?: string;\r\n subCategory?: string;\r\n category?: string;\r\n supplyCategoryEnum?: SupplyCategoryEnum;\r\n isDirty: boolean;\r\n }\r\n interface ProductVariantPerFloorLocation {\r\n floorLocationId?: Guid;\r\n variant_TId?: Guid;\r\n perFloorLocationActualCount: number;\r\n }\r\n\r\n interface PurchaseOrder {\r\n id: Guid;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n distributorId: Guid;\r\n dateCreated: Date;\r\n dateUpdated: Date;\r\n purchaseOrderState: PurchaseOrderStateEnum;\r\n entityVersion: number;\r\n lineItems: PurchaseOrderDetails[];\r\n userName: string;\r\n objectState: ObjectStateEnum;\r\n notes: PurchaseOrderNote;\r\n itemCount: number;\r\n itemTotal: number;\r\n totalPrice: number;\r\n autoGeneratePONumber: boolean;\r\n manufacturerId: Guid;\r\n supplyCategoryEnum?: SupplyCategoryEnum;\r\n purchaseOrderNumber?: string;\r\n distributorReferenceNumber?: string;\r\n dateSubmitted?: Date;\r\n isAvedaOrderingEnabled?: boolean;\r\n createdByDisplayName?: string;\r\n sortOption?: string;\r\n totalDiscount?: number;\r\n latestLineItemReceivedDate?: Date;\r\n manufacturerIds: Guid[];\r\n productSubCategoryIds: Guid[];\r\n supplyCategoryIds: SupplyCategoryEnum[];\r\n }\r\n\r\n interface PurchaseOrderDetails {\r\n id: string;\r\n displayName: string;\r\n variantId: Guid;\r\n orderQuantity: number;\r\n lineTotal: number;\r\n onHand: number;\r\n unitPrice: number;\r\n wholeSale: number;\r\n suggestedQty: number;\r\n orderPoint: number;\r\n attributes: variantAttributes;\r\n willSave: boolean;\r\n productPackageType: ProductPackageTypeEnum;\r\n multiplesOf: number;\r\n productId: Guid;\r\n modelQuantity: number;\r\n sku: string;\r\n barCode: string;\r\n variantDisplayName: string;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n variantDistributorDisplayName: string;\r\n isAvedaOrderingEnabled: boolean;\r\n purchaseOrderLineItemResponseCode?: PurchaseOrderLineItemResponseCodeEnum;\r\n orderOfEntry?: number;\r\n dateAdded?: Date;\r\n isSelected?: boolean;\r\n discounts?: PurchaseOrderDiscount[];\r\n discountAmount?: number;\r\n numberOfLabels?: number;\r\n received?: number;\r\n supplyCategory?: SupplyCategoryEnum;\r\n isNew?: boolean;\r\n }\r\n\r\n interface PurchaseOrderNote {\r\n id: Guid;\r\n purchaseOrderId: string;\r\n note: string;\r\n objectState: ObjectStateEnum;\r\n poObjectState: ObjectStateEnum;\r\n }\r\n\r\n interface PurchaseOrderReceival extends PurchaseOrder {\r\n purchaseOrderId?: Guid;\r\n summarizeHeader: boolean;\r\n tax: number;\r\n shippingAndHandling: number;\r\n previousTax: number;\r\n referenceNumber: string;\r\n userDisplayName: string;\r\n receivalLineItems: PoReceivalLineItem[];\r\n }\r\n\r\n interface PoReceivalLineItem {\r\n poReceivableId?: Guid;\r\n isTaxable: number;\r\n receiveQuantity: number;\r\n currentReceiveQuantity: number;\r\n receivableLineTotal: number;\r\n previousReceivableLineTotal: number;\r\n orderQuantity: number;\r\n productPackageType: ProductPackageTypeEnum;\r\n variantId: Guid | string;\r\n variantDisplayName: string;\r\n productDisplayName: string;\r\n multiplesOf: number;\r\n purchaseOrderLineTotal: number;\r\n unitPrice: number;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n orderOfEntry?: number;\r\n supplyCategory?: SupplyCategoryEnum;\r\n variantDistributorDisplayName: string;\r\n }\r\n\r\n interface PurchaseOrderDiscount {\r\n type: Model.PurchaseOrderDiscountTypeEnum;\r\n discountValue: number;\r\n discountAmount: number;\r\n isSpread?: boolean;\r\n }\r\n\r\n interface InventoryTransfer {\r\n id: Guid;\r\n displayName: string;\r\n transferNumber: string;\r\n referenceNumber: string;\r\n transferringLocationId: number;\r\n transferStatus: TransferStatusEnum;\r\n receivingLocationId: number;\r\n receivalStatus?: ReceivalStatusEnum;\r\n haveNotes: boolean;\r\n shippingHandling: number;\r\n tax: number;\r\n totalValue: number;\r\n lineItems: InventoryTransferLineItem[];\r\n // objectState: ObjectStateEnum;\r\n entityVersion?: number;\r\n transferringLocation: string;\r\n receivingLocation: string;\r\n transferStatusBW?: number;\r\n isTransferInvalid?: boolean;\r\n // invalideStatusBW: boolean;\r\n isCo: boolean;\r\n isFinalUnitPriceCalculated: boolean;\r\n\r\n }\r\n interface InventoryTransferLineItem {\r\n id: Guid;\r\n transferLineItemId: Guid;\r\n displayName: string;\r\n productId: Guid;\r\n productDisplayName: string;\r\n transferQuantity: number;\r\n lineTotal: number;\r\n onHand: number;\r\n estimatedUnitPrice: number;\r\n finalUnitPrice?: number;\r\n unitPrice: number;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n lineNumber: number;\r\n currentOnHand?: number;\r\n sku: string;\r\n barCode: string;\r\n receivingLocationOnHand?: number;\r\n receivingLocationModelQuantity?: number;\r\n receivingLocationOrderPoint?: number;\r\n receivingLocationMultiplesOf?: number;\r\n }\r\n interface InventoryTransferNote {\r\n id: Guid;\r\n note: string;\r\n invenoryTransferId: Guid;\r\n userId: Guid;\r\n viewByOtherLocation: boolean;\r\n locationId: number;\r\n\r\n\r\n }\r\n\r\n interface IWalkinAppointmentBase {\r\n clientId: Guid;\r\n note: string;\r\n isSMSEnabled: boolean;\r\n bookingMethod: BookingMethodEnum;\r\n statusEnum?: WalkInStatusEnum;\r\n appointmentServiceTransitionState?: AppointStateEnum;\r\n appointmentServiceFinalState?: AppointFinalStateEnum;\r\n suppressWarnings?: boolean;\r\n }\r\n\r\n interface IWalkinAppointmentSave extends IWalkinAppointmentBase {\r\n moveToTop: boolean;\r\n services: Array;\r\n }\r\n\r\n interface IWalkinAppointmentService {\r\n id?: Guid;\r\n serviceId: Guid;\r\n employeeId: Guid;\r\n startDateTime: string;\r\n endDateTime: string;\r\n employeeGenderSearchEnum: EmployeeGenderSearchEnum;\r\n nonRequest: boolean;\r\n entityVersion?: number;\r\n serviceAddOns?: Array;\r\n }\r\n\r\n interface IWalkinAppointmentAddOn {\r\n addOnServiceId: Guid;\r\n appointmentServiceId: Guid;\r\n }\r\n\r\n interface IWalkInSettings {\r\n logoUrl: string;\r\n backgroundUrl: string;\r\n walkInConfirmationWindowWaitTimeInSec: number;\r\n enableClientEmailLookupForWalkIn: boolean;\r\n appointmentNotesEnabled: boolean;\r\n walkInDisplayMonitorShowTotalTime: boolean;\r\n walkInMostPopularServiceId: Guid | string;\r\n promotionalContents?: Array;\r\n waitListHeaderColor: string;\r\n waitListHeaderFontColor: string;\r\n waitListMainFontColor: string;\r\n termsAndConditions: ISettingsTerms;\r\n notifications?: ISettingsNotifications;\r\n systemNotifications?: ISettingsNotifications;\r\n notificationStates?: ISettingsNotificationStates;\r\n notificationPositionX: number;\r\n notificationClosingMins: number;\r\n walkInHours?: Array;\r\n standardBusinessHours?: Array;\r\n publicOnlineWaitListUrl?: string;\r\n customerNameFormat: CustomerNameDisplayFormatEnum;\r\n businessName?: string;\r\n mileageLimitX?: number;\r\n walkinEnableCustomerOnlineSignupFor: boolean;\r\n businessLogo?: IStorageFile;\r\n backgroundImage?: IStorageFile;\r\n promotionalContent1?: IStorageFile;\r\n promotionalContent2?: IStorageFile;\r\n promotionalContent3?: IStorageFile;\r\n promotionalContent4?: IStorageFile;\r\n walkInEmployee?: EmployeeListItem;\r\n walkInServices?: Service;\r\n hideAnyGenderOptions: boolean;\r\n promotion1Title?: string;\r\n promotion1Description?: string;\r\n promotion2Title?: string;\r\n promotion2Description?: string;\r\n promotion3Title?: string;\r\n promotion3Description?: string;\r\n hideWaitTimeEstimate?: boolean;\r\n showAddressFields?: boolean;\r\n enableWaitListTextNotifications?: boolean;\r\n settings: Array;\r\n enableClientArrivalNotification?: boolean;\r\n defaultFirstAvailableEmployee?: boolean;\r\n enableIntegratedRegister?: boolean;\r\n customConfirmationPageMessage?: string;\r\n appointmentBookFullMessage?: string;\r\n showOnlyClockedInEmployees?: boolean;\r\n showKioskCurrentWaitList?: boolean;\r\n hideOtherWaitlistClients?: boolean;\r\n maximumNumberOfWalkinGuests: number;\r\n }\r\n\r\n interface ISettingsHoursItem {\r\n isEnabled: boolean;\r\n weekdayName: WeekdayNameEnum;\r\n weekdayNameDisplay: string;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n\r\n interface PhoneNumberVerification\r\n {\r\n tenantId: number;\r\n locationId: number;\r\n phoneNumber: string;\r\n countryCode: string;\r\n emailAddress: string;\r\n address: Address;\r\n fullAddress: string;\r\n webAddressUrl: string;\r\n webAddressUrl2: string;\r\n contactFirstName: string;\r\n contactLastName: string;\r\n employerIdentificationNumber: string;\r\n tollFreeNumber: string;\r\n tollFreeNumberSid: string;\r\n customerProfileSid: string;\r\n trustHubSid: string;\r\n }\r\n\r\n interface ISettingsNotifications {\r\n notificationWelcomeText: string;\r\n notificationPosition1Text: string;\r\n notificationPositionXText: string;\r\n notificationMissedText: string;\r\n notificationClosingXText: string;\r\n customConfirmationPageMessage: string;\r\n appointmentBookFullMessage: string;\r\n }\r\n\r\n interface ISettingsNotificationStates {\r\n notificationWelcomeState: ObjectStateEnum;\r\n notificationPosition1State: ObjectStateEnum;\r\n notificationPositionXState: ObjectStateEnum;\r\n notificationMissedState: ObjectStateEnum;\r\n notificationClosingXState: ObjectStateEnum;\r\n }\r\n\r\n interface ISettingsTerms {\r\n objectStateEnum: ObjectStateEnum;\r\n termsAndConditionsTypeEnum: TermsAndConditionsTypeEnum;\r\n entityVersion: number;\r\n termsAndConditionsText?: string;\r\n termsAndConditionsURL?: string;\r\n }\r\n\r\n interface IPromotionalContent {\r\n advertisementImageUrl: string;\r\n accentColor: string;\r\n displayName: string;\r\n description: string;\r\n }\r\n\r\n interface Sale {\r\n id?: number;\r\n saleDate?: Date;\r\n paymentLines: SalePayment[];\r\n saleLines: SaleLine[];\r\n subTotal: number;\r\n total: number;\r\n changeDue: number;\r\n cashRounding?: number;\r\n tipLines: TipLine[];\r\n tipPercentage?: number;\r\n tipAmount?: number;\r\n useDiscountedPrice?: boolean;\r\n saleStage: SaleStageEnum;\r\n tip: number;\r\n baseTax?: number;\r\n baseTaxIncluded?: number;\r\n finalTax?: number;\r\n finalTaxIncluded?: number;\r\n tax: number;\r\n taxIncluded: number;\r\n taxes?: SaleLineTax[];\r\n holdType?: HoldTypeEnum;\r\n onHoldIds: any;\r\n onHoldEntityVersion?: number;\r\n mergeClientIds: string[];\r\n mergeOnHoldId?: Guid;\r\n suppressWarnings?: boolean;\r\n skipClientAccountValidation?: boolean;\r\n transactionDateTime?: string;\r\n transactionId?: string;\r\n noLinkMergeClientIds: string[];\r\n totalDiscounts?: number;\r\n noSale?: boolean;\r\n totalPrepaidTip: number;\r\n containsAvailableAutomaticDiscounts?: boolean;\r\n totalAmountRedeemed?: number;\r\n totalPrepaidTipRedeemed?: number;\r\n removedAutomaticDiscountIds?: Guid[];\r\n merchantTerminalId?: Guid | string;\r\n externalTerminalId?: string;\r\n merchantAccountId?: Guid;\r\n isProductTaxDeclined?: boolean;\r\n isServiceTaxDeclined?: boolean;\r\n isClientAccountUsageInvalid?: boolean;\r\n appointNotes?: appointNote[];\r\n saleNotes?: saleNote[];\r\n hasPurchasedItems?: boolean;\r\n computedGuid?: string;\r\n changedClientIds?: IPairOfRegisterClient[];\r\n automaticDiscountIdToBeApplied?: string;\r\n isItemSelectionComplete?: boolean;\r\n deviceTipBypass?: boolean;\r\n deviceTip?: number;\r\n deviceTipPercentage?: number;\r\n deviceServiceTotal?: number;\r\n discountBarCodeToBeApplied?: string;\r\n voidHold?: boolean;\r\n recalculateSaleInProgress?: boolean;\r\n recalculateTipInProgress?: boolean;\r\n hasRebookCandidates?: boolean;\r\n isComingFromHold?: boolean;\r\n selfCheckoutClientId?: string;\r\n selfPayments?: any[];\r\n locale: string;\r\n timeFormat: number;\r\n pastTransactionDateTime?: Date;\r\n pastTransactionDrawerId?: string;\r\n pastTransactionDrawerSessionId?: string;\r\n holdLockedDisplayName?: string;\r\n clientAccountBalances?: any[];\r\n isRefundFromTransaction?: boolean;\r\n isTemp?: boolean;\r\n syncAppointmentUpdates?: boolean;\r\n externalTipTransactionId?: string;\r\n tipConvenienceFee?: number;\r\n externalTipEmployeeIds?: string[];\r\n }\r\n\r\n interface IPairOfRegisterClient {\r\n newClient: IRegisterClient;\r\n oldClient: IRegisterClient;\r\n }\r\n\r\n interface SaleOnHold {\r\n id: Guid;\r\n }\r\n\r\n interface IRegisterClient {\r\n client?: Model.SaleClient;\r\n clientId?: string;\r\n clientType: Model.ClientTypeEnum;\r\n clientDisplayName?: string;\r\n appointmentId?: string;\r\n }\r\n\r\n interface SaleLine extends IRegisterClient {\r\n id?: Number;\r\n employee?: EmployeeListItem;\r\n employeeId?: string;\r\n item?: SaleLineItem;\r\n quantity: number;\r\n basePrice?: number;\r\n finalPrice?: number;\r\n baseItemPrice?: number;\r\n finalItemPrice?: number;\r\n charges?: SaleLineCharge[];\r\n baseCharge?: number;\r\n finalCharge?: number;\r\n baseItemCharge?: number;\r\n finalItemCharge?: number;\r\n basePriceCharge?: number;\r\n finalPriceCharge?: number;\r\n baseItemPriceCharge?: number;\r\n finalItemPriceCharge?: number;\r\n clientId: string;\r\n saleType: SalesTypeEnum;\r\n isExpanded?: boolean;\r\n isDetailExpanded?: boolean;\r\n needsCollapsing?: boolean;\r\n price?: number;\r\n taxes?: SaleLineTax[];\r\n isDirty?: boolean;\r\n discountLines?: DiscountLine[];\r\n consolidatedDiscountLines?: ConsolidatedDiscountLine[];\r\n prepaidTip?: number;\r\n prepaidTipRedeemed?: number;\r\n packageRedemptionPath?: Model.PackageRedemptionPath;\r\n redeemedPackages?: any[];\r\n packageRedeemed?: boolean;\r\n isDeleteWithPackageRedeemed?: boolean;\r\n packageRedemptionType?: Model.PackageRedemptionTypeEnum | 0;\r\n isNew?: boolean;\r\n quantitySelected?: number;\r\n quantityRequired?: number;\r\n isAddOn?: boolean;\r\n removedAutomaticDiscountIds?: string[];\r\n newQuantity?: number;\r\n originalQuantity?: number;\r\n isRefund?: boolean;\r\n tax?: number;\r\n baseTax?: number;\r\n finalTax?: number;\r\n baseTaxIncluded?: number;\r\n finalTaxIncluded?: number;\r\n originalBaseTax?: number;\r\n originalFinalTax?: number;\r\n originalTaxes?: SaleLineTax[];\r\n originalBaseCharge?: number;\r\n originalFinalCharge?: number;\r\n originalBaseItemCharge?: number;\r\n originalFinalItemCharge?: number;\r\n originalCharges?: SaleLineCharge[];\r\n saleId?: number;\r\n saleDate?: string;\r\n locationId?: number;\r\n refundSaleId?: number;\r\n refundSaleLineId?: Number;\r\n refundSaleDate?: string;\r\n refundLocationId?: number;\r\n refundTransactionId?: string;\r\n employeeDisplayName?: string;\r\n itemDisplayName?: string;\r\n itemId?: string;\r\n transactionId?: string;\r\n newFinalItemPrice?: number; // only client side; binded to price field in expanded smart receipt content;\r\n newFinalItemCharge?: number; // only client side; binded to price field in expanded smart receipt content;\r\n newRefundItemPrice?: number; // only client side; binded to price field in expanded smart receipt content;\r\n originalBaseItemPrice?: number;\r\n originalFinalItemPrice?: number;\r\n originalBaseItemPriceCharge?: number;\r\n originalFinalItemPriceCharge?: number;\r\n hideInReceipt?: boolean;\r\n performAutoRedeem?: boolean;\r\n secondEmployeeId?: string;\r\n secondEmployee?: EmployeeListItem;\r\n secondEmployeeSplitCommission?: number;\r\n employeeSplitCommission?: number;\r\n fullCommissionItemPrice?: number;\r\n fullCommissionPrice?: number;\r\n originalFullCommissionPrice?: number;\r\n isFullCommissionApplicable?: boolean;\r\n computedGuid?: string;\r\n isFullCommissionApplicableManuallyChecked?: boolean;\r\n showPoleMessage?: SaleLineStatusEnum;\r\n isProductTaxDeclined?: boolean;\r\n isServiceTaxDeclined?: boolean;\r\n onHoldId?: string;\r\n priceIncludesTax?: boolean;\r\n teacher?: EmployeeListItem;\r\n teacherId?: string;\r\n needsTeacherAssignment?: boolean;\r\n noRefundReason?: SaleLineNoRefundReasonEnum;\r\n isComingFromHold?: boolean;\r\n hasPromptedForRebook?: boolean;\r\n referredByDetail?: Meevo.Model.ReferralDetail;\r\n receiptDisplayName?: string;\r\n linkedSaleLineIds?: number[];\r\n isSwapFeeLinkedToService?: boolean; // FRONT END ONLY\r\n paymentPlanId?: string;\r\n hasPaymentPlan?: boolean;\r\n redeemedPackageItems?: any[];\r\n externalTipTransactionId?: string;\r\n }\r\n\r\n interface TransactionEditorSaleLineSecurity {\r\n isDisabled: boolean;\r\n canElevate: boolean;\r\n }\r\n\r\n interface TransactionEditorSaleLine extends SaleLine {\r\n employeeCriteria: any;\r\n employee2Criteria: any;\r\n product: any;\r\n service: any;\r\n productCriteria: any;\r\n item: any;\r\n productSecurity: TransactionEditorSaleLineSecurity;\r\n inventoryTypeSecurity: TransactionEditorSaleLineSecurity;\r\n }\r\n\r\n interface TipLine {\r\n employeeId: string;\r\n employee: EmployeeListItem;\r\n employeeSplitCommission?: number;\r\n employeeCode?: string;\r\n employeeFirstName?: string;\r\n employeeLastName?: string;\r\n employeeDisplayName?: string;\r\n originalEmployeeId: string;\r\n originalEmployee: EmployeeListItem;\r\n originalEmployeeCode?: string;\r\n originalEmployeeFirstName?: string;\r\n originalEmployeeLastName?: string;\r\n originalEmployeeDisplayName?: string;\r\n amount: number;\r\n percentage: number;\r\n id?: string;\r\n tempId?: string;\r\n isRefund?: boolean;\r\n refundSaleId?: string;\r\n refundLocationId?: number;\r\n refundTipLineId?: string;\r\n refundSaleDate?: Date;\r\n clientIds?: any[];\r\n saleId?: string;\r\n saleDate?: Date;\r\n locationId?: number;\r\n transactionId?: string;\r\n basePrice?: number;\r\n finalPrice?: number;\r\n registerClients?: Model.IRegisterClient[];\r\n prepaidTipMinimum?: number;\r\n baseTotal?: number;\r\n finalTotal?: number;\r\n isServiceEmployee?: boolean;\r\n serviceTotal?: number;\r\n externalTipTransactionId?: string;\r\n convenienceFee?: number;\r\n }\r\n\r\n interface PaymentTypeListItem {\r\n id?: string;\r\n displayName?: string;\r\n entityVersion?: number;\r\n objectState?: ObjectStateEnum;\r\n paymentCategoryDisplayName: string;\r\n paymentCategory: PaymentCategoryEnum;\r\n paymentSubCategory: PaymentSubCategoryEnum;\r\n paymentTypeSId: number;\r\n isRefundable?: boolean;\r\n }\r\n\r\n interface DiscountLine {\r\n type?: DiscountTypeEnum | 0;\r\n amount?: number;\r\n discountValue?: number;\r\n predefinedDiscount?: any;\r\n id?: number;\r\n saleLineId?: number;\r\n discountId?: string;\r\n displayName?: string;\r\n saleLineDiscountType?: SaleLineDiscountTypeEnum;\r\n isBuyGet?: boolean;\r\n isStackable?: boolean;\r\n isBuyItem?: boolean;\r\n buyEntityType?: DiscountEntityTypeEnum;\r\n discountEntityType?: DiscountEntityTypeEnum;\r\n discountSaleLineGroupId?: string;\r\n isAutoApply?: boolean;\r\n isEmployeeExclusive?: boolean;\r\n entityId?: string;\r\n membershipBenefitTemplateId?: string;\r\n employees?: Array;\r\n clientClientTypes?: Array;\r\n isFullCommissionApplicable?: boolean;\r\n buy_Amount?: number;\r\n buy_Quantity?: number;\r\n get_Quantity?: number;\r\n requiredQuantity?: number;\r\n isMembershipClientDiscount?: boolean;\r\n isNonMembershipClientDiscount?: boolean;\r\n clientTransactionStateDate?: Date;\r\n bogoBasedOnTypeEnum?: DiscountBasedOnEnum;\r\n showPoleMessage?: SaleLineStatusEnum;\r\n availableUsageLeft?: number;\r\n isPending?: boolean;\r\n isSpread?: boolean;\r\n isAllowRedeemBuyGet?: boolean;\r\n isItemOnSaleOverride?: boolean;\r\n discountValueSpread?: number;\r\n }\r\n\r\n interface ConsolidatedDiscountLine extends DiscountLine {\r\n totalDiscounts?: number;\r\n totalDiscountsFormatted?: string;\r\n }\r\n\r\n interface DiscountListItem {\r\n // ListItemBase\r\n id: string;\r\n locationId: number;\r\n displayName: string;\r\n\r\n // ListItem\r\n objectState: ObjectStateEnum;\r\n objectCreationType: ObjectCreationTypeEnum;\r\n\r\n // CoListItem\r\n ownedByLocationName: string;\r\n ownedByLocationId: number;\r\n atLocationName: string;\r\n atLocationId: number;\r\n totalLocations: number;\r\n availableAtLocations: number;\r\n\r\n discountEntityType: DiscountEntityTypeEnum;\r\n buyEntityType: DiscountEntityTypeEnum;\r\n bogoBasedOnType: Meevo.Model.BOGOBasedOnTypeEnum;\r\n isBuyGet: boolean;\r\n isStackable: boolean;\r\n details: Model.IDiscount;\r\n }\r\n\r\n interface SaleLineDiscountBogo {\r\n saleLineId: number;\r\n discountId: Guid | string;\r\n usedQuantity: number;\r\n usedAmount: number;\r\n usedSaleLocationId: number;\r\n usedSaleDate: string;\r\n usedSaleId: number;\r\n usedSaleLineId: number;\r\n discountSaleLineGroupId: Guid | string;\r\n }\r\n\r\n interface PackageRedemptionPath {\r\n clientId?: Guid;\r\n clientPackagesCreated?: any[];\r\n clientPackageServicesUsed?: any[];\r\n clientPackageProductsUsed?: any[];\r\n clientPackagesUsed?: any[];\r\n createsMerge?: boolean;\r\n createsSplit?: boolean;\r\n numberOfSteps?: number;\r\n redeemQuantity?: number;\r\n serviceId?: Guid;\r\n usesExpiredPackage?: boolean;\r\n usesSwap?: boolean;\r\n totalSwapFee?: number;\r\n }\r\n\r\n interface Device {\r\n id?: string;\r\n displayName: string;\r\n deviceName: string;\r\n ribbonSize: number;\r\n drawer?: Guid;\r\n ipAddress: string;\r\n objectState: ObjectStateEnum;\r\n brandId: number;\r\n port: number;\r\n entityVersion?: number;\r\n terminalId?: Guid;\r\n devicePrinterId?: Guid;\r\n devicePrinter: any;\r\n deviceCardId?: Guid;\r\n deviceCard: any;\r\n useNetworkPrinter?: boolean;\r\n customerDisplayStandbyLine1: string;\r\n customerDisplayStandbyLine2: string;\r\n isCustomerDisplayEnabled?: boolean;\r\n isTrustEnabled?: boolean;\r\n }\r\n\r\n interface PosHardware {\r\n deviceType: DeviceTypeEnum;\r\n devices: Device[];\r\n }\r\n\r\n interface CreditCardStatus {\r\n code: number;\r\n message: string;\r\n paymentAlertMessage?: string;\r\n processorMessage: string;\r\n }\r\n\r\n interface SalePayment {\r\n __type?: string;\r\n amount: number;\r\n paymentTypeId?: string;\r\n paymentCategory?: Model.PaymentCategoryEnum;\r\n paymentSubCategory?: Model.PaymentSubCategoryEnum;\r\n paymentTypeDisplayName?: string;\r\n paymentType?: Model.PaymentTypeListItem;\r\n updated?: boolean;\r\n isPending?: boolean;\r\n transactionSetupId?: string;\r\n id?: number;\r\n tempId?: string;\r\n onHoldId?: string;\r\n paymentRequestId?: string;\r\n // processing\r\n isDeclined?: boolean;\r\n }\r\n\r\n interface SalePaymentDeferredVoidKey extends SalePayment {\r\n deferredVoidKey?: SalePaymentKey;\r\n }\r\n\r\n interface SalePaymentKey {\r\n saleDate?: Date;\r\n saleId?: number;\r\n salePaymentId?: number;\r\n saleTransactionId?: string;\r\n }\r\n\r\n interface SaleCheckPayment extends SalePayment {\r\n checkNumber?: string;\r\n }\r\n\r\n interface SaleClientAccountPayment extends SalePayment {\r\n clientId?: string;\r\n clientDisplayName?: string;\r\n appointmentServiceId?: string;\r\n serviceShortcut?: string;\r\n }\r\n\r\n interface SaleGiftCardPayment extends SalePayment {\r\n giftCardId?: string;\r\n giftCardNumber?: string;\r\n clientDisplayName?: string;\r\n paymentRequestId?: string;\r\n isPromo?: boolean;\r\n promoServiceDisplayName?: string;\r\n }\r\n\r\n interface SaleExternalGiftCardPayment extends SalePayment {\r\n clientDisplayName?: string;\r\n }\r\n\r\n interface SaleClientPointPayment extends SalePayment {\r\n clientId?: string;\r\n clientDisplayName?: string;\r\n }\r\n\r\n interface SaleCreditCardPayment extends SalePayment {\r\n paymentRequestId?: string;\r\n creditCardNumber?: string;\r\n creditCardType?: string;\r\n creditCardExpirationDate?: string;\r\n tipAmount?: number;\r\n paymentRequest?: Model.PaymentRequest;\r\n requestedAmount?: number;\r\n approvedAmount?: number;\r\n parentId?: string;\r\n cardEntryType?: Model.CardEntryTypeEnum;\r\n signatureData?: string;\r\n signatureDataFormat?: Model.CreditCardSignatureFormatEnum;\r\n reverse?: boolean;\r\n transactionSetupId?: string;\r\n }\r\n\r\n interface SalePaymentDeferredVoid extends SalePayment {\r\n voidSaleDate?: Date;\r\n voidSaleId?: number;\r\n voidSalePaymentId?: number;\r\n voidSaleTransactionId: string;\r\n }\r\n\r\n interface PaymentRequest {\r\n id?: string;\r\n paymentRequestStatus?: Model.PaymentRequestStatusEnum;\r\n creditCardProcessorStatus?: CreditCardStatus;\r\n creditCardNumber?: string;\r\n creditCardType?: string;\r\n creditCardExpirationDate?: string;\r\n tipAmount?: number;\r\n amount: number;\r\n requestedAmount?: number;\r\n approvedAmount?: number;\r\n paymentTypeId?: string;\r\n paymentCategory?: Model.PaymentCategoryEnum;\r\n paymentTypeDisplayName?: string;\r\n paymentType?: Model.PaymentTypeListItem;\r\n updated?: boolean;\r\n isPending?: boolean;\r\n onHoldId?: string;\r\n paymentRequestVoidStatus?: Model.PaymentRequestStatusEnum;\r\n paymentRequestVoidType?: number;\r\n //processorResponse?: Object;\r\n approvalCode?: string;\r\n emvEntryMode?: Model.CardEntryTypeEnum;\r\n signatureData?: string;\r\n signatureDataFormat?: Model.CreditCardSignatureFormatEnum;\r\n emvApplicationPreferredName?: string;\r\n emvApplicationLabel?: string;\r\n emvApplicationIdentifier?: string;\r\n emvTags?: string;\r\n processorTransactionId?: string;\r\n tempId?: Guid | string;\r\n merchantTerminalId?: Guid | string;\r\n externalTerminalId?: Guid | string;\r\n paymentRequestVoidCreditCardProcessorStatus?: CreditCardStatus;\r\n parentId?: string;\r\n merchantAccountId?: string;\r\n processorResponseCode?: Model.ProcessorResponseCodeEnum;\r\n performTransactionQuery?: boolean;\r\n holdType?: HoldTypeEnum;\r\n processorTransactionSetupId?: string;\r\n }\r\n\r\n interface PaymentPlanPayment extends SalePayment{\r\n paymentPlanId?: string\r\n }\r\n\r\n interface SaleLineItem {\r\n // needed to support subclasses on the server-side; value is \"type, namespace\" to get deserialized correctly on the server-side\r\n __type?: string;\r\n id?: string;\r\n displayName?: string;\r\n shortcut?: string;\r\n originalId?: string;\r\n clientFirstName?: string;\r\n clientLastName?: string;\r\n clientDisplayName?: string;\r\n firstClientType?: ClientTypeEnum;\r\n hasMultiClientOrType?: boolean;\r\n doNotAllowTips?: boolean;\r\n entityVersion?: number;\r\n paymentPlanEntityVersion?: number;\r\n }\r\n\r\n interface ServiceSaleLineItem extends SaleLineItem {\r\n appointmentId?: string;\r\n appointmentServiceId?: string;\r\n temp?: ServiceSaleLineItem;\r\n appointmentServiceDate?: string;\r\n addOnAppointmentServiceId?: string;\r\n addOnServiceId?: string;\r\n cancellationTypeId?: string;\r\n appointmentEntityVersion?: number;\r\n usedClientPackageServiceId?: string;\r\n usedClientPackageId?: string;\r\n refundClientPackageId?: any;\r\n isRefundClientPackage?: boolean;\r\n hasCheckoutCustomControls?: boolean;\r\n customControlsAnswers?: any;\r\n paymentPromoGiftCardId?: string;\r\n doNotAllowTips?: boolean;\r\n isRebooked?: boolean;\r\n clientVisitNoteTypeId?: string;\r\n isUnlimitedService?: boolean;\r\n depositAmount?: number;\r\n employeeId?: string;\r\n clientId?: string;\r\n clientType?: Model.ClientTypeEnum;\r\n isAddOn?: boolean;\r\n appointmentServiceSaleDetails?: Model.AppointmentServiceSaleDetails;\r\n }\r\n\r\n interface AppointmentServiceSaleDetails{\r\n payingClientId?: string;\r\n payingClientDisplayName?: string;\r\n }\r\n\r\n interface ProductSaleLineItem extends SaleLineItem {\r\n productId?: string;\r\n sku?: string;\r\n barCode?: string;\r\n variantAttributes?: any[];\r\n isResell?: boolean;\r\n productDisplayName?: string;\r\n variantDisplayName?: string;\r\n isProductBundle?: boolean;\r\n productInventoryType?: ProductInventoryTypeEnum;\r\n }\r\n\r\n interface SaleLineTax {\r\n baseAmount?: number;\r\n finalAmount?: number;\r\n saleLineId?: number;\r\n taxRateId?: string;\r\n taxTypeId?: string;\r\n taxTypeDisplayName?: string;\r\n isIncludedInPrice?: boolean;\r\n }\r\n\r\n interface SaleLineChargeTax extends SaleLineTax {\r\n serviceChargeId?: string;\r\n }\r\n\r\n interface SaleLineCharge {\r\n baseAmount?: number;\r\n finalAmount?: number;\r\n saleLineId?: number;\r\n serviceChargeId?: string;\r\n chargeType?: Model.ChargeTypeEnum;\r\n chargeAmount?: number;\r\n isPercent?: boolean;\r\n taxes?: SaleLineChargeTax[];\r\n originalTaxes?: SaleLineChargeTax[];\r\n }\r\n\r\n interface MembershipSaleLineItem extends SaleLineItem {\r\n paymentAccounts?: any[];\r\n isTaxExempt?: boolean;\r\n autoRenewType?: Model.AutoRenewTypeEnum;\r\n membershipNumber?: string;\r\n }\r\n\r\n interface ClientAccountSaleLineItem extends SaleLineItem {\r\n originalBalance?: number;\r\n note?: string;\r\n clientFirstName?: string;\r\n clientLastName?: string;\r\n clientDisplayName?: string;\r\n appointmentServiceId?: string;\r\n serviceDisplayName?: string;\r\n serviceShortcut?: string;\r\n }\r\n\r\n interface MembershipPaymentSaleLineItem extends SaleLineItem {\r\n clientMembershipBillFeeType?: number;\r\n clientMembershipBillStatus?: number;\r\n clientMembershipId?: string;\r\n entityVersion?: number;\r\n freezeSetting?: boolean;\r\n freezeStartDate?: string;\r\n freezeReactivationDate?: string;\r\n freezeReason?: string;\r\n isTaxExempt?: boolean;\r\n membershipName?: string;\r\n paymentDate?: Date;\r\n }\r\n\r\n interface PaymentPlanPaymentSaleLineItem extends SaleLineItem {\r\n paymentPlanEntityVersion?: number;\r\n paymentDate?: Date;\r\n saleTransactionId?: string;\r\n }\r\n\r\n interface PaymentPlanReductionSaleLineItem extends SaleLineItem {\r\n\r\n }\r\n\r\n interface PackageSaleLineItem extends SaleLineItem {\r\n clientPackage?: any;\r\n packageCreationType?: PackageCreationTypeEnum;\r\n packageNumber?: string;\r\n unlimitedTotal?: number;\r\n }\r\n\r\n interface GiftCardSaleLineItem extends SaleLineItem {\r\n clientGiftCard?: any;\r\n remainingAmount?: number;\r\n remainingRefundAmount?: number;\r\n giftCardNumber?: string;\r\n giftCardTypeId?: string;\r\n giftCardTypeDisplayName?: string;\r\n autoGenerateGiftCardNumber?: boolean;\r\n note?: string;\r\n isGiftCardNumberUnmasked?: boolean;\r\n }\r\n\r\n interface GiftCardBulkSaleLineItem extends GiftCardSaleLineItem {\r\n giftCardNumberStarting?: string;\r\n giftCardNumberEnding?: string;\r\n }\r\n\r\n interface PackageServiceSwapFeeSaleLineItem extends ServiceSaleLineItem {\r\n clientPackageServiceId?: string;\r\n swapGroupId?: string;\r\n }\r\n\r\n interface RecurringPayment { }\r\n\r\n interface PaymentAccount {\r\n id?: Guid;\r\n merchantAccountId?: string;\r\n accountNumber?: string;\r\n routingNumber?: string;\r\n externalPaymentAccountId?: string;\r\n creditCardLastFour?: string;\r\n creditCardExpirationDate?: Date;\r\n paymentAccountType?: PaymentAccountTypeEnum;\r\n zipCode?: string;\r\n directManualEntry?: boolean;\r\n forceManualEntry?: boolean;\r\n cardType?: string;\r\n clientGlobalId?: string;\r\n isMembershipPaymentAccount?: boolean;\r\n isClientPaymentAccount?: boolean;\r\n isQueuedForAutoUpdate?: boolean;\r\n isAccountUpdaterEnabled?: boolean;\r\n merchantAccountObjectState?: ObjectStateEnum;\r\n merchantProviderId?: number;\r\n isHsaFsa?: boolean;\r\n }\r\n\r\n interface GiftCardExternalBin {\r\n tenantId?: number;\r\n prefix?: string;\r\n dateCreated?: Date;\r\n dateUpdated?: Date;\r\n objectState?: ObjectStateEnum;\r\n }\r\n\r\n interface GiftCardExternalBinContainer {\r\n externalBins?: Array;\r\n }\r\n\r\n interface IUserDefinedControl {\r\n control_TId?: Guid;\r\n tab_TId?: Guid;\r\n isMainTab?: boolean;\r\n tabName?: string;\r\n tenantId?: number;\r\n locationId?: number;\r\n controlName: string;\r\n displayName: string;\r\n promptValue?: string;\r\n entityVersion?: number;\r\n controlTypeEnum: ControlTypeEnum;\r\n appAreaEnum: AppAreaEnum;\r\n objectStateEnum: ObjectStateEnum;\r\n items: Array;\r\n shortcut: string;\r\n isRequired: boolean;\r\n isSearchable?: boolean;\r\n oncePerDaySubmission: boolean;\r\n createdByUserId?: Guid;\r\n updatedByUserId?: Guid;\r\n dateCreated?: string;\r\n dateUpdated?: string;\r\n sortOrder?: number;\r\n businessTypeName?: string;\r\n businessType_TId?: Guid;\r\n controlServiceName?: string;\r\n hasAnswers?: boolean;\r\n answers?: Array;\r\n isIncludedInEmailNotification?: boolean;\r\n isShowBookingOnline?: boolean;\r\n tabTypeEnum?: number;\r\n fileGuid?: string;\r\n customDataControlResourceObject?: Meevo.Model.IStorageFile;\r\n }\r\n\r\n interface IUserDefinedControlValue {\r\n control_TId?: Guid | string;\r\n item_TId?: Guid | string;\r\n tenantId?: number;\r\n locationId?: number;\r\n controlId?: Guid;\r\n sortOrder?: number;\r\n homeLocationId?: number;\r\n isDefault: boolean;\r\n isDefaultCopy: boolean;\r\n displayName: string;\r\n objectStateEnum?: ObjectStateEnum;\r\n }\r\n\r\n interface IUserDefinedControlAnswer {\r\n tenantId: number;\r\n locationId: number;\r\n answer_LId: Guid;\r\n control_TId: Guid;\r\n displayValue: string;\r\n entity_Id: Guid;\r\n appAreaEnum: AppAreaEnum;\r\n dateCreated: string;\r\n dateUpdated: string;\r\n answerItems: Array;\r\n customDataResourceObject?: ICustomDataResource;\r\n }\r\n\r\n interface IUserDefinedControlAnswerItem {\r\n tenantId: number;\r\n locationId: number;\r\n answer_Item_LId: Guid;\r\n answer_LId: Guid;\r\n control_TId: Guid;\r\n item_TId: Guid;\r\n }\r\n\r\n interface ICustomDataResource extends IStorageFile {\r\n resourceType: FileTypes;\r\n }\r\n\r\n interface IAppAreaTab {\r\n tab_TId?: Guid;\r\n service_TId?: Guid;\r\n businessType_TId?: Guid;\r\n appAreaEnum: AppAreaEnum;\r\n isMain: boolean;\r\n displayName: string;\r\n title?: string;\r\n objectStateEnum: ObjectStateEnum;\r\n entityVersion?: number;\r\n controls?: Array;\r\n businessTypeName?: string;\r\n serviceShortcut?: string;\r\n numberOfControls?: number;\r\n }\r\n\r\n interface IAppAreaService {\r\n id: Guid;\r\n objectStateEnum: ObjectStateEnum;\r\n displayName: string;\r\n shortcut: string;\r\n }\r\n\r\n interface ScanOpening {\r\n date: Date;\r\n startTime: string;\r\n endTime: string;\r\n employeeName: string;\r\n employeeId: Guid;\r\n serviceId: Guid;\r\n resourceId: Guid;\r\n resourceUnitId: Guid;\r\n genderPreference: number;\r\n price: number;\r\n employeePrice: number;\r\n answers: any[];\r\n serviceName: string;\r\n }\r\n\r\n interface ScanOpeningContainer {\r\n serviceOpenings: ScanOpening[];\r\n note: string;\r\n }\r\n\r\n interface CallCenterOpeningTimeContainer {\r\n time: string;\r\n openingContainers: ScanOpeningContainer[];\r\n }\r\n\r\n interface CallCenterOpeningDayContainer {\r\n day: DayOfWeek;\r\n date: Date;\r\n openingTimeContainers: CallCenterOpeningTimeContainer[];\r\n }\r\n\r\n interface ICustomDataContextConfig {\r\n use: boolean;\r\n udfNoun?: Meevo.Model.NounEnum,\r\n appAreaEnum: AppAreaEnum;\r\n appAreaTabs: Array;\r\n $controllersScope: ng.IScope;\r\n }\r\n\r\n interface ISectionParams {\r\n sectionId: number;\r\n displayNameContentKey: string;\r\n template: string;\r\n isPrimarySection: boolean;\r\n handlesOwnCrud: boolean;\r\n baseEndpoint: string;\r\n sectionEndpoint: string;\r\n loggingService: Meevo.Components.Logging.ILoggingService;\r\n identityService?: Meevo.Components.Common.IIdentityService;\r\n noun?: Meevo.Model.NounEnum;\r\n $translate?: angular.translate.ITranslateService;\r\n appSettings?: Components.Common.IAppSettings;\r\n $scope?: ng.IScope;\r\n $q?: ng.IQService;\r\n $timeout?: ng.ITimeoutService;\r\n busyService?: Meevo.Components.Busy.IBusyService;\r\n sectionSecurityKey?: string;\r\n }\r\n\r\n interface ISectionParamsBaseDataService extends ISectionParams {\r\n dataService: Meevo.Components.BaseClasses.IDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n usageTrackingLogFn?: (verbEnum: Meevo.Model.VerbEnum, payload?) => void;\r\n }\r\n\r\n interface ISectionParamsClientMembership extends ISectionParams {\r\n dataService: Meevo.Components.Common.ClientMembershipDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n clientMembership?: Meevo.Plugins.MembershipManager.IMembershipManagerSearchContext;\r\n $rootScope?: angular.IRootScopeService;\r\n }\r\n\r\n interface ISectionParamsCommonDataService extends ISectionParams {\r\n dataService: Meevo.Components.CommonClasses.ICommonDataService;\r\n }\r\n\r\n interface ISectionParamsWalkinManagerSettings extends ISectionParams {\r\n dataService: Meevo.Components.CommonClasses.ICommonDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n }\r\n\r\n interface ISectionParamsMarketPrice extends ISectionParams {\r\n dataService: Meevo.Components.BaseClasses.IDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n discountsService?: Meevo.Plugins.Discounts.IDiscountsService;\r\n usageTrackingLogFn?: (verbEnum: Meevo.Model.VerbEnum, payload?) => void;\r\n tabName?: string;\r\n contextService?: Meevo.Plugins.MarketPricing.IContextService;\r\n businessInfoService: BusinessInfoDataService;\r\n }\r\n\r\n interface ISectionParamsSystemToolbox extends ISectionParams {\r\n dataService: Meevo.Components.BaseClasses.IDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n usageTrackingLogFn?: (verbEnum: Meevo.Model.VerbEnum, payload?) => void;\r\n tabName?: string;\r\n }\r\n\r\n interface ISectionParamsExtendedDataService extends ISectionParams {\r\n dataService: Meevo.Components.BaseClasses.IDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n trackingService?: Meevo.Components.Tracking.ITrackingService;\r\n securityService?: Meevo.Components.Common.ISecurityService;\r\n }\r\n\r\n interface ISectionParamsExtendedCommonDataService extends ISectionParams {\r\n dataService: Meevo.Components.CommonClasses.ICommonDataService;\r\n modalService?: Meevo.Components.Modal.IModalService;\r\n busyService?: Meevo.Components.Busy.IBusyService;\r\n trackingService?: Meevo.Components.Tracking.ITrackingService;\r\n }\r\n\r\n interface IReportGeneral {\r\n description: string;\r\n displayName: string;\r\n id: number;\r\n reportCategoryName?: string;\r\n shortCut: string;\r\n securityKey: string;\r\n permission?: SecurityAccessEnum;\r\n validationJSON?: string;\r\n startDayOfWeek?: number;\r\n customData?: any;\r\n categoryId: number;\r\n weight?: number;\r\n isScheduled?: boolean;\r\n reportAvailability?: number;\r\n }\r\n\r\n interface IReport extends IReportGeneral {\r\n isCustom: boolean;\r\n objectState: ObjectStateEnum;\r\n reportAvailability: number;\r\n reportCatId: number;\r\n securityAttribId: number;\r\n securityKey: string;\r\n storedProc: string;\r\n template: string;\r\n }\r\n\r\n interface IReportControl {\r\n displayName: string;\r\n id?: number;\r\n parameters: Array;\r\n values: Array;\r\n securityAttribId?: number;\r\n securityKey?: string;\r\n sequence: number;\r\n labelText?: string;\r\n reportControlEnumType?: number;\r\n reportId?: number;\r\n }\r\n\r\n interface IReportControlParameters {\r\n clrType?: string;\r\n controlId?: number;\r\n dbType?: string;\r\n name: string;\r\n sequence: number;\r\n value?: Array;\r\n }\r\n\r\n interface IReportControlValue {\r\n id?: number;\r\n displayName: string;\r\n value: string | number;\r\n sortOrder: number;\r\n }\r\n\r\n interface ISaleProgram extends DataMaintenance {\r\n displayName: string;\r\n startDate: Date;\r\n endDate: Date;\r\n originalStartDate: Date;\r\n originalEndDate: Date;\r\n objectState: ObjectStateEnum;\r\n desc: string;\r\n applyDiscount: boolean;\r\n products: {\r\n discountTypeEnum: number;\r\n discountAmount: number;\r\n items: any[];\r\n };\r\n services: {\r\n discountTypeEnum: number;\r\n discountAmount: number;\r\n items: any[];\r\n };\r\n }\r\n\r\n interface IPointPromotion {\r\n pointPromotion_TId?: Guid | string;\r\n pointPromotionCampaign_TId: Guid | string;\r\n pointPromotionType: Meevo.Model.PointPromotionTypeEnum;\r\n objectState?: ObjectStateEnum;\r\n points?: number;\r\n amount?: number;\r\n multiplier?: number;\r\n onlyFirstVisit?: boolean;\r\n overAmount?: number;\r\n quantityPurchased?: number;\r\n weekLimit?: number;\r\n isSpecificItem?: boolean;\r\n items?: any[];\r\n isAll?: boolean;\r\n hideAllSelectedCheckbox?: boolean;\r\n requisiteNumberOfVisits?: number;\r\n }\r\n\r\n interface IPointPromotionCampaign extends DataMaintenance {\r\n pointPromotionCampaignId: Guid | string;\r\n displayName: string;\r\n currentDate: Date;\r\n startDate: Date;\r\n endDate?: Date;\r\n originalStartDate: Date;\r\n originalEndDate?: Date;\r\n objectState: ObjectStateEnum;\r\n redeemByDate?: Date;\r\n clientsIncluded: ClientsIncludedEnum;\r\n clientTypes: ClientClientTypeListItem[];\r\n pointPromotions: IPointPromotion[];\r\n }\r\n\r\n interface IDiscount extends DataMaintenance {\r\n bogoBasedOnTypeEnum: DiscountBasedOnEnum;\r\n clientTransactionHistoryStartDate: Date;\r\n displayName: string;\r\n startDate: Date;\r\n endDate: Date;\r\n barCode: string;\r\n objectState: ObjectStateEnum;\r\n desc: string;\r\n isStackable: boolean;\r\n isEmployeeExclusive: boolean;\r\n isAutoApply: boolean;\r\n redeemableLimit: number;\r\n discountRedeemableLimitPerTypeEnum: DiscountRedeemableLimitPerTypeEnum;\r\n requiredQuantity: number;\r\n discountTypeEnum: DiscountTypeEnum;\r\n discountAmount: number;\r\n discountEntityTypeEnum: DiscountEntityTypeEnum;\r\n discountEntityGranularityTypeEnum: DiscountEntityGranularityTypeEnum;\r\n discountManufacturer_TId: Guid;\r\n services: Array;\r\n productVariants: Array;\r\n packageTypes: Array;\r\n memberships: Array;\r\n giftCardTypes: Array;\r\n isBuyGet: boolean;\r\n get_Quantity: number;\r\n buy_Amount: number;\r\n buy_Quantity: number;\r\n buy_EntityTypeEnum: DiscountEntityTypeEnum;\r\n buy_EntityGranularityTypeEnum: DiscountEntityGranularityTypeEnum;\r\n buy_Manufacturer_TId: Guid;\r\n buy_ProductVariants: Array;\r\n buy_Services: Array;\r\n buy_Memberships: Array;\r\n buy_PackageTypes: Array;\r\n buy_GiftCardTypes: Array;\r\n isClientHistoryDependent: boolean;\r\n discountTypeEnumGet: DiscountTypeEnum;\r\n isRedeemableLimitApplicable: boolean;\r\n discountRedeemableLimitPerMonth: number;\r\n isMembershipClientDiscount: boolean;\r\n isNonMembershipClientDiscount: boolean;\r\n employees: Array;\r\n clientClientTypes: Array;\r\n fees: any[];\r\n serviceIds: string[];\r\n productVariantIds: string[];\r\n packageTypeIds: string[];\r\n membershipIds: string[];\r\n giftCardTypeIds: string[];\r\n feeIds: string[];\r\n buy_ServiceIds: string[];\r\n buy_ProductVariantIds: string[];\r\n buy_MembershipIds: string[];\r\n buy_PackageTypeIds: string[];\r\n buy_GiftCardTypeIds: string[];\r\n allSelected: boolean;\r\n isSpread: boolean;\r\n isAllowRedeemBuyGet: boolean;\r\n }\r\n\r\n interface IAddOnGroup extends DataMaintenance {\r\n displayName: string;\r\n addOnServices: Array;\r\n groupServices: Array;\r\n addOnServicesRequired: Array;\r\n reqNumOfAddOns?: number;\r\n }\r\n\r\n interface IAddOnGroupServiceAddOnStepTime extends DataMaintenanceSublistItem {\r\n asLocationId?: string;\r\n displayName?: string;\r\n serviceAddOnStepTimes: IServiceAddOnStepTimes[];\r\n }\r\n\r\n interface IServiceAddOnStepTimes {\r\n all?: string;\r\n show?: boolean;\r\n expand?: boolean;\r\n serviceId?: string;\r\n serviceDisplayName?: string;\r\n addOnServiceSteps?: IAddOnServiceStep[];\r\n addOnServiceStepTimes?: IAddOnServiceStepTime[];\r\n }\r\n\r\n interface IAddOnServiceStep {\r\n serviceId?: string;\r\n stepId?: string;\r\n stepDisplayName?: string;\r\n serviceStepTypeEnum?: ServiceStepTypeEnum;\r\n stepNumber?: string;\r\n minutes?: string;\r\n }\r\n\r\n interface IAddOnServiceStepTime extends IAddOnService {\r\n serviceId?: string;\r\n stepId?: string;\r\n }\r\n\r\n interface IAddOnService {\r\n\r\n addOnServiceId?: string;\r\n addOnServiceDisplayName?: string;\r\n addOnServiceObjectState?: ObjectStateEnum;\r\n extraTimeForServiceAsAddOnInMin?: string;\r\n stepId?: string;\r\n stepDisplayName?: string;\r\n }\r\n\r\n interface AddOnServiceListItem extends ListItemWithLanguage {\r\n required?: boolean;\r\n }\r\n\r\n interface IProductBundle extends DataMaintenance {\r\n // todo: dev\r\n }\r\n\r\n interface IMembershipFreezeSetting {\r\n freezeSetting: FreezeSettingEnum;\r\n fee: number;\r\n isPercent: boolean;\r\n isEnabled?: boolean;\r\n displayName?: string;\r\n }\r\n\r\n interface IMembershipMemberSettings {\r\n memberType: MemberTypeEnum;\r\n membershipBenefitTemplateId: string;\r\n membershipBenefitTemplateDetail?: any;\r\n enrollmentFee: number;\r\n minEnrollmentFee: number;\r\n recurringFee: number;\r\n renewalFee?: number;\r\n minRenewalFee?: number;\r\n minRecurringFee: number;\r\n billNumberOfDaysAfterEnroll: number;\r\n pifRenewalFee: number;\r\n minPIFRenewalFee: number;\r\n monthlyRenewalFee: number;\r\n minMonthlyRenewalFee: number;\r\n }\r\n\r\n interface IMembershipPackageSettings {\r\n memberType: MemberTypeEnum;\r\n feeType: FeeTypeEnum;\r\n isUnlimitedServices: boolean;\r\n packageTypeDetail: {\r\n id: string;\r\n displayName: string;\r\n };\r\n packageTypeId: string;\r\n id?: string;\r\n }\r\n\r\n interface IIntegration extends DataMaintenance {\r\n tenantId?: number;\r\n integration_TId?: Guid;\r\n displayName: string;\r\n objectStateEnum: ObjectStateEnum;\r\n isEnable: boolean;\r\n isCaptureEventData: boolean;\r\n urlAddress: string;\r\n externalId?: string;\r\n createdBy_User_TId?: Guid;\r\n updatedBy_User_TId?: Guid;\r\n emailAddresses: Array;\r\n integrationSettings: Array;\r\n entityVersion?: number;\r\n statusText: string;\r\n }\r\n\r\n interface IIntegrationErrorLogSearchCriteria {\r\n integration_TId: Guid | string;\r\n integrationSetting_SId?: number;\r\n integrationStatusEnum?: number;\r\n isRetryOnly?: boolean;\r\n }\r\n\r\n interface IIntegrationSetting {\r\n id?: number;\r\n displayName: string;\r\n isInsert: boolean;\r\n isUpdate: boolean;\r\n isDelete: boolean;\r\n enabled?: boolean;\r\n }\r\n\r\n interface IIntegrationErrorHeader {\r\n tenantId: number;\r\n id: Guid;\r\n integration_TId: Guid;\r\n integrationSetting_SId: Guid;\r\n displayName: string;\r\n eventStatusEnum: IntegrationStatusEnum;\r\n dateCreated: Date | string;\r\n dateUpdated: Date | string;\r\n eventDetail: string;\r\n eventSource: string;\r\n attempt: number;\r\n isEnable: boolean;\r\n locationId: number;\r\n integrationQueue_TId: number;\r\n integrationTrackerLog_TId: number;\r\n changeAction: string;\r\n threadId: number;\r\n queueStatus: IntegrationStatusEnum;\r\n successDate: Date;\r\n isRetry: boolean;\r\n }\r\n\r\n interface IIntegrationErrorLogDetail {\r\n failed?: Array;\r\n successful?: Array;\r\n payload?: string;\r\n }\r\n\r\n interface IIntegrationErrorLogDetailFailed {\r\n tenantId?: number;\r\n integrationQueueLog_TId: Guid;\r\n integrationQueue_TId: number;\r\n HTTPResponseCode: string;\r\n syncEventDetails: string;\r\n dateCreated: Date;\r\n parsedDateCreated: string;\r\n }\r\n\r\n interface IIntegrationErrorLogDetailSuccessful {\r\n tenantId?: number;\r\n integrationQueue_TId: number;\r\n successDate: Date;\r\n parsedSuccessDate: string;\r\n }\r\n\r\n interface ReportScheduler extends DataMaintenanceWithLanguage /*, IHasLocationOverride*/ {\r\n reportId?: string;\r\n reportCategory?: string;\r\n\r\n totalBundleValue?: number;\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n availableAtLocations?: number;\r\n reportDeliveryDayOfMonth?: number;\r\n reportDeliveryDayOfWeek?: number;\r\n reportDeliveryTimeOfDay?: Date;\r\n reportParameterDateRange?: number;\r\n\r\n entityVersion?: number;\r\n id?: string;\r\n hasScheduleStarted?: boolean;\r\n objectState?: ObjectStateEnum;\r\n startDate?: Date;\r\n startTime?: string;\r\n daysOfWeek?: DayOfWeek[];\r\n frequency?: number;\r\n reportDeliveryTypeEnum?: DateTimeUnitsEnum;\r\n monthlySequencePositionEnum?: SequencePositionEnum;\r\n endDate?: string;\r\n totalOccurrences?: number;\r\n isPerpetual: boolean;\r\n selectedPreset?: Preset;\r\n employeeRecipientList?: any[];\r\n employeeCategoryList?: any[];\r\n userRecipientList?: any[];\r\n customUserRecipientList?: EmailAddress[];\r\n reportParamJson?: any; // used on front end as an object\r\n reportParameterJSON?: string; // used by c# model and returned from Logic as a string\r\n applySecurity?: boolean\r\n reportDeliveryFileFormatEnum?: FileFormatEnum;\r\n\r\n // Properties related to selected Preset Callbacks\r\n selectedPresetCallback?: any;\r\n forceCallback?: boolean;\r\n }\r\n\r\n interface Preset {\r\n name: string;\r\n status: number;\r\n }\r\n\r\n interface EmailAddress {\r\n fullName: string;\r\n emailAddress?: string;\r\n phoneNumber?: string;\r\n phoneCountryCode?: string;\r\n }\r\n\r\n interface SmartCenter extends DataMaintenanceWithLanguage {\r\n ownedByLocationName?: number;\r\n tiles: SmartCenterSmartTile[];\r\n isAvailableCo?: boolean;\r\n }\r\n\r\n interface SmartCenterListItem extends ListItem {\r\n atLocationId?: number;\r\n atLocationName?: string;\r\n availableAtLocations?: number;\r\n displayName?: string;\r\n id?: string;\r\n isOwner?: boolean;\r\n locationId?: number;\r\n objectCreationType?: number;\r\n objectState?: number;\r\n ownedByLocationId?: number;\r\n ownedByLocationName?: string;\r\n totalLocations?: number;\r\n }\r\n\r\n interface SmartTileDefinition {\r\n id?: number;\r\n displayName: string;\r\n desc?: string;\r\n parameterDefaults: string;\r\n backgroundColor: string;\r\n image?: string;\r\n smartTileTypeEnum: Meevo.Plugins.SmartCenter.TileTypes;\r\n tileCategory: SmartTIleCategoryEnum;\r\n hasExtendedData?: boolean;\r\n smartTileName: string;\r\n tileAvailabilityLevel?: number;\r\n showExtendedData?: boolean;\r\n }\r\n\r\n interface SmartCenterSmartTile {\r\n id: number;\r\n smartCenterTileId: Guid;\r\n rowPosition?: number;\r\n columnPosition?: number;\r\n rowSpan: number;\r\n columnSpan: number;\r\n parameter: string;\r\n backgroundColor: string;\r\n image?: string;\r\n displayName: string;\r\n displayNameOverride: string;\r\n smartTileTypeEnum: Meevo.Plugins.SmartCenter.TileTypes;\r\n includedEmployee: number;\r\n parsedParameters: SmartTileParameters;\r\n smartTileName?: string;\r\n hasExtendedData?: boolean;\r\n lastUpdated?: Date;\r\n tileAvailabilityLevel?: number;\r\n desc?: string;\r\n decOverride?: string;\r\n isForLocationGroup?: boolean;\r\n }\r\n\r\n interface SmartTileParameter {\r\n label: string;\r\n labelKey?: string;\r\n parameterType: string;\r\n parameterValue: any;\r\n excludedValues?: string;\r\n includedValues?: string;\r\n isHidden?: boolean;\r\n parameterDisplayName?: string;\r\n selections?: DataDetail[];\r\n }\r\n\r\n interface SmartTileMultiSelectParameter extends SmartTileParameter {\r\n multiSelectTemplateKey?: string;\r\n selections?: any[];\r\n }\r\n\r\n interface SmartTileParameters {\r\n [name: string]: SmartTileParameter;\r\n }\r\n\r\n interface ICustomBranding extends DataMaintenance {\r\n canSaveCustom: boolean;\r\n bodyDisplayTextFont: string;\r\n displayLogo: boolean;\r\n displayLogoImage: Guid;\r\n displayLogoImageObject: IStorageFile;\r\n displayTextColor: string;\r\n displayTextFont: string;\r\n displayTextFontBold: boolean;\r\n displayTextFontItalicize: boolean;\r\n displayTextFontUnderline: boolean;\r\n customMessage: string;\r\n customMessageColor: string;\r\n customMessageFont: string;\r\n customMessageFontBold: boolean;\r\n customMessageFontItalicize: boolean;\r\n customMessageFontUnderline: boolean;\r\n eGiftDeliveryTextColorTop: string;\r\n eGiftDeliveryTextColorBottom: string;\r\n headerBarColor: string;\r\n headerBarFontColor: string;\r\n pageHeaderBarColor: string;\r\n pageHeaderBarFontColor: string;\r\n displayEGiftDeliveryAccentBar: boolean;\r\n stockBackgroundImage: IStorageFile;\r\n customBackgroundImage: Guid;\r\n customBackgroundImageObject: IStorageFile;\r\n gradientColorBackgroundImageStart: string;\r\n gradientColorBackgroundImageEnd: string;\r\n pageCustomBackgroundImage: Guid;\r\n pageStockBackgroundImage: IStorageFile;\r\n pageCustomBackgroundImageObject: IStorageFile;\r\n pageGradientColorBackgroundImageStart: string;\r\n pageGradientColorBackgroundImageEnd: string;\r\n pageDisplayLogo: boolean;\r\n pageDisplayLogoImage: Guid;\r\n pageDisplayLogoImageObject: IStorageFile;\r\n pageDisplayTextColor: string;\r\n pageDisplayTextFont: string;\r\n pageDisplayTextFontBold: boolean;\r\n pageDisplayTextFontItalicize: boolean;\r\n pageDisplayTextFontUnderline: boolean;\r\n pageBackgroundHeaderColor: string;\r\n pageSelectedBackgroundImageOption: number;\r\n selectedBackgroundImageOption: number;\r\n }\r\n\r\n interface ISearchColumn {\r\n header: string;\r\n fieldName: string;\r\n sortDirection: SortDirection;\r\n width: number | string;\r\n }\r\n\r\n interface IClientPoint extends Meevo.Model.DataMaintenance {\r\n client_TId: Guid;\r\n displayName: string;\r\n firstName: string;\r\n lastName: string;\r\n totalAmount: number;\r\n meevoFile?: MeevoFile;\r\n pointAdjustmentTypeEnum?: PointAdjustmentTypeEnum;\r\n remainingAmount?: number;\r\n }\r\n\r\n interface IClientPointHistoryItem {\r\n clientPoint_LId: Guid;\r\n clientPointDisposition_LId?: Guid;\r\n adjustmentAmount: number;\r\n expireDate: Date;\r\n dateCreated: Date;\r\n remainingAmount?: number;\r\n pointAdjustmentTypeEnum?: PointAdjustmentTypeEnum;\r\n adjustmentNote: string;\r\n userDisplayName: string;\r\n clientPointCreatedUserId?: Guid;\r\n clientPointDeletedUserId?: Guid;\r\n clientPointDateCreated?: Date;\r\n clientPointDateDeleted?: Date;\r\n clientPointCreatedUserDisplayName?: string;\r\n clientPointDeletedUserDisplayName?: string;\r\n dispositionCreatedUserId?: Guid;\r\n dispositionDeletedUserId?: Guid;\r\n dispositionCreatedUserDisplayName?: string;\r\n dispositionDeletedUserDisplayName?: string;\r\n dispositionDateCreated?: Date;\r\n dispositionDateDeleted?: Date;\r\n locationId?: number;\r\n storeName?: string;\r\n // for ui purpose\r\n isDeleted?: boolean;\r\n hideDeleteButton: boolean;\r\n }\r\n\r\n interface IClientPointAdjustmentItem {\r\n clientPoint_LId: Guid;\r\n dateCreated: Date;\r\n pointAdjustmentTypeEnum: PointAdjustmentTypeEnum;\r\n adjustmentAmount: number;\r\n transactionId: string;\r\n }\r\n\r\n interface ISupplyUsageLineItem {\r\n employeeSupplyUsage_LId?: Guid;\r\n locationId?: number;\r\n dateCreated: Date;\r\n variant_TId: Guid;\r\n sku: string;\r\n barCode?: string;\r\n variantDisplayName: string;\r\n productDisplayName: string;\r\n employeeUserDisplayName: string;\r\n employee_User_TId: Guid;\r\n quantity: number;\r\n quantityDisplay: string;\r\n returnUsageId?: Guid;\r\n productInventoryTypeEnum: ProductInventoryTypeEnum;\r\n }\r\n\r\n interface IClientPackage {\r\n clientPackage_TId: Guid;\r\n packageNumber: string;\r\n displayName: string;\r\n expireDate: Date;\r\n activeDate: Date;\r\n isCustom: boolean;\r\n isGlobalPackage: boolean;\r\n clientPackageServices: Array;\r\n clientPackageProducts: Array;\r\n clientPackageItems?: Array;\r\n transactions?: Array;\r\n hasTransferToName?: boolean;\r\n isActive?: boolean;\r\n isExpired?: boolean;\r\n hasRemainingItems?: boolean;\r\n isAvailableForUseWhenExpired?: boolean;\r\n availableForUseExpireDate?: Date;\r\n locationId?: number;\r\n entityVersion?: number;\r\n remainingValue?: number;\r\n }\r\n\r\n interface IClientPackageService extends IClientPackageItem {\r\n service_TId: Guid;\r\n }\r\n\r\n interface IClientPackageProduct extends IClientPackageItem {\r\n productVariant_TId: Guid;\r\n }\r\n\r\n interface IClientPackageItem {\r\n clientPackage_TId: Guid;\r\n displayName: string;\r\n quantity: number;\r\n quantityRemaining: number;\r\n lastUsed?: Date;\r\n itemId: Guid;\r\n packageItemType: number;\r\n linePaidPriceEach?: number;\r\n valueEach?: number;\r\n charges?: any[];\r\n }\r\n\r\n interface IClientPackageTransaction {\r\n transactionId: string;\r\n clientService_TId: Guid;\r\n service_TId: Guid;\r\n client_TId: Guid;\r\n displayName: string;\r\n usedSaleDate: Date;\r\n usedSaleLocationId: number;\r\n usedSale_Seq: number;\r\n usedSaleLine_Seq: number;\r\n saleTypeEnum: SalesTypeEnum;\r\n transactionDateTime: Date;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n quantity: number;\r\n transferredToClientFirstName: string;\r\n transferredToClientLastName: string;\r\n isRefund: boolean;\r\n }\r\n\r\n interface IClientDiscountHistory {\r\n transactionId: number;\r\n transactionDateTime: Date;\r\n employeeFirstName: string;\r\n employeeLastName: string;\r\n saleTypeEnum: SalesTypeEnum;\r\n itemDisplayName: string;\r\n discountDisplayName: string;\r\n discountTypeEnum: DiscountTypeEnum;\r\n discountValue: number;\r\n storeName: string;\r\n }\r\n\r\n interface IMiscSupplyDefinition {\r\n distributors?: Array;\r\n displayName: string;\r\n description?: string;\r\n supplyCategoryEnum: SupplyCategoryEnum;\r\n sku: string;\r\n barCode: string;\r\n wholeSale: number;\r\n entityVersion?: number;\r\n objectState?: ObjectStateEnum;\r\n homeLocationId?: number;\r\n languageId?: number;\r\n locationId?: number;\r\n objectCreationType?: number;\r\n id: string;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n }\r\n\r\n // todo: dev\r\n interface IInventoryReturn extends Meevo.Model.DataMaintenance {\r\n referenceNumber: string;\r\n distributor: Distributor;\r\n returnReasonEnum: ReturnReasonEnum;\r\n tax: number;\r\n insertItems?: Array;\r\n deleteItems?: Array;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n }\r\n\r\n interface IInventoryCountProductSearchCriteria {\r\n productObjectState: ObjectStateEnum;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n variantObjectState: Array;\r\n isInventoryTrackable: boolean;\r\n inventoryCountOnly: boolean;\r\n id: Guid;\r\n floorLocationId?: Guid;\r\n iscounted?: boolean;\r\n manufacturerIds: (Guid | string)[];\r\n distributorIds: (Guid | string)[];\r\n productCatIds: (Guid | string)[];\r\n }\r\n\r\n interface IInventoryReturnLineItem {\r\n variant_TId: Guid;\r\n variantId?: Guid;\r\n product_TId?: Guid;\r\n productInventoryType: ProductInventoryTypeEnum;\r\n onHand: number;\r\n isDeducted?: boolean;\r\n returnQuantity?: number;\r\n lineTotal?: number;\r\n productName: string;\r\n displayName?: string;\r\n productDescription?: string;\r\n wholeSale?: number;\r\n isNew?: boolean;\r\n modelQuantity?: number;\r\n orderPoint?: number;\r\n sku: string;\r\n barCode: string;\r\n }\r\n\r\n interface IAlertCategory {\r\n id: number;\r\n objectStateEnum: ObjectStateEnum;\r\n displayName: string;\r\n desc: string;\r\n }\r\n\r\n interface IAlertSetting {\r\n alertType?: ProactiveAlertTypeEnum;\r\n cat_SId: number;\r\n id: number;\r\n displayName: string;\r\n desc: string;\r\n templateJSON: string;\r\n hasServicingEmployee: boolean;\r\n isSystemAlert: boolean;\r\n systemAlertTriggeredType: ProactiveAlertTriggeredTypeEnum;\r\n }\r\n\r\n interface IAlertUserLineItem {\r\n id: Guid;\r\n user_TId: Guid;\r\n employeeCode: string;\r\n objectStateEnum: ObjectStateEnum;\r\n }\r\n\r\n interface ISecurityAttributes {\r\n displayName: string;\r\n securityKey: string;\r\n id: number;\r\n level: number;\r\n children?: Array;\r\n childKeyIds?: Array;\r\n sequence: number;\r\n parentId?: number;\r\n hierarchyMaterialized: string;\r\n hierarchySequenceId: string;\r\n selected?: boolean;\r\n fullDisplayName?: string;\r\n }\r\n\r\n interface IAlertJSON {\r\n alertType?: ProactiveAlertTypeEnum;\r\n }\r\n\r\n interface IAlert {\r\n id?: Guid;\r\n alert_SId: number;\r\n cat_SId?: number;\r\n alertType?: ProactiveAlertTypeEnum;\r\n //alertConfigurations?: IAlertConfigBase;\r\n objectStateEnum: ObjectStateEnum;\r\n alertJSON?: string;\r\n triggeredByList: Array;\r\n receivedByList: Array;\r\n notificationMethod?: NotificationMethodEnum;\r\n isForAll: IsForAllEnum;\r\n oncePerDay?: boolean;\r\n sms?: boolean;\r\n email?: boolean;\r\n entityVersion?: number;\r\n hasServicingEmployee: boolean;\r\n }\r\n\r\n interface IAlertListItem {\r\n id: string;\r\n objectStateEnum: ObjectStateEnum;\r\n notificationMethod: NotificationMethodEnum;\r\n isForAll: IsForAllEnum;\r\n cat_SId: number;\r\n alert_SId: number;\r\n alert: string;\r\n user_TId: string;\r\n employeeCode: string;\r\n alertCategory: string;\r\n }\r\n\r\n interface IAlertUserListItem {\r\n id?: string;\r\n user_TId: Guid;\r\n employeeCode: string;\r\n count?: number;\r\n alertList?: Meevo.Components.BaseClasses.IDataMaintenanceInfiniteList;\r\n }\r\n\r\n interface IAlertCatListItem {\r\n id: string;\r\n cat_SId: number;\r\n alertCategory: string;\r\n count?: number;\r\n alertList?: Meevo.Components.BaseClasses.IDataMaintenanceInfiniteList;\r\n }\r\n\r\n interface IAlertLogUserListItem {\r\n triggeredByUserId: Guid;\r\n triggeredToUserId: Guid;\r\n triggeredByUserDisplayName: string;\r\n alertList?: Meevo.Components.BaseClasses.IDataMaintenanceInfiniteList;\r\n }\r\n\r\n interface IAlertLogDetailListItem {\r\n dateTriggered: Date;\r\n alertId: Guid;\r\n id: Guid;\r\n alertDisplayName: string;\r\n triggeredByUserId: Guid;\r\n triggeredByUserDisplayName: string;\r\n isAlertRead: boolean;\r\n }\r\n\r\n interface IScanRequest {\r\n scanOrigin: ScanOriginEnum;\r\n startDate: string;\r\n endDate: string;\r\n scanDateType: ScanDateTypeEnum;\r\n scanTimeType: ScanTimeTypeEnum;\r\n isRescan: boolean;\r\n maxOpeningsPerDay: number;\r\n appointmentBufferMinutes: number;\r\n maxStartTimeWait: number;\r\n requireSameStartTime: boolean;\r\n maxWaitTimeBetweenServices: number;\r\n scanServices: IScanService[];\r\n overallRequestedEmployees: Guid[];\r\n payingClientId: Guid;\r\n clientId: Guid;\r\n }\r\n\r\n interface IScanService {\r\n serviceId: string;\r\n genderPreferenceEnum: GenderPreferenceEnum;\r\n clientId: Guid;\r\n }\r\n\r\n interface IAlertLog {\r\n htmlMessage: string;\r\n requestStateJson: string;\r\n }\r\n\r\n interface IBusinessSetting {\r\n settingSid?: number;\r\n value?: number;\r\n effectiveValue?: string | number;\r\n id?: number;\r\n displayName?: string;\r\n securityKey?: string;\r\n }\r\n\r\n interface ISandbox {\r\n id?: number;\r\n sandboxUrl: string;\r\n refreshedAmount: number;\r\n maxRefreshAmount: number;\r\n expirationDate: Date;\r\n dateCreated: Date;\r\n dateUpdated: Date;\r\n daysRemainig: number;\r\n }\r\n\r\n interface ISandboxProcessQueue {\r\n id: number;\r\n processType: ProcessTypeEnum;\r\n sandboxRequestStatus: SandboxProcessStatusEnum;\r\n dateUpdated: Date;\r\n }\r\n\r\n interface IEGiftsMainSettings {\r\n defaultTemplateCategoryEnum: EGiftTemplateCatEnum;\r\n disclaimer?: string;\r\n displayLogoOnCard: boolean;\r\n displayPackagePrice: boolean;\r\n displayServicePrice: boolean;\r\n eGiftAmount1: number;\r\n eGiftAmount2: number;\r\n eGiftAmount3: number;\r\n eGiftAmount4: number;\r\n eGiftAmount5: number;\r\n egiftExpirationDaysNumber: number;\r\n enableDollarAmountCalculator: boolean;\r\n enableEGifts: boolean;\r\n enablePackagesCalculator?: boolean;\r\n enableServicesCalculator?: boolean;\r\n freeEgiftExpirationDaysNumber: number;\r\n hideValueOfGiftCardOnEGiftTemplate: boolean;\r\n paymentProcessingPreferences?: string;\r\n locationId?: number;\r\n groupEnum?: number;\r\n settings?: Array;\r\n mailEnable?: boolean;\r\n handlingAndProcessingFee?: number;\r\n shippingAndHandlingDays?: number;\r\n storePickupEnable?: boolean;\r\n radiusInMiles?: number;\r\n chargeShippingFee?: boolean;\r\n privacyStatementUrl?: string;\r\n displayLogoOnCardImage?: Guid;\r\n emailEGiftToRecipientAtXHoursOnActivationDate?: number;\r\n requireClientToSelectLocation?: any;\r\n selectedLocationWillReceiveFundsFromEgiftSales?: any;\r\n egiftDisplayCode: string;\r\n egiftDefaultReferralTypeId: string;\r\n egiftDefaultReferralTypeDisplayName: string;\r\n shippingFeeChargeSelected: boolean;\r\n shippingFeeGiftCardTypeValue: number;\r\n shippingFeeTransactionTypeValue: string;\r\n shippingFeeDisplayName: string;\r\n shippingFeeType: number;\r\n egiftGoogleAnalyticsTrackingId: string;\r\n egiftGoogleTagManagerId: string;\r\n }\r\n\r\n interface IEGiftsSettings {\r\n egiftUrl: string;\r\n settings: IEGiftsMainSettings;\r\n termsAndConditions: ISettingsTerms;\r\n displayLogoImageObject?: IStorageFile;\r\n eGiftTemplatePreview?: Array;\r\n enableAutoGenerateGiftCardNumberButton: boolean;\r\n excludeLocationIds?: any;\r\n shippingFees: IShippingfee[];\r\n isReferralTypeRequire: boolean;\r\n }\r\n\r\n interface IShippingfee {\r\n atLocationId: number;\r\n availableAtLocations: number;\r\n description: string;\r\n displayName: string;\r\n id: string;\r\n locationId: number;\r\n objectCreationType: number;\r\n objectState: ObjectStateEnum;\r\n ownedByLocationId: number;\r\n price: number;\r\n showInEgift: boolean;\r\n totalLocations: number;\r\n position: number;\r\n }\r\n\r\n interface IMeevoMessengerQuickAnswer {\r\n quickAnswerId?: Guid;\r\n tenantId?: number;\r\n locationId?: number;\r\n displayName : string;\r\n body: string;\r\n orderNumber: number;\r\n }\r\n\r\n interface IMeevoMessengerSettings {\r\n autoReplyKind: MeevoMessengerAutoRepliesEnum;\r\n autoReplyModifier?: Guid;\r\n tenantId?: number;\r\n entityVersion?: number;\r\n locationId?: number;\r\n userName: string;\r\n token: string;\r\n usersToNotify: Guid[];\r\n userCategoriesIdsList?: Guid[];\r\n incomingMessageBubbleColor: string;\r\n isAccountInitialized: boolean;\r\n replyMessageBubbleColor: string;\r\n isAutoReplyEnabled: boolean;\r\n defaultAutoReplyMessage: string;\r\n outsideHoursAutoReplyMessage: string;\r\n holidayAutoReplyMessage: string;\r\n quickAnswers?: IMeevoMessengerQuickAnswer[];\r\n classification: string;\r\n useBusinessHours: boolean;\r\n }\r\n\r\n interface IMeevoMessengerAutoReply {\r\n autoReplyMessage?: string;\r\n default?: string;\r\n editingLabel?: string;\r\n name: string;\r\n body?: string;\r\n type: MeevoMessengerAutoRepliesEnum;\r\n }\r\n\r\n export interface IMeevoMessengerConversationMessages {\r\n attachments?: Array & Array<{ unsupportedAttachment: boolean }>;\r\n tenantId?: number;\r\n locationId?: number;\r\n messageId: Guid;\r\n dateCreated?: Date;\r\n dateUpdated?: Date;\r\n isRead?: boolean;\r\n isInbound: boolean;\r\n hasAttachment: boolean;\r\n conversationId?: Guid;\r\n messageBody: string;\r\n userIdSender?: string;\r\n externalMessageId: string;\r\n displayName?: string;\r\n isShowTimeLine?: boolean;\r\n senderUserName: string;\r\n }\r\n\r\n export interface IMeevoMessengerNotification {\r\n attachments?: Array & Array<{ unsupportedAttachment: boolean }>;\r\n dateCreated: Date;\r\n isRead?: boolean;\r\n conversationId: Guid;\r\n messageId: Guid;\r\n externalMessageId: string;\r\n isInbound: boolean;\r\n clientId?: Guid;\r\n employeeId?: Guid;\r\n isShowTimeLine?: boolean;\r\n messageBody: string;\r\n userIdSender?: Guid;\r\n hasAttachment: boolean;\r\n classification: TMeevoMessengerClassification;\r\n }\r\n\r\n export type TMeevoMessengerClassification = 'TEXTEL' | 'ARRIVALS' | 'CLIENTAPP';\r\n\r\n export interface IMeevoMessengerNewConversations {\r\n [key: string]: {\r\n [key: string]: Array;\r\n };\r\n }\r\n\r\n export interface IMeevoMessengerAttachmentItem {\r\n mimeType: string;\r\n attachment: string;\r\n }\r\n\r\n interface NoteBase {\r\n noteText: string;\r\n noteType: number;\r\n noteTypeDescription?: string;\r\n }\r\n interface appointNote extends NoteBase {\r\n appointmentId?: number;\r\n clientIds?: any[];\r\n displayNames?: any[];\r\n }\r\n interface saleNote extends NoteBase {\r\n saleId?: number;\r\n saleDate?: string;\r\n locationId?: number;\r\n }\r\n interface IEmmaAccountSettings extends DataMaintenanceWithLanguage {\r\n accountId: number;\r\n }\r\n\r\n export interface IAuditLog {\r\n modifiedByUserName: string;\r\n dateUpdated: string;\r\n entityId: string;\r\n noun: NounEnum;\r\n verb: VerbEnum;\r\n }\r\n\r\n export interface IAppointmentAuditLog extends IAuditLog {\r\n actions: string[];\r\n }\r\n\r\n export interface IBlockAuditLog extends IAuditLog {\r\n entries: IBlockAuditLogEntry[];\r\n blockTypeDisplayName: string;\r\n isStandingBlock: boolean;\r\n }\r\n\r\n interface IBlockAuditLogEntry {\r\n propertyName: string;\r\n oldValue: string;\r\n newValue: string;\r\n verb: VerbEnum;\r\n }\r\n\r\n export interface EmailMarketingSettings {\r\n accountId: number;\r\n syncStatus: boolean;\r\n locationLevelSubaccount: boolean;\r\n yearThreshold: number;\r\n includeInactive: boolean;\r\n }\r\n\r\n export interface PaymentPlan {\r\n id?: string;\r\n downPayment?: number;\r\n numberOfPayments?: number;\r\n firstPaymentDate?: Date;\r\n note?: string;\r\n client?: Model.ClientListItem;\r\n clientId?: string;\r\n paymentAccount?: Model.PaymentAccount;\r\n maxInstantRefundAmount?: number;\r\n amount?: number;\r\n hasChanged?: boolean;\r\n entityVersion?: number;\r\n hasPendingBill?: boolean;\r\n paymentAccountId?: string;\r\n remainingBalance?: number;\r\n }\r\n\r\n export interface IDashboardCategory {\r\n id: string;\r\n displayName: string;\r\n description: string;\r\n visible: boolean;\r\n createdDateTime: string;\r\n modifiedDateTime: string;\r\n dashboards?: IDashboard[];\r\n }\r\n export interface IDashboard {\r\n id: string;\r\n categoryId: string;\r\n displayName: string;\r\n createdDateTime: string;\r\n modifiedDateTime: string;\r\n }\r\n\r\n export interface DateTimeRange {\r\n startDateTime: Date,\r\n endDateTime: Date\r\n }\r\n\r\n export interface TippyKiosk extends DataMaintenance {\r\n deviceId?: string;\r\n originalDeviceId?: string;\r\n lockedByUserId?: string;\r\n }\r\n}\r\n\r\nmodule Meevo.Model {\r\n export enum SecurityTypeEnum {\r\n Command = 2060,\r\n Entity = 2058,\r\n Feature = 2057,\r\n Field = 2061,\r\n Section = 2059,\r\n }\r\n\r\n export enum SecurityAccessEnum {\r\n Deny = 2055,\r\n Hide = 2054,\r\n Grant = 2056,\r\n }\r\n\r\n export enum ReportAvailabilityEnum {\r\n GlobalCentralOffice = 1,\r\n Location = 2,\r\n Both = 3,\r\n }\r\n\r\n export enum SortDirection {\r\n Ascending,\r\n Descending,\r\n }\r\n\r\n export enum GetResult {\r\n Slim,\r\n Full,\r\n }\r\n\r\n export enum TimeClockStateEnum {\r\n ClockedOut,\r\n ClockedIn,\r\n BreakOut,\r\n BreakIn,\r\n }\r\n\r\n export enum ObjectCreationTypeEnum {\r\n System = 231,\r\n User = 232,\r\n Diagnostic = 1883,\r\n Starter = 1885,\r\n Conversion = 1968,\r\n }\r\n\r\n export enum ObjectStateEnum {\r\n Pending = 2029,\r\n Active = 2026,\r\n Inactive = 2027,\r\n Deleted = 2028,\r\n Merge = 2030,\r\n Exclude = 2112,\r\n Purged = 11039628\r\n }\r\n\r\n export enum DeviceTypeEnum {\r\n Printer = 2274,\r\n CreditCard = 2275,\r\n PosStation = 2290,\r\n }\r\n\r\n export enum ProductTypeEnum {\r\n Retail = 212,\r\n ProfessionalSupply = 213,\r\n }\r\n\r\n export enum GenderEnum {\r\n Male = 92,\r\n Female = 93,\r\n Other = 94,\r\n NotSpecified = 2035,\r\n }\r\n\r\n export enum PronounEnum{\r\n NotSpecified = 11045507,\r\n SheHer = 11045508,\r\n HeHim = 11045509,\r\n TheyThem = 11045510,\r\n HeThey = 11045511,\r\n SheThey = 11045512,\r\n }\r\n\r\n export enum MaritalStatusEnum {\r\n Married = 86,\r\n Single = 87,\r\n Divorced = 88,\r\n Widowed = 89,\r\n Separated = 90,\r\n DomesticPartner = 91,\r\n Other = 95,\r\n }\r\n\r\n export enum ReferredByEnum {\r\n Client = 1248,\r\n Employee = 1249,\r\n Referral = 1250,\r\n Student = 11045126,\r\n Teacher = 11045127,\r\n }\r\n\r\n export enum CostFrequencyEnum {\r\n PerDay = 1242,\r\n PerWeek = 1243,\r\n PerMonth = 1244,\r\n PerQuarter = 1245,\r\n PerYear = 1246,\r\n OneTimeChange = 1247,\r\n NoCharge = 1873,\r\n }\r\n\r\n export enum PaymentValueTypeEnum {\r\n Monetary = 235,\r\n Nonmonetary = 236,\r\n }\r\n\r\n export enum SaleLineStatusEnum {\r\n Added = 0,\r\n Updated = 1,\r\n }\r\n\r\n export enum SaleLineNoRefundReasonEnum {\r\n UnlimitedPackage = 1,\r\n }\r\n\r\n export enum PayInOutTypeEnum {\r\n PayIn = 229,\r\n PayOut = 230,\r\n }\r\n\r\n export enum PayInOutEnum {\r\n PayIn = 2204,\r\n PayOut = 2205,\r\n }\r\n\r\n export enum PurchaseOrderStateEnum {\r\n NotReceived = 1643,\r\n PartiallyReceived = 1651,\r\n ReceivedInFull = 1642,\r\n }\r\n\r\n export enum AddressTypeEnum {\r\n Home = 64,\r\n Work = 65,\r\n Other = 66,\r\n }\r\n\r\n export enum TaxItemTypeEnum {\r\n Default = 2251,\r\n Membership = 2282,\r\n Product = 2198,\r\n Service = 2197,\r\n }\r\n\r\n export enum RelationshipTypeEnum {\r\n Brother = 1620,\r\n Family = 1621,\r\n Father = 1622,\r\n Friend = 1623,\r\n Mother = 1624,\r\n Sister = 1625,\r\n Spouse = 1626,\r\n DomesticPartner = 1856,\r\n }\r\n\r\n export enum PriceLevelEnum {\r\n Level1 = 2065,\r\n Level2 = 2066,\r\n Level3 = 2067,\r\n Level4 = 2068,\r\n Level5 = 2069,\r\n Level6 = 2070,\r\n Level7 = 2071,\r\n Level8 = 2072,\r\n Level9 = 2073,\r\n }\r\n\r\n export enum EmployeeAppointmentBookViewEnum {\r\n All = 2127,\r\n Cascade = 30029,\r\n MyDay = 2128,\r\n MyWeek = 2129,\r\n }\r\n\r\n export enum PhoneTypeEnum {\r\n Work = 19,\r\n Fax = 20,\r\n Mobile = 21,\r\n Home = 22,\r\n Other = 23,\r\n }\r\n\r\n export enum EmailTypeEnum {\r\n Personal = 96,\r\n Work = 97,\r\n Other = 98,\r\n General = 175,\r\n }\r\n\r\n export enum CommunicationTypeEnum {\r\n AppointmentConfirmation = 1795,\r\n FiveStarSurvey = 30423,\r\n Marketing = 1796,\r\n Receipt = 1797,\r\n AppointmentNoShow = 1798,\r\n EmployeeCommunication = 1799,\r\n AchPaymentFailed = 1800,\r\n GiftCertAboutToExpire = 1801,\r\n AppointmentReminderOnAdd = 1817,\r\n AppointmentReminderOnUpdate = 1832,\r\n AppointmentReminderDaysBefore = 1833,\r\n AppointmentReminderOnCancel = 2036,\r\n GameRewardRedemptionNotification = 1890,\r\n EmployeeAppointmentBooked = 2077,\r\n EmployeeAppointmentCancelled = 2079,\r\n EmployeeAppointmentUpdated = 2078,\r\n SaleCreated = 30023,\r\n InsuranceReceiptCreated = 30102,\r\n GenericOptInRequested = 2103,\r\n ACHPaymentFailed = 1800,\r\n GenericStop = 2100,\r\n GenericHelp = 2101,\r\n GenericInvalidRequest = 2102,\r\n GenericOptInConfirmed = 2104,\r\n GenericAppointmentConfirmed = 2105,\r\n GenericAppointmentRescheduled = 2106,\r\n AppointmentRescheduled = 2107,\r\n AppointmentConfirmed = 2108,\r\n EmailUnsubscribe = 2109,\r\n AppointmentAddToCalendar = 2113,\r\n AppointmentRemoveFromCalendar = 2114,\r\n WaitListOpeningCreated = 2174,\r\n WaitListConfirmToRemain = 2175,\r\n WaitListClientRemoved = 2176,\r\n WaitListPendingExpired = 2182,\r\n WalkInClientAdded = 2186,\r\n WalkInPositionOne = 2200,\r\n WalkInPositionX = 2201,\r\n WalkInMissed = 2216,\r\n WalkInClosing = 2217,\r\n AppointmentPageOnCheckin = 10025,\r\n AppointmentPageOnRunningLate = 10026,\r\n AppointmentPageOnNoShow = 10027,\r\n AppointmentConfirmationError = 10043,\r\n GenericOptInAndAppointmentConfirm = 10046,\r\n SecurityOverrideOccured = 20041,\r\n SecuredFeatureAccessed = 20042,\r\n GiftCardSoldLessThanValue = 20043,\r\n ProactiveAlertDailyLog = 20044,\r\n WalkInSms = 20148,\r\n EgiftPurchaserEmailForReadyToPickup = 20179,\r\n GiftReceiptCreated = 30071,\r\n IntegrationError = 30114,\r\n PaymentTypeIsUsed = 30320,\r\n RefundWasGiven = 30321,\r\n ServiceIsRefunded = 30322,\r\n ProductIsRefunded = 30323,\r\n TransactionIsVoided = 30324,\r\n EmployeeClocksInEarlyOrLate = 30325,\r\n EmployeeClocksOutEarlyOrLate = 30326,\r\n ClosingCashIsOverShortMoreThanAmount = 30331,\r\n GiftCardIsRedeemedMoreThanMonthsOld = 30332,\r\n SpecificMembershipIsSold = 30333,\r\n MembershipIsSold = 30334,\r\n SpecificGiftCardTypeIsSold = 30335,\r\n GiftCardIsRedeemedByNotOriginRecipient = 30336,\r\n GiftCardIsRedeemedForAmountGreaterThanTicketTotal = 30337,\r\n GiftCardIsRedeemedWithGiftCardPurchase = 30338,\r\n AccessIsDeniedToCertainFeature = 30369,\r\n AppointmentIsBookedViaOnlineBooking = 30370,\r\n EmployeeWorkedMoreThanScheduledTime = 30371,\r\n QuickbooksHasNotBeenSyncedForAmountOfTime = 30503,\r\n DocsAndForms = 30518,\r\n AppointmentCheckIn = 11045056,\r\n SelfPay = 11044963,\r\n SelfPayReminder = 11044964,\r\n AppointmentNoShowed = 11045425,\r\n ReferralThankYou = 11045438,\r\n ProductPurchaseReminder = 11045439,\r\n MeGoWelcome = 11045716,\r\n }\r\n\r\n export enum CommunicationTypeGroupEnum {\r\n ClientAppointmentsImmediate = 11045456,\r\n ClientAppointmentsScheduled = 11045457,\r\n ClientMiscellaneous = 11045458,\r\n EmployeeAppointmentsImmediate = 11045459,\r\n EmployeeAppointmentsScheduled = 11045460,\r\n EmployeeMiscellaneous = 11045464,\r\n OptInOptOut = 11045465,\r\n ProactiveAlerts = 11045466,\r\n Reports = 11045467,\r\n ClientInvalidMessages = 11045468,\r\n WaitList = 11045469,\r\n WalkIns = 11045470,\r\n Receipts = 11045471,\r\n ClientAppointmentsAcknowledgement = 11045472,\r\n }\r\n\r\n //User type\r\n export enum CommunicationTypeUserEnum {\r\n Client = 2088,\r\n Employee = 2089,\r\n }\r\n\r\n export enum BulkClientNotificationUpdateEnum {\r\n RemoveOverrideIfItMatchDefault = 11044968,\r\n RemoveForAllClient = 11044969,\r\n AddOverrideForClientsWithoutOne = 11044970,\r\n ClearOut = 11044971\r\n }\r\n\r\n export enum BulkUpdateProcessingStatusEnum {\r\n ToBeProcessed = 11045024,\r\n Completed = 11045025,\r\n Error = 11045026\r\n }\r\n\r\n export enum LevelSettingEnum {\r\n BusinessType = 2121,\r\n Location = 2122,\r\n System = 2119,\r\n Tenant = 2120,\r\n }\r\n\r\n export enum OverrideRuleEnum {\r\n LowestLevel = 2118,\r\n OffOverride = 2117,\r\n }\r\n\r\n export enum BusinessSettingCategoryEnum {\r\n AccountSyncIntegration = 30363,\r\n AppointmentBook = 2252,\r\n ClientPoint = 2418,\r\n Clients = 2253,\r\n Compensation = 2416,\r\n Cultural = 30290,\r\n CustomBranding = 2412,\r\n EGifts = 30362,\r\n General = 20001,\r\n HelpDeskTicket = 30186,\r\n Integration = 30209,\r\n LicenseInsurance = 30126,\r\n Location = 30195,\r\n Membership = 2374,\r\n Notification = 2255,\r\n OnlineBooking = 2257,\r\n OnlineBookingSite = 20052,\r\n Register = 2258,\r\n Security = 2311,\r\n Tax = 2259,\r\n Users = 2254,\r\n WalkInManager = 2256,\r\n SmartCenter = 2436,\r\n Period = 10055,\r\n }\r\n\r\n export enum Currency {\r\n USD = 2194,\r\n }\r\n\r\n export enum TaxPolicy {\r\n USTAX = 2220,\r\n }\r\n\r\n export enum CommunicationOptedInStateEnum {\r\n OptedIn = 2086,\r\n OptedOut = 2087,\r\n Requested = 2085,\r\n Scheduled = 11039630,\r\n Undeliverable = 11045708,\r\n Deactivated = 11045715,\r\n }\r\n\r\n export enum DefaultSortTypeEnum {\r\n FirstNameLastName = 2132,\r\n LastNameFirstName = 2133,\r\n }\r\n\r\n export enum ClientVisitCalculatedBasedOnEnum {\r\n AllTransactions = 2379,\r\n ServiceAndProduct = 2378,\r\n ServiceOnly = 2377,\r\n }\r\n\r\n export enum DateFormatEnum {\r\n NonUSDateFormat = 30299,\r\n USDateFormat = 30298,\r\n }\r\n\r\n export enum TimeFormatEnum {\r\n TimeFormat12 = 30296,\r\n TimeFormat24 = 30297,\r\n }\r\n\r\n export enum DrawerStateEnum {\r\n Close = 1738,\r\n Open = 1737,\r\n }\r\n\r\n export enum SaleRankFilterTypeEnum {\r\n ClientsBuyingServices = 1973,\r\n ClientsBuyingProducts = 1974,\r\n EmployeesSellingServices = 1975,\r\n EmployeesSellingProducts = 1976,\r\n ServicesSold = 1977,\r\n ProductsSold = 1978,\r\n ClientsBuyingProductsOrServices = 20152,\r\n EmployeesSellingProductsOrServices = 20153,\r\n ProductsOrServicesSold = 20154,\r\n ClientsBuyingGiftCards = 11039644,\r\n EmployeesSellingGiftCards = 11039645,\r\n GiftCardsSold = 11039646,\r\n ClientsBuyingPackages = 11039647,\r\n EmployeesSellingPackages = 11039648,\r\n PackagesSold = 11039649,\r\n ClientsBuyingMemberships = 11039650,\r\n EmployeesSellingMemberships = 11039651,\r\n MembershipsSold = 11039652,\r\n AverageTicket = 11039907,\r\n Rebooking = 11039908,\r\n RetailToService = 11039909,\r\n RetailToTotal = 11039910\r\n }\r\n\r\n export enum EnumTypeEnum {\r\n AccountQueryTypeEnum = 1078,\r\n AccountTypeEnum = 1041,\r\n AchievementMeasurementEnum = 1135,\r\n AchievementTypeEnum = 1137,\r\n AddressTypeEnum = 2,\r\n AdornerTypeEnum = 39,\r\n AppointConfirmStateEnum = 33,\r\n AppointHistoryStateEnum = 38,\r\n AppointmentIncrementEnum = 1098,\r\n AppointStateEnum = 34,\r\n ApprovalTypeEnum = 1114,\r\n AuthenticationTypeEnum = 41,\r\n AutoRenewTypeEnum = 1217,\r\n BasketRequirementCategoryEnum = 1089,\r\n BOGOBasedOnTypeEnum = 30057,\r\n BookingMethodEnum = 32,\r\n BusinessResourceRequiredEnum = 28,\r\n BusinessTypeEnum = 49,\r\n CardEntryTypeEnum = 30083,\r\n CardPaymentEntryMethodEnum = 1079,\r\n CategoryTypeEnum = 1139,\r\n ChallengeMeasurementEnum = 1138,\r\n ClientTypeEnum = 1157,\r\n ClientVisitTypeEnum = 1141,\r\n CommissionCalculationTypeEnum = 30006,\r\n CommissionPeriodIntervalEnum = 1122,\r\n CommissionPeriodStateEnum = 1123,\r\n CommissionProcessorTypeEnum = 1109,\r\n CommissionRuleTypeEnum = 1108,\r\n CommissionScaleTypeEnum = 30007,\r\n CommunicationMethodEnum = 1120,\r\n CommunicationOptedInStateEnum = 1169,\r\n CommunicationProtocolEnum = 1129,\r\n CommunicationStateEnum = 1121,\r\n CommunicationTypeEnum = 1119,\r\n\r\n ConfirmationTypeEnum = 36,\r\n CostFrequencyEnum = 1010,\r\n CreditAuthTypeEnum = 1113,\r\n DaemonProcessingStateEnum = 1116,\r\n DailyRecurringFrequencyTypeEnum = 6,\r\n DataTypeEnum = 35,\r\n DateTimeUnitEnum = 7,\r\n DecimalRoundingPlaceEnum = 1211,\r\n DeletedInactiveFilterSelectionEnum = 1097,\r\n DiscountAccountingEnum = 1086,\r\n DiscountApplicationMethodTypeEnum = 1080,\r\n DiscountAppliesToEnum = 1081,\r\n DiscountEffectEnum = 1082,\r\n DiscountEntityGranularityTypeEnum = 1208,\r\n DiscountEntityTypeEnum = 1207,\r\n DiscountGroupTypeEnum = 1085,\r\n DiscountReapplicationEnum = 1092,\r\n DiscountRedeemableLimitPerTypeEnum = 1205,\r\n DiscountRuleComputationTypeEnum = 1094,\r\n DiscountRuleEvalEnum = 1084,\r\n DiscountTypeEnum = 1206,\r\n DrawerActionEnum = 1101,\r\n DrawerStateEnum = 1100,\r\n DurationTypeEnum = 1134,\r\n DynamicAccountEntityTypeEnum = 1059,\r\n ElevatableEnum = 16,\r\n ElevateDurationEnum = 17,\r\n EmailTypeEnum = 21,\r\n EmployeeAppointmentBookViewEnum = 1177,\r\n EmployeeGenderSearchEnum = 1132,\r\n EmployeePayTotalCalculationEnum = 1111,\r\n EmployeeLicenseEnum = 1235,\r\n EntityRuleTypeEnum = 1107,\r\n EFTTypeEnum = 1234,\r\n EquipmentRequiredEnum = 29,\r\n EthnicityEnum = 30,\r\n EvaluationTypeEnum = 1112,\r\n FieldTypeEnum = 40,\r\n FrequencyTypeEnum = 7,\r\n GenderEnum = 20,\r\n GenderPreferenceEnum = 23,\r\n GlobalTypeEnum = 1126,\r\n GoalStateEnum = 1136,\r\n IncludedEmployeeEnum = 1146,\r\n InventoryAdjustCommitActionEnum = 1053,\r\n InventoryCountActivityTypeEnum = 1052,\r\n InventoryCountSheetFilterTypeEnum = 1058,\r\n InventoryCountSheetItemStateEnum = 1056,\r\n InventoryCountStateEnum = 1087,\r\n InventoryCountTypeEnum = 1051,\r\n ProductInventoryTypeEnum = 1228,\r\n InventoryManagementUsabilityLevelEnum = 1102,\r\n ItemCatTypeEnum = 12,\r\n ItemTypeEnum = 9,\r\n KeywordTypeEnum = 47,\r\n LockPurposeEnum = 1096,\r\n LogicalOperatorEnum = 1064,\r\n LogicalSelectionTypeEnum = 1065,\r\n LoginEnabledEnum = 43,\r\n LogLevelEnum = 1115,\r\n MaritalStatusEnum = 19,\r\n MeasurementEnum = 1133,\r\n MeevoEditionTypeEnum = 1144,\r\n MembershipCategoryEnum = 1090,\r\n MonthlyRelativeDayEnum = 4,\r\n MonthlyRelativeWeekEnum = 5,\r\n NoteTypeEnum = 31,\r\n ObjectCreationTypeEnum = 53,\r\n OvertimeFrequencyEnum = 1128,\r\n OvertimeTypeEnum = 1142,\r\n PackageCreationTypeEnum = 1151,\r\n PackageRedemptionTypeEnum = 1150,\r\n PackageStyleEnum = 1044,\r\n PayInOutEnum = 1190,\r\n PayInOutPaymentTypeEnum = 1103,\r\n PayInOutTypeEnum = 52,\r\n PaymentCategoryEnum = 1091,\r\n PaymentResponseTypeEnum = 1055,\r\n PaymentTypeEnum = 1048,\r\n PaymentValueTypeEnum = 55,\r\n PayrollFrequencyEnum = 30044,\r\n PerformedByEnum = 27,\r\n PermissionToConnectEnum = 42,\r\n PhoneTypeEnum = 1,\r\n PriceLevelEnum = 1165,\r\n ProcessingTypeEnum = 1106,\r\n ProductPackageTypeEnum = 1229,\r\n ProductTypeEnum = 48,\r\n ProductUsageModeEnum = 1095,\r\n PromoPointEnum = 1149,\r\n PromoTypeEnum = 1148,\r\n PronounEnum = 11044834,\r\n PurchaseOrderLineStatusEnum = 1067,\r\n PurchaseOrderSheetFilterTypeEnum = 1068,\r\n PurchaseOrderSheetItemStateEnum = 1070,\r\n PurchaseOrderSheetRetailFilterEnum = 1069,\r\n PurchaseOrderStateEnum = 1074,\r\n ReferredByEnum = 1011,\r\n RefundTypeEnum = 1042,\r\n RelationshipTypeEnum = 1071,\r\n ReportFilterCreationTypeEnum = 1060,\r\n ReportInstanceTypeEnum = 1061,\r\n ReportOutputDestinationEnum = 1063,\r\n ReportOutputFormatEnum = 1062,\r\n RoundingModeEnum = 1072,\r\n RuleEnum = 1073,\r\n SaleRankFilterTypeEnum = 1147,\r\n SaleStateEnum = 1043,\r\n SalesTypeEnum = 1125,\r\n SaleTempStateEnum = 1104,\r\n ScanDateTypeEnum = 1171,\r\n ScanTimeTypeEnum = 1172,\r\n ScheduleCopyFrequencyTypeEnum = 1075,\r\n ScheduleCopyRuleTypeEnum = 1076,\r\n ScheduleTypeEnum = 37,\r\n SecurityAccessEnum = 1162,\r\n SecurityAllowEnum = 14,\r\n SecurityAttribTypeEnum = 18,\r\n SecurityCatTypeEnum = 1105,\r\n SecurityRestrictToEnum = 15,\r\n SecurityTypeEnum = 1163,\r\n SequencePositionEnum = 5,\r\n ServiceCommissionAdjustmentTypeEnum = 30008,\r\n ServiceStepTypeEnum = 22,\r\n SetupModeEnum = 1110,\r\n SmartTIleCategoryEnum = 20012,\r\n SoldMethodEnum = 1050,\r\n StrategyDateSelectionEnum = 46,\r\n StrategyEmployeeSelectionEnum = 44,\r\n StrategyRuleEffectEnum = 25,\r\n StrategyServiceSelectionEnum = 45,\r\n StrategyTypeEnum = 26,\r\n SubscriptionStatusEnum = 1127,\r\n SupplyCategoryEnum = 30029,\r\n TaxTypeEnum = 1045,\r\n TemplateTypeEnum = 1145,\r\n TicketCountTypeEnum = 1143,\r\n TimeClockActualEnum = 1117,\r\n TimeClockStateEnum = 1088,\r\n TimePeriodEnum = 1124,\r\n TransBalanceTypeEnum = 1131,\r\n TransEffectReasonEnum = 1046,\r\n TransTypeEnum = 1047,\r\n TriPosDeviceTypeEnum = 1152,\r\n VisibilityEnum = 54,\r\n WageTypeEnum = 1118,\r\n WeekdayNameEnum = 51,\r\n WidgetGenderEnum = 1140,\r\n EmployeeTypeEnum = 1158,\r\n ReBookingTypeEnum = 1160,\r\n BookingTypeEnum = 1159,\r\n RegisterReceiptTypeEnum = 1204,\r\n CommunicationTypeUserEnum = 1170,\r\n NotificationTypeEnum = 1177,\r\n DefaultSortTypeEnum = 1179,\r\n EmployeeScanSearchEnum = 1183,\r\n VariantTypeEnum = 1184,\r\n CurrencyEnum = 1186,\r\n TaxPolicyEnum = 1187,\r\n TaxItemTypeEnum = 1188,\r\n ClientVisitCalculatedBasedOnEnum = 1232,\r\n NewClientIndicatorEnum = 1233,\r\n PastTransactionsEnum = 30004,\r\n ServiceDeductionRuleEnum = 30016,\r\n ServiceOrderByEnum = 11044785,\r\n AccessLevelEnum = 11044790,\r\n RetailCommissionsPaidOutEnum = 30015,\r\n ImageGalleryCategoryEnum = 30031,\r\n MissedOpportunityReasonEnum = 30039,\r\n MissedOpportunityTimeTypeTypeEnum = 30040,\r\n AppointFinalStateEnum = 1161,\r\n CountryEnum = 30059,\r\n DateFormatEnum = 30061,\r\n TimeFormatEnum = 30060,\r\n TipEntryMethodEnum = 30085,\r\n SignatureEntryMethodEnum = 30086,\r\n ChargeTypeEnum = 11039658,\r\n PayrollInputTypesEnum = 11039653,\r\n PayrollAdpRequestStatusEnum = 11039660,\r\n WorkActivityTypeEnum = 11039843,\r\n ShowRebookPromptEnum = 11044716,\r\n ApplyServiceDeductionsEnum = 11039692,\r\n AppointmentBookRequestNonRequestSelectionEnum = 11044711,\r\n AlertsTriggeredByEnum = 11044717,\r\n AdpIntegrationTypeEnum = 11044754,\r\n ShowThisPromotionUponLoginEnum = 11044780,\r\n ElementTypeEnum = 11044781,\r\n VerticalAlignmentEnum = 11044783,\r\n HorizontalAlignmentEnum = 11044784,\r\n LiabilitiesMR035Enum = 11044848,\r\n }\r\n\r\n export enum AppointmentBookRequestNonRequestSelectionEnum {\r\n RequestedByDefault = 11044917,\r\n NonRequestByDefault = 11044918,\r\n RequireSelectionRequestNotRequest = 11044919\r\n }\r\n\r\n export enum TipEntryMethodEnum {\r\n OnScreen = 30510,\r\n Terminal = 30511,\r\n Prompt = 30512,\r\n }\r\n\r\n export enum SignatureEntryMethodEnum {\r\n OnScreen = 30513,\r\n OnReceipt = 30514,\r\n Prompt = 30515,\r\n }\r\n\r\n export enum RetailCommissionsPaidOutEnum {\r\n EveryTwoMonths = 30066,\r\n EveryTwoWees = 30064,\r\n Monthly = 30065,\r\n Quarterly = 30067,\r\n Weekly = 30063,\r\n Yearly = 30068,\r\n }\r\n\r\n export enum ServiceDeductionRuleEnum {\r\n After = 30070,\r\n Before = 30069,\r\n }\r\n\r\n export enum ServiceOrderByEnum {\r\n DisplayName = 11045306,\r\n Shortcut = 11045307,\r\n }\r\n\r\n export enum OvertimeFrequencyEnum {\r\n CommissionPeriod = 1848,\r\n Daily = 1846,\r\n Weekly = 1847,\r\n }\r\n\r\n export enum PayrollFrequencyEnum {\r\n Weekly = 30198,\r\n BiWeekly = 30199,\r\n Monthly = 30200,\r\n SemiMonthly = 30201,\r\n FourWeek = 11039756,\r\n CustomSemiMonthly = 11039855,\r\n CustomMonthly = 11045159,\r\n Quarterly = 11045162\r\n }\r\n\r\n export enum PayrollPeriodStatusEnum {\r\n Archive = 20066,\r\n Current = 20064,\r\n Inactive = 20087,\r\n Open = 20065\r\n }\r\n\r\n export enum PayrollPeriodTypeEnum {\r\n Full = 20088,\r\n Terminated = 20090,\r\n Transition = 20089\r\n }\r\n\r\n export enum PayrollProcessingStatusEnum {\r\n Completed = 20069,\r\n Error = 20070,\r\n Processing = 20068,\r\n ToBeProcessed = 20067\r\n }\r\n\r\n export enum OvertimeTypeEnum {\r\n Advanced = 1948,\r\n Standard = 1947,\r\n }\r\n\r\n export enum CountryEnum {\r\n Australia = 30294,\r\n Canada = 30293,\r\n Germany = 30424,\r\n Japan = 30467,\r\n Mexico = 30470,\r\n NewZealand = 30469,\r\n Norway = 30468,\r\n Spain = 30425,\r\n Switzerland = 30295,\r\n UnitedKingdom = 30292,\r\n UnitedStates = 30291,\r\n TrinidadAndTobago = 40002,\r\n Ireland = 11039654,\r\n Bahrain = 11044943,\r\n Austria = 11045049,\r\n Other = 30526\r\n }\r\n\r\n export enum CountryIdEnum {\r\n en_us = CountryEnum.UnitedStates,\r\n en_au = CountryEnum.Australia,\r\n en_ca = CountryEnum.Canada,\r\n de_de = CountryEnum.Germany,\r\n ja_jp = CountryEnum.Japan,\r\n es_mx = CountryEnum.Mexico,\r\n en_nz = CountryEnum.NewZealand,\r\n nb_no = CountryEnum.Norway,\r\n es_es = CountryEnum.Spain,\r\n fr_ch = CountryEnum.Switzerland,\r\n en_gb = CountryEnum.UnitedKingdom,\r\n en_tt = CountryEnum.TrinidadAndTobago,\r\n en_ie = CountryEnum.Ireland,\r\n ar_bh = CountryEnum.Bahrain,\r\n de_at = CountryEnum.Austria\r\n }\r\n\r\n export enum TaxPolicyEnum {\r\n USTax = 2195,\r\n CATax = 2196,\r\n AUTax = 10028,\r\n CHTax = 10029,\r\n JPTax = 10030,\r\n NOTax = 10031,\r\n NZTax = 10032,\r\n MXTax = 10033,\r\n GBTax = 30507,\r\n TTTax = 40004,\r\n IETax = 11039655,\r\n BHTax = 11044954,\r\n ATTax = 11045050,\r\n DETax = 11045051,\r\n ESTax = 11045052\r\n }\r\n\r\n export enum CurrencyEnum {\r\n USD = 2194,\r\n EUR = 30471,\r\n CAD = 30472,\r\n AUD = 30473,\r\n CHF = 30474,\r\n JPY = 30475,\r\n NOK = 30476,\r\n NZD = 30477,\r\n MXN = 30478,\r\n GBP = 30509,\r\n TTD = 40003,\r\n BHD = 11044953\r\n }\r\n\r\n export enum CardEntryTypeEnum {\r\n Chip = 30493,\r\n Contactless = 30494,\r\n Keyed = 30495,\r\n Swipe = 30496,\r\n Unknown = 30492,\r\n }\r\n\r\n export enum AppointmentWarningsEnum {\r\n DoubleBook,\r\n NotSchedule,\r\n FOV,\r\n }\r\n\r\n export enum TimeCompareModes {\r\n StartTime,\r\n EndTime,\r\n }\r\n\r\n export enum BulkUpdateStatusEnum {\r\n Pending = 11045449,\r\n Processing = 11045450,\r\n Completed = 11045451,\r\n }\r\n\r\n export enum BulkUpdateTypeEnum {\r\n Product = 11045520,\r\n Variant = 11045521,\r\n }\r\n\r\n export enum DiscontinueBehaviorEnum {\r\n SelectDiscontinued = 11045452,\r\n DeselectDiscontinued = 11045453,\r\n }\r\n\r\n export enum NotForSaleBehaviorEnum {\r\n SelectNotForSale = 11045454,\r\n DeselectNotForSale = 11045455,\r\n }\r\n\r\n export enum ProductInventoryTypeEnum {\r\n Other = 2371,\r\n Retail = 2362,\r\n RetailOrShopSupply = 2364,\r\n ShopSupply = 2363,\r\n }\r\n\r\n export enum PurchaseOrderDiscountTypeEnum {\r\n PercentOff = 11045134,\r\n AmountOff = 11045135,\r\n SpecificPrice = 11045136,\r\n }\r\n\r\n export enum PurchaseOrderLineItemResponseCodeEnum {\r\n Succeeded = 11039791,\r\n Failed = 11039792,\r\n Discontinued = 11039793,\r\n None = 11039794\r\n }\r\n\r\n export enum FonfirmStateEnum {\r\n AwaitingResponse = 1872,\r\n Confirmed = 155,\r\n DoNotConfirm = 154,\r\n LeftMessage = 157,\r\n Queued = 1869,\r\n RespondedReschedule = 1870,\r\n Unconfirmed = 158,\r\n }\r\n\r\n export enum SecurityAllowEnum {\r\n Executable = 196,\r\n Hidden = 69,\r\n Read = 72,\r\n Write = 74,\r\n }\r\n\r\n export enum AppointDetailStateEnum {\r\n RunningLate = 163,\r\n CheckedIn = 164,\r\n NoShow = 166,\r\n }\r\n\r\n export enum ServiceStepTypeEnum {\r\n Servicing = 99,\r\n Gap = 100,\r\n Other = 101,\r\n Resource = 11045065,\r\n }\r\n\r\n export enum AppointStateEnum {\r\n Arrived = 180,\r\n Booked = 195,\r\n CheckedIn = 164,\r\n Conflict = 2184,\r\n NoShow = 166,\r\n Pending = 165,\r\n RunningLate = 163,\r\n WalkInNoShow = 2183,\r\n WalkInPending = 2151,\r\n WalkInRescan = 2152,\r\n WalkOut = 2192,\r\n StandingConflict = 20071,\r\n }\r\n\r\n export enum AppointFinalStateEnum {\r\n Cancelled = 2052,\r\n CheckedOut = 2051,\r\n None = 2053,\r\n Removed = 2083,\r\n Replaced = 2076,\r\n }\r\n\r\n export enum GenderPreferenceEnum {\r\n FemaleOnly = 109,\r\n FemalePreferred = 106,\r\n MaleOnly = 108,\r\n MalePreferred = 107,\r\n NonbinaryPreferred = 11045411,\r\n NoPreference = 105,\r\n }\r\n\r\n export enum AppointmentIncrementEnum {\r\n Min5 = 1731,\r\n Min10 = 1732,\r\n Min15 = 1733,\r\n }\r\n\r\n export enum SettingEnum {\r\n AppointmentBookTimeIncrementUsed = 11,\r\n RequireCancellationReasonWhenDeletingAnAppointment = 12,\r\n StartAppointmentBookDayOn = 13,\r\n HideColumnsWithoutSchedules = 29,\r\n AppointDetailTypeRequired = 58,\r\n RequireClientPhoneNumber = 98,\r\n }\r\n\r\n export enum StateEnum {\r\n Read = 1,\r\n Edit = 2,\r\n Add = 4,\r\n Delete = 5,\r\n }\r\n\r\n export enum StandingFrequenceyTypeEnum {\r\n Daily = 24,\r\n Weekly = 27,\r\n }\r\n\r\n export enum BlockDefinitionFrequenceyTypeEnum {\r\n Daily = 24,\r\n OneTime = 25,\r\n Weekly = 27,\r\n }\r\n\r\n export enum BookingMethodEnum {\r\n BookingAgent = 2178,\r\n FrontDesk = 151,\r\n Mobile = 20047,\r\n Online = 152,\r\n StandingDefinition = 2179,\r\n WaitList = 2180,\r\n WaitListManual = 2181,\r\n WalkinKiosk = 2159,\r\n WalkinOnline = 2160,\r\n }\r\n\r\n export enum NumberOfVisits {\r\n Zero = 1,\r\n One = 2,\r\n FiveOrLess = 3,\r\n }\r\n\r\n export enum AppointNoteTypeEnum {\r\n Checkin = 2031,\r\n Register = 2032,\r\n CheckinRegister = 2033,\r\n AppointmentBookOnly = 2034,\r\n }\r\n\r\n export enum ButtonTypeEnum {\r\n Ok = 1,\r\n OkCancel = 2,\r\n YesNo = 3,\r\n }\r\n\r\n export enum MessageBoxButtonResult {\r\n Ok = 1,\r\n Cancel = 2,\r\n Yes = 3,\r\n No = 4,\r\n }\r\n\r\n export enum AppointmentBookDateTypeFilter {\r\n Day = 1,\r\n Week = 2,\r\n }\r\n\r\n export enum ClientHistoryActionEnum {\r\n AddEmployeeAndService = 1,\r\n AddEmployee = 2,\r\n AddService = 3,\r\n }\r\n\r\n export enum ElevatableEnum {\r\n Allow = 76,\r\n Restrict = 77,\r\n }\r\n\r\n export enum ElevateDurationEnum {\r\n Screen = 79,\r\n Transaction = 78,\r\n }\r\n\r\n export enum AlertPriorityLevelEnum {\r\n High = 4,\r\n Good = 3,\r\n Normal = 2,\r\n Low = 1,\r\n None = 0,\r\n }\r\n\r\n export enum WeekdayNameEnum {\r\n Friday = 226,\r\n Monday = 222,\r\n Saturday = 227,\r\n Sunday = 228,\r\n Thursday = 225,\r\n Tuesday = 223,\r\n Wednesday = 224,\r\n }\r\n\r\n export enum MemberStatusEnum {\r\n Member = 11045112,\r\n NonMember = 11045113,\r\n All = 11045114,\r\n AllMembers = 11045122\r\n }\r\n\r\n export enum PastTransactionsEnum {\r\n All = 30025,\r\n No = 30024,\r\n SameDay = 30026,\r\n WithinThreeDays = 30028,\r\n WithinTwoDays = 30027,\r\n }\r\n\r\n export enum MaintenanceFormState {\r\n Adding,\r\n Editing,\r\n Copying,\r\n Readonly,\r\n Pending,\r\n }\r\n\r\n export enum TypeaheadMode {\r\n Add,\r\n Edit,\r\n }\r\n\r\n export enum MaintenanceFormVisualState {\r\n Search,\r\n Detail,\r\n CustomScheduleLocation,\r\n CustomSchedulePrice,\r\n }\r\n\r\n export enum AppointmentBookState {\r\n EditAppointment,\r\n DeleteAppointment,\r\n RebookAppointment,\r\n }\r\n\r\n export enum EmployeeTypeEnum {\r\n NonRequest = 2044,\r\n Request = 2043,\r\n }\r\n\r\n export enum EmployeeRequestType {\r\n Add,\r\n Update,\r\n Disassociate,\r\n Delete,\r\n }\r\n\r\n export enum ReBookingTypeEnum {\r\n Normal = 2050,\r\n Rebooked = 2048,\r\n Redo = 2049,\r\n ReBookedRetroactive = 2306,\r\n }\r\n\r\n export enum BookingTypeEnum {\r\n Booked = 2047,\r\n PreBooked = 2046,\r\n Walkin = 2045,\r\n }\r\n\r\n export enum ClientTypeEnum {\r\n AnonymousFemale = 2040,\r\n AnonymousMale = 2041,\r\n AnonymousOther = 2042,\r\n Client = 2037,\r\n Employee = 2038,\r\n Transient = 2039,\r\n }\r\n\r\n export enum AppointConfirmStateEnum {\r\n AwaitingResponse = 1872,\r\n Confirmed = 155,\r\n DoNotConfirm = 154,\r\n LeftMessage = 157,\r\n Queued = 1869,\r\n RespondedReschedule = 1870,\r\n Unconfirmed = 158,\r\n UnableToContact = 20156,\r\n }\r\n\r\n export enum ConfirmStateEnum {\r\n AwaitingResponse = 1872,\r\n Confirmed = 155,\r\n DoNotConfirm = 154,\r\n LeftMessage = 157,\r\n Queued = 1869,\r\n RespondedReschedule = 1870,\r\n Unconfirmed = 158,\r\n }\r\n\r\n export enum ClientValidationTypeEnum {\r\n UniqueEmailCheck = 0,\r\n UniquePhoneCheck = 1,\r\n }\r\n\r\n export enum ClientAlertTypeEnum {\r\n MissingPhoneNumber = 0,\r\n MissingEmailAddress = 1,\r\n MissingContactInfo = 2,\r\n MissingReferral = 3,\r\n HasNotes = 4,\r\n HasActiveGiftCard = 5,\r\n MissingTextNotifications = 6,\r\n MissingTextMarketing = 7,\r\n MissingEmailMarketing = 8\r\n }\r\n\r\n export enum EthnicityEnum {\r\n Caucasian = 140,\r\n AfricanAmerican = 141,\r\n }\r\n\r\n export enum AuthenticationTypeEnum {\r\n WindowsAuthentication = 187,\r\n ActiveDirectory = 188,\r\n Millennium = 189,\r\n }\r\n\r\n export enum PermissionToConnectEnum {\r\n Grant = 190,\r\n Deny = 191,\r\n }\r\n\r\n export enum ClientSearchView {\r\n Default = 0,\r\n FromClientFind = 1,\r\n FromDataMaintenance = 2,\r\n }\r\n\r\n export enum EquipmentRequiredEnum {\r\n SameAsFirstStep = 136,\r\n Yes = 137,\r\n No = 138,\r\n SameAsPreviousStep = 139,\r\n }\r\n\r\n export enum BusinessTypeEnum {\r\n Salon = 214,\r\n Spa = 215,\r\n SalonSpa = 216,\r\n Clinic = 217,\r\n MediSpa = 218,\r\n Other = 1776,\r\n }\r\n\r\n export enum SubscriptionStatusEnum {\r\n Active = 1840,\r\n Frozen = 1841,\r\n Suspended = 1842,\r\n Cancelled = 1843,\r\n Terminated = 1844,\r\n Inactive = 1845,\r\n Pending = 30187,\r\n Upgrading = 30258,\r\n }\r\n\r\n export enum MeevoEditionTypeEnum {\r\n Standard = 1963,\r\n PaulMitchell = 1964,\r\n JcPenney = 2007,\r\n }\r\n\r\n export enum TimePeriodEnum {\r\n Today = 1818,\r\n ThisWeek = 1819,\r\n NextWeek = 1820,\r\n ThisMonth = 1821,\r\n Tomorrow = 1851,\r\n NextMonth = 1852,\r\n ThisQuarter = 1853,\r\n NextQuarter = 1854,\r\n ThisYear = 1855,\r\n Yesterday = 1857,\r\n LastWeek = 1858,\r\n LastMonth = 1859,\r\n LastQuarter = 1860,\r\n LastYear = 1861,\r\n YearToDate = 1862,\r\n LastYearToDate = 1863,\r\n }\r\n\r\n export enum DateTimeUnitEnum {\r\n Day = 24,\r\n Month = 26,\r\n Week = 27,\r\n }\r\n\r\n export enum DateTimeUnitsEnum {\r\n Daily = 11039700,\r\n Monthly = 11039702,\r\n Weekly = 11039701,\r\n }\r\n\r\n export enum MonthlyRelativeWeekEnum {\r\n First = 14,\r\n Second = 15,\r\n Last = 16,\r\n Third = 17,\r\n Fourth = 18,\r\n }\r\n\r\n export enum MonthlyRelativeDayEnum {\r\n Friday = 4,\r\n Monday = 5,\r\n WeekendDay = 6,\r\n Thursday = 7,\r\n Sunday = 8,\r\n Wednesday = 9,\r\n Day = 10,\r\n Weekday = 11,\r\n Saturday = 12,\r\n Tuesday = 13,\r\n }\r\n\r\n export enum DailyRecurringFrequencyTypeEnum {\r\n Minute = 1,\r\n Hours = 2,\r\n Second = 3,\r\n }\r\n\r\n export enum FileFormatEnum {\r\n CSV = 11039704,\r\n DOCX = 11039705,\r\n PDF = 11039706,\r\n XLS = 11039707,\r\n PPTX = 11039835,\r\n RTF = 11039836,\r\n IMAGE = 11039837,\r\n MHTML = 11039838,\r\n XPS = 11039839,\r\n XLSX = 11039840,\r\n }\r\n\r\n export enum RegisterReceiptTypeEnum {\r\n EmailReceipt = 2286,\r\n NoReceipt = 2288,\r\n PrintEmailReceipt = 30127,\r\n PrintReceipt = 2287,\r\n PromptReceipt = 2289,\r\n }\r\n\r\n export enum NewClientIndicatorEnum {\r\n NewtotheTenantNoServiceHistory = 2384,\r\n NewtotheLocation = 2386,\r\n NewtotheEmployee = 2387,\r\n }\r\n\r\n export enum ItemTypeEnum {\r\n Service = 29,\r\n Product = 76,\r\n GiftCardType = 32,\r\n Membership = 33,\r\n Package = 34,\r\n PaymentType = 36,\r\n Referral = 37,\r\n AppointType = 38,\r\n AppointReason = 39,\r\n Discount = 42,\r\n Department = 43,\r\n Distributor = 44,\r\n Equipment = 45,\r\n Manufacturer = 63,\r\n MembershipCancelReasons = 51,\r\n MembershipType = 52,\r\n Report = 54,\r\n BusinessResource = 55,\r\n SecurityRole = 67,\r\n WorkType = 84,\r\n BlockType = 103,\r\n JobFunction = 110,\r\n ServiceStep = 111,\r\n Strategy = 125,\r\n CommissionDefn = 128,\r\n VisitNoteType = 150,\r\n WidgetDefinition = 169,\r\n WidgetDefinitionProperty = 170,\r\n Desktop = 171,\r\n DesktopWidget = 172,\r\n DesktopWidgetProperty = 173,\r\n Keyword = 206,\r\n PayInOutType = 238,\r\n Drawer = 1499,\r\n PackageType = 1500,\r\n Workstation = 1502,\r\n ProductBin = 1517,\r\n AccountDefinition = 1604,\r\n DiscountGroup = 1664,\r\n CommTemplate = 1810,\r\n GameCharm = 1886,\r\n GameReward = 1888,\r\n GameAchievement = 1901,\r\n Template = 1967,\r\n SwapGroup = 2004,\r\n BusinessResourceCategory = 56,\r\n }\r\n\r\n export enum ItemCatTypeEnum {\r\n ClientCat = 58,\r\n EmployeeCat = 59,\r\n ServiceCat = 60,\r\n ProductCat = 61,\r\n EvaluationCat = 62,\r\n RecommendationCat = 63,\r\n AppointCat = 85,\r\n EquipmentCat = 126,\r\n BusinessResourceCat = 127,\r\n WidgetCat = 174,\r\n PaymentTypeCat = 237,\r\n ReferralCat = 1251,\r\n Account = 1498,\r\n ReportCat = 1603,\r\n GameCharmCat = 1887,\r\n GameRewardCat = 1889,\r\n }\r\n\r\n export enum LoginEnabledEnum {\r\n Enabled = 192,\r\n Disabled = 193,\r\n }\r\n\r\n export enum CommunicationProtocolEnum {\r\n OneWay = 1866,\r\n TwoWay = 1867,\r\n }\r\n\r\n export enum CommunicationMethodEnum {\r\n Email = 1803,\r\n None = 1880,\r\n Phone = 1804,\r\n SMS = 1802,\r\n }\r\n\r\n export enum ConfirmStateFilterEnum {\r\n All = 0,\r\n Confirmed = 1,\r\n Unconfirmed = 2,\r\n AwaitingReply = 3,\r\n RespondedReschedule = 4,\r\n UnableToContact = 5,\r\n }\r\n\r\n export enum TileAvailabilityLevelEnum {\r\n CoOnly = 1,\r\n LocationOnly = 2,\r\n BothCoAndLocation = 3\r\n }\r\n\r\n export enum NotificationModeType {\r\n Modal = 0,\r\n Toast = 1,\r\n }\r\n\r\n export enum DimensionTypeEnum {\r\n Date = 0,\r\n Employee = 1,\r\n Resource = 2,\r\n ResourceUnit = 3,\r\n }\r\n\r\n export enum DuplicationOptionEnum {\r\n Skip = 0,\r\n Overwrite = 1,\r\n }\r\n\r\n export enum EmployeeGenderSearchEnum {\r\n AnyEmployee = 1891,\r\n AnyFemale = 1893,\r\n AnyMale = 1892,\r\n RandomEmployee = 2161,\r\n SpecificEmployee = 2162,\r\n }\r\n\r\n export enum PackageItemTypeEnum {\r\n Service = 0,\r\n Product\r\n }\r\n\r\n export class Enum {\r\n static getValues(e: any) {\r\n return Object.keys(e)\r\n .map(v => parseInt(v, 10))\r\n .filter(v => !isNaN(v));\r\n }\r\n\r\n static GetEnumList(enumType) {\r\n return Enum.getValues(enumType).map(v => {\r\n return { displayName: enumType[v] as string, value: v };\r\n });\r\n }\r\n }\r\n\r\n export class Guard {\r\n static isSomething(e: any, withFullTruthy: boolean = true): boolean {\r\n return withFullTruthy ? typeof e && e : e !== null && e !== undefined;\r\n }\r\n\r\n static isNothing(e: any, withFullTruthy: boolean = true): boolean {\r\n return !Guard.isSomething(e, withFullTruthy);\r\n }\r\n\r\n static returnSomething(e: any): any {\r\n return e === undefined ? null : e;\r\n }\r\n\r\n static canBeId(val: any) : boolean {\r\n return [\"number\", \"string\"].indexOf(typeof val) > -1\r\n }\r\n }\r\n\r\n export enum ScheduleCopyRuleTypeEnum {\r\n OverwriteAll = 1648,\r\n OverwriteWorkTime = 1649,\r\n }\r\n\r\n export enum ScheduleCopyFrequencyTypeEnum {\r\n FourthWeek = 1647,\r\n SecondWeek = 1645,\r\n ThirdWeek = 1646,\r\n Week = 1644,\r\n }\r\n\r\n export enum CoSearchType {\r\n CentralOffice = 0,\r\n Location = 1,\r\n }\r\n\r\n export enum CoSearchResultsFilter {\r\n All = 0,\r\n LocationOwned = 1,\r\n LocationOverrides = 2,\r\n }\r\n\r\n export enum CoAvailableResultsFilter {\r\n All = 0,\r\n Unavailable = 1,\r\n Available = 2,\r\n }\r\n\r\n export enum AppliedTemplateSectionTypeEnum {\r\n Main = 1,\r\n Categories = 2,\r\n Services = 3,\r\n Locations = 4,\r\n Compensations = 5,\r\n CommissionsOverrides = 6,\r\n Deduction = 7\r\n }\r\n\r\n export enum AppliedTemplateSectionUpdateTypeEnum {\r\n Replace = 0,\r\n Merge = 1,\r\n }\r\n\r\n export enum StyleEnum {\r\n HolidayAppointmentBook = 2126,\r\n HolidayScheduleEditor = 2125,\r\n ResourceSchedule = 2124,\r\n WorkActivityOff = 2123,\r\n }\r\n\r\n export enum EmployeeCalendarEditMode {\r\n Edit = 0,\r\n CopyDay = 1,\r\n CopyWeek = 2,\r\n CopyForward = 3,\r\n }\r\n\r\n export enum FileTypes {\r\n Image,\r\n ClientImage = 2157,\r\n EmployeeImage = 2158,\r\n SmartTileImage11 = 2419,\r\n SmartTileImage21 = 2420,\r\n SmartTileImage12 = 2421,\r\n SmartTileImage41 = 2422,\r\n SmartTileImage13 = 2423,\r\n PaymentTypeImage = 2278,\r\n WalkinSetting = 2283,\r\n SelfCheckInSetting = 50107,\r\n CustomDataFile = 2346,\r\n CustomDataImage = 2345,\r\n EgiftTemplate = 30428,\r\n BusinessInfo = 2393,\r\n CustomBrandingLogoImage = 2414,\r\n CustomBrandingBackgroundImage = 2415,\r\n Product = 2417,\r\n StockImage = 2412,\r\n ServiceImage = 30527,\r\n Document,\r\n CustomDataControlImage = 2500,\r\n ClientAppBusinessLogo = 11045292,\r\n ClientAppLoginScreen = 11045293,\r\n ClientAppHomeScreen = 11045294,\r\n ClientAppPromoBackground = 11045295,\r\n ClientAppPromoImage = 11045296,\r\n SmartTileImage31 = 11045321,\r\n VisitNoteImage = 11045322,\r\n }\r\n\r\n export enum ScanOriginEnum {\r\n Default = 0,\r\n OnlineBooking = 1,\r\n WalkinManager = 2,\r\n WalkinManagerRescan = 3,\r\n }\r\n\r\n export enum ScanDateTypeEnum {\r\n FirstAvailable = 2090,\r\n NextWeek = 2154,\r\n NextWeekend = 2156,\r\n Specific = 2094,\r\n ThisWeek = 2093,\r\n ThisWeekend = 2155,\r\n Today = 2091,\r\n Tomorrow = 2092,\r\n }\r\n\r\n export enum ScanTimeTypeEnum {\r\n Afternoon = 2097,\r\n Anytime = 2095,\r\n Custom = 2099,\r\n EndsBefore = 2164,\r\n Evening = 2098,\r\n Morning = 2096,\r\n StartsAfter = 2165,\r\n }\r\n\r\n export enum EmployeeSearchView {\r\n Default = 0,\r\n WithEmployeeServicePricing = 1,\r\n AllEmployeesWithCategories = 2\r\n }\r\n\r\n export enum ServiceSearchView {\r\n Default = 0,\r\n WithEmployeePriceRange = 1,\r\n LocationOwned = 2,\r\n CentralOfficeOwned = 3\r\n }\r\n\r\n export enum WalkInStatusEnum {\r\n WaitingAndPresent = 2136,\r\n WaitingButNotPresent = 2137,\r\n CheckedOut = 2163,\r\n }\r\n\r\n export enum UserExistsAt {\r\n HomeLocations = 0,\r\n AllLocations = 1,\r\n CoOnly = 2,\r\n }\r\n\r\n export enum WakinAppointmentSearchView {\r\n Default = 0,\r\n NoShow = 1,\r\n InService = 2,\r\n }\r\n\r\n export enum ClientFoundState {\r\n None = 0,\r\n Existing = 1,\r\n CreatedNew = 2,\r\n }\r\n\r\n export enum ClientFoundType {\r\n None = 0,\r\n Email = 1,\r\n Phone = 2,\r\n }\r\n\r\n export enum WaitListStatus {\r\n Default = 0,\r\n NoShow = 1,\r\n InProgress = 2,\r\n }\r\n\r\n export enum WaitListSortType {\r\n Priority = 0,\r\n Client = 1,\r\n }\r\n\r\n export enum EFTTypeEnum {\r\n ACH = 2401,\r\n CreditCard = 2400,\r\n }\r\n\r\n export enum PaymentTypeEnum {\r\n ACH = 1458,\r\n Cash = 1462,\r\n Check = 1463,\r\n ClientAccount = 1464,\r\n Credit = 1460,\r\n Debit = 1461,\r\n Gift = 1448,\r\n GiftTip = 1449,\r\n GroupPost = 1457,\r\n OffsiteGift = 1453,\r\n OffsiteGiftTip = 1455,\r\n OffsitePackage = 1454,\r\n OffsitePackageTip = 1456,\r\n Other = 1518,\r\n Package = 1450,\r\n PackageTip = 1451,\r\n PaymentPlan = 1466,\r\n PointsRewards = 1465,\r\n SwissRounding = 1452,\r\n WaiveEFT = 1459,\r\n }\r\n\r\n export enum SalesTypeEnum {\r\n GiftCard = 1830,\r\n Membership = 2397,\r\n MembershipPayment = 2399,\r\n MembershipPaymentEFT = 2398,\r\n MembershipRenewal = 2398,\r\n MembershipWaive = 20002,\r\n Package = 1979,\r\n PackageMerge = 30125,\r\n PackageRefund = 30193,\r\n PackageServiceSwapFee = 30202,\r\n PackageSplit = 30124,\r\n PackageTransfer = 30123,\r\n Product = 1829,\r\n PromoGiftCard = 20049,\r\n PromoGiftCardPaymentOffset = 20050,\r\n EgiftProcessingFee = 20175,\r\n EgiftShippingFee = 20176,\r\n ReloadGiftCard = 30062,\r\n Service = 1828,\r\n ServiceCancellationFee = 30164,\r\n ServiceNoShowFee = 30372,\r\n AssociatedClient = 20003,\r\n Transfer = 30159,\r\n ClientAccountCredit = 30374,\r\n ClientAccountPayment = 30375,\r\n TicketCharge = 11039885,\r\n DepositCredit = 11044921,\r\n BulkGiftCard = 11045099,\r\n PaymentPlanPayment = 11045309,\r\n PaymentPlanPaymentEFT = 11045312,\r\n PaymentPlanReduction = 11045313,\r\n }\r\n\r\n export enum SaleTypeFilterEnum {\r\n Service = 11045546,\r\n Product = 11045547,\r\n GiftCard = 11045556,\r\n Package = 11045579,\r\n Membership = 11045580,\r\n ClientAccountCredit = 11045581,\r\n ServicesOnly = 11045582,\r\n ProductsOnly = 11045583,\r\n TipsOnly = 11045584,\r\n All = 11045585,\r\n }\r\n\r\n export enum SaleStateEnum {\r\n AutoSave = 1627,\r\n Completed = 1398,\r\n Created = 1397,\r\n Hold = 1399,\r\n Resume = 1400,\r\n Void = 1401,\r\n }\r\n\r\n export enum TransTypeEnum {\r\n CashBack = 1631,\r\n CashReceived = 1630,\r\n ChargePerTicketDeduction = 1441,\r\n ClientAccount = 1545,\r\n ClientDiscountPlan = 1445,\r\n CommissionPaid = 1433,\r\n Coupon = 1443,\r\n DiscountPointOfSale = 1442,\r\n EmployeeCharge = 1549,\r\n EmployeeCommission = 1546,\r\n EmployeeDiscountPlan = 1444,\r\n EmployeeSalary = 1547,\r\n EmployeeTip = 1548,\r\n Gift = 1427,\r\n GiftTip = 1428,\r\n HouseCharge = 1532,\r\n LaborCostDeduction = 1439,\r\n Membership = 1432,\r\n MembershipDiscountPlan = 1446,\r\n MembershipDues = 1533,\r\n MembershipEnrollmentFee = 1534,\r\n MembershipIncome = 1535,\r\n MembershipRecurringFees = 1536,\r\n NewGuestDeduction = 1440,\r\n OverAmount = 1541,\r\n Package = 1430,\r\n PackageTip = 1429,\r\n PayIn = 1543,\r\n Payment = 1542,\r\n PayOut = 1544,\r\n Points = 1540,\r\n Product = 1425,\r\n ProductAsset = 1539,\r\n ProductCostOfGoods = 1538,\r\n ProductIncome = 1567,\r\n ProductLose = 1874,\r\n SalaryPaid = 1434,\r\n SalePromotion = 1447,\r\n Service = 1426,\r\n ServiceIncome = 1566,\r\n ShopCostDeduction = 1438,\r\n ShortAmount = 1537,\r\n Tan = 1431,\r\n TipPaid = 1435,\r\n }\r\n\r\n export enum TermsAndConditionsTypeEnum {\r\n WalkInTermsAndConditions = 2203,\r\n }\r\n\r\n export enum CustomerNameDisplayFormatEnum {\r\n FirstInitialCommaLastInitial = 2269,\r\n FirstInitialCommaLastName = 2271,\r\n FirstNameCommaLast4ofPhoneNumber = 2268,\r\n FirstNameCommaLastInitial = 2270,\r\n }\r\n\r\n export enum ControlTypeEnum {\r\n DropDown = 2261,\r\n SingleSelectList = 2189,\r\n MultiSelectList = 2190,\r\n Radio = 2262,\r\n ListBox = 2263,\r\n CheckBox = 2264,\r\n TextArea = 2188,\r\n TextBox = 2187,\r\n AlertingDatePicker = 2284,\r\n DatePicker = 2191,\r\n ImageUpload = 2265,\r\n DocumentUpload = 2266,\r\n Signature = 30502,\r\n Initials = 10023,\r\n Markup = 11039887\r\n }\r\n\r\n export enum AppAreaEnum {\r\n Booking = 2229,\r\n Checkout = 2233,\r\n Checkin = 2409,\r\n Client = 2231,\r\n Employee = 2230,\r\n None = 2267,\r\n Product = 2232,\r\n Service = 2281,\r\n DocsAndForms = 10024,\r\n }\r\n\r\n export enum PaymentCategoryEnum {\r\n AnyPaymentForm = 1705,\r\n SpecificPaymentForms = 1706,\r\n ACH = 30093,\r\n Cash = 2218,\r\n Check = 2279,\r\n ClientAccount = 30192,\r\n CreditDebit = 2219,\r\n Debit = 2220,\r\n GiftCard = 2221,\r\n Other = 2244,\r\n PointsRewards = 30095,\r\n TRANSFER = 30094,\r\n Unknown = 30307,\r\n CashRounding = 11039605,\r\n CareCredit = 11045139,\r\n PaymentPlan = 11045147,\r\n DeferredVoid = 11045430,\r\n }\r\n\r\n export enum PaymentSubCategoryEnum {\r\n ACH = 30096,\r\n AmericanExpress = 2245,\r\n Cash = 2222,\r\n Check = 2280,\r\n AccountCharge = 30373,\r\n Debit = 2246,\r\n DinersClub = 30097,\r\n Discover = 2225,\r\n GiftCard = 2247,\r\n MasterCard = 2224,\r\n Other = 2248,\r\n Package = 30098,\r\n PackageTip = 30099,\r\n PointsRewards = 30100,\r\n PromoGiftCard = 20048,\r\n ThirdPartyGiftCard = 30101,\r\n Unknown = 30307,\r\n Visa = 2223,\r\n CashRounding = 11039606,\r\n DepositCharge = 11044934,\r\n CareCredit = 11045140,\r\n PaymentPlan = 11045148,\r\n DeclinedCardRefund = 11045431,\r\n }\r\n\r\n export enum PaymentRequestStatusEnum {\r\n ACHPending = 20006,\r\n Approved = 30046,\r\n Failed = 30047,\r\n Pending = 30045,\r\n SignatureVerificationPending = 30508,\r\n }\r\n\r\n export enum RequestStatusEnum {\r\n Pending = 0,\r\n Success = 200,\r\n AutoUpdate = 201, //Declined\r\n Failed = 400, //Declined\r\n Error = 401,\r\n }\r\n\r\n export enum VariantTypeEnum {\r\n Color = 2166,\r\n Height = 2167,\r\n Length = 2168,\r\n Quality = 2169,\r\n Shape = 2170,\r\n Size = 2171,\r\n Style = 2172,\r\n Type = 2173,\r\n Weight = 2215,\r\n }\r\n\r\n export enum DiscountTypeEnum {\r\n SpecialPrice = 2293,\r\n AmountOff = 2294,\r\n PercentOff = 2295,\r\n BuyGet = 2296,\r\n }\r\n\r\n export enum BasicMarketingClientSelectionEnum {\r\n Birthday = 30415,\r\n ClientsThatHaveNoShowed = 30419,\r\n OverdueClients = 30420,\r\n ClientsThatHaveReceivedServiceFromEmployee = 30422,\r\n ClientsWithCertainAmountOfVisits = 30421,\r\n ClientsWithAnAppointmentBooked = 30417,\r\n ClientsWithMembership = 20159,\r\n LastVisitNoFutureAppntmnt = 30416,\r\n NewClient = 30414,\r\n ReferralVisits = 30418,\r\n ActiveClient = 30504,\r\n AllClients = 10054,\r\n ClientsWithDiscounts = 11039851,\r\n ClientsWithGiftCardBalance = 11039852,\r\n ClientsWithMembershipAboutToExpire = 11039853,\r\n ClientsWithPoints = 11039854,\r\n ClientsSpentXamountOnServicesAndProducts = 11044920,\r\n ClientsAreDueIn = 11045036,\r\n ClientsPurchasedGiftCard = 11045095,\r\n ClientsPurchasedPackage = 11045035,\r\n ClientsPurchasedProductAnotProductB = 11045032,\r\n ClientsPurchasedServiceNotProduct = 11045034,\r\n ClientsPurchasedServiceAnotServiceB = 11045031,\r\n ClientsReceivedPackage = 11045033,\r\n ClientsWhoBecameAndWhoAreStillDueToPurchase = 11045672,\r\n ClientsWhoWillBecomeDueToPurchase = 11045673,\r\n ClientsWhoseMostRecentPurchaseOf = 11045674,\r\n COClientsWhoBecameAndWhoAreStillDueToPurchase = 11045694,\r\n COClientsWhoseMostRecentPurchaseOf = 11045695,\r\n }\r\n\r\n export enum BasicMarketingDateRangeCompareEnum {\r\n Before = 30391,\r\n Due = 30390,\r\n For = 30389,\r\n GreaterThan = 30388,\r\n Within = 30387,\r\n WithinLast = 20164,\r\n Between = 11045677,\r\n WasBetween = 11045675,\r\n }\r\n\r\n export enum BasicMarketingDateRangeSelectionEnum {\r\n FourteenDays = 30413,\r\n Last7Days = 30435,\r\n LastMonth = 30396,\r\n LastQuarter = 30409,\r\n LastWeek = 30394,\r\n NextMonth = 30407,\r\n NextQuarter = 30410,\r\n NextWeek = 30406,\r\n NinetyDays = 30400,\r\n OneDay = 30411,\r\n OneEightyDays = 30402,\r\n OneTwentyDays = 30401,\r\n PreviousDay = 30434,\r\n SevenDays = 30412,\r\n SixtyDays = 30399,\r\n ThirtyDays = 30398,\r\n ThisMonth = 30395,\r\n ThisQuarter = 30408,\r\n ThisWeek = 30393,\r\n Today = 30403,\r\n Tomorrow = 30404,\r\n TwentyFourHours = 30392,\r\n Any = 30505,\r\n ThisYear = 20160,\r\n LastYear = 20161,\r\n SinceLastWeek = 20181,\r\n SinceLastMonth = 20182,\r\n OneYear = 11039844,\r\n Custom = 11039891,\r\n NextYear = 11039857,\r\n }\r\n\r\n export enum DiscountEntityTypeEnum {\r\n Fees = 30535,\r\n GiftCard = 30466,\r\n Membership = 30497,\r\n Package = 2300,\r\n Product = 2297,\r\n ProductService = 2299,\r\n Service = 2298,\r\n RebookedAppointments = 50048\r\n }\r\n\r\n export enum DiscountBasedOnEnum {\r\n Quantity = 30285,\r\n Amount = 30286,\r\n }\r\n\r\n export enum SaleLineDiscountTypeEnum {\r\n CancellationFee = 30137,\r\n ItemOnSale = 30081,\r\n Manual = 30080,\r\n MembershipBenefit = 30079,\r\n NoShowFee = 30367,\r\n Predefined = 30078,\r\n WaivePayment = 30162,\r\n YieldManagement = 11045091,\r\n }\r\n\r\n export enum DiscountEntityGranularityTypeEnum {\r\n All = 2301,\r\n AllMembershipFees = 30536,\r\n AllPackageSwapUpgradeFees = 30537,\r\n Specific = 2302,\r\n SpecificManufacturer = 2303,\r\n }\r\n\r\n export enum DiscountRedeemableLimitPerTypeEnum {\r\n Client = 2291,\r\n Transaction = 2292,\r\n }\r\n\r\n export enum DiscountBuyGetTypeEnum {\r\n Buy = 2304,\r\n Get = 2305,\r\n }\r\n\r\n export enum AutoRenewTypeEnum {\r\n Both = 30457,\r\n Monthly = 2335,\r\n No = 2333,\r\n PaidInFull = 2334,\r\n }\r\n\r\n export enum MembershipLengthEnum {\r\n Days = 2325,\r\n Months = 2324,\r\n }\r\n\r\n export enum BillingTypeEnum {\r\n Manual = 2326,\r\n PaidInFull = 2327,\r\n RecurringPayments = 2328,\r\n }\r\n\r\n export enum RecurringPaymentScheduleEnum {\r\n SixMonths = 2331,\r\n Monthly = 2329,\r\n Quarterly = 2330,\r\n Yearly = 2332,\r\n }\r\n\r\n export enum InventoryCountStateEnum {\r\n Complete = 1688,\r\n Deleted = 2373,\r\n Open = 1686,\r\n Reviewing = 1687,\r\n }\r\n\r\n export enum AccruedServiceSharingEnum {\r\n Anyone = 2319,\r\n FamilyOnly = 2318,\r\n NoSharing = 2316,\r\n OnlyDefinedUsers = 2317,\r\n }\r\n\r\n export enum FreezeSettingEnum {\r\n AccruedServiceOnly = 2337,\r\n FullAccess = 2339,\r\n MemberBenefitsOnly = 2338,\r\n NoAccess = 2336,\r\n }\r\n\r\n export enum DefinedUserTypeEnum {\r\n Corporate = 2323,\r\n Family = 2322,\r\n MultiUser = 2321,\r\n Single = 2320,\r\n }\r\n\r\n export enum UserTypeEnum {\r\n User = 2074,\r\n TenantAPIUser = 2075,\r\n MSIUser = 2084\r\n }\r\n\r\n export enum TenantTypeEnum {\r\n JcPenney = 1,\r\n Me = 2\r\n }\r\n\r\n export enum ProductPackageTypeEnum {\r\n Case = 2366,\r\n Each = 2365,\r\n }\r\n\r\n export enum MerchantAccountProviderEnum {\r\n Vantiv = 1, /* Worldpay */\r\n VantivGC = 2, /* WorldpayGC */\r\n CardConnect = 3,\r\n PaymentSense = 4,\r\n ConnectE = 5,\r\n CareCredit = 6,\r\n Worldpay = Vantiv,\r\n WorldpayGC = VantivGC,\r\n Adyen = 7,\r\n AdyenCanada = 8,\r\n MeevoPay = Adyen,\r\n MeevoPayCanada = AdyenCanada,\r\n }\r\n\r\n export enum DecimalRoundingPlaceEnum {\r\n Hundredths = 2313,\r\n TenThousandths = 2315,\r\n Tenths = 2312,\r\n Thousandths = 2314,\r\n }\r\n\r\n export enum RoundingModeEnum {\r\n CashSwedish = 1634,\r\n Down = 1633,\r\n HalfDown = 1636,\r\n HalfEven = 1637,\r\n HalfUp = 1635,\r\n Up = 1632,\r\n }\r\n\r\n export enum MemberTypeEnum {\r\n Primary = 2340,\r\n Secondary = 2341,\r\n }\r\n\r\n export enum PageStateEnum {\r\n CategoryList = 1,\r\n ReportList,\r\n Controls,\r\n Report,\r\n }\r\n\r\n export enum FeeTypeEnum {\r\n Enrollment = 2342,\r\n Recurring = 2343,\r\n Renewal = 2344,\r\n }\r\n\r\n export enum StorageTypeEnum {\r\n Client = 2157,\r\n CustomDataFile = 2346,\r\n CustomDataImage = 2345,\r\n Employee = 2158,\r\n PaymentType = 2278,\r\n WalkinSetting = 2283,\r\n BusinessInfo = 2389,\r\n StockImage = 2413,\r\n CustomBrandingLogoImage = 2414,\r\n CustomBrandingBackgroundImage = 2415,\r\n Product = 2417,\r\n SmartTileImage11 = 2419,\r\n SmartTileImage21 = 2420,\r\n SmartTileImage12 = 2421,\r\n SmartTileImage41 = 2422,\r\n SmartTileImage13 = 2423,\r\n CustomDataControlImage = 2500,\r\n SystemFile = 10058,\r\n EgiftTemplate = 30428,\r\n Service = 30527,\r\n SelfCheckinSetting = 50107,\r\n ClientAppBusinessLogo = 11045292,\r\n ClientAppLoginScreen = 11045293,\r\n ClientAppHomeScreen = 11045294,\r\n ClientAppPromoBackground = 11045295,\r\n ClientAppPromoImage = 11045296,\r\n VisitNoteImage = 11045322,\r\n }\r\n\r\n export class StorageFileHelper {\r\n static hasImageUri(m: IStorageFile) {\r\n return !(this.imageUri(m, '') === '');\r\n }\r\n\r\n static hasThumbUri(m: IStorageFile) {\r\n return !(this.thumbUri(m, '') === '');\r\n }\r\n\r\n static hasSourceUri(m: IStorageFile) {\r\n return !(this.sourceUri(m, '') === '');\r\n }\r\n\r\n static imageUri(m: IStorageFile, defaultUri: string) {\r\n if (m != undefined && m.meevoFile != undefined) {\r\n return this.searchFile(m, 'Formated', defaultUri);\r\n }\r\n return defaultUri;\r\n }\r\n\r\n static thumbUri(m: IStorageFile, defaultUri: string) {\r\n if (m != undefined && m.meevoFile != undefined) {\r\n return this.searchFile(m, 'Thumb', defaultUri);\r\n }\r\n return defaultUri;\r\n }\r\n\r\n static sourceUri(m: IStorageFile, defaultUri: string) {\r\n if (m != undefined && m.meevoFile != undefined) {\r\n return this.searchFile(m, 'Source', defaultUri);\r\n }\r\n return defaultUri;\r\n }\r\n\r\n /**\r\n * search for the storage file URL if model implements FileMetadata\r\n */\r\n static searchFile(istoreObject, searchKey: string, defaultUrl: string): string {\r\n let istoreObj = istoreObject;\r\n let fileUrl = defaultUrl;\r\n if (istoreObj == undefined) {\r\n return defaultUrl;\r\n }\r\n\r\n if (istoreObj && istoreObj.meevoFile && istoreObj.meevoFile.files && istoreObj.meevoFile.files.length > 0) {\r\n istoreObj.meevoFile.files.forEach(setting => {\r\n if (setting.key === searchKey) {\r\n fileUrl = setting.fileUrl;\r\n return fileUrl;\r\n }\r\n });\r\n }\r\n return fileUrl;\r\n }\r\n }\r\n\r\n export enum ClientMembershipSearchStatusEnum {\r\n AllMembers = 20007,\r\n CCAboutToExpire = 20013,\r\n Expired = 20011,\r\n Grandfathered = 20051,\r\n InCancellation = 20012,\r\n Initial90 = 20008,\r\n InRenewalTerm = 20010,\r\n WithinInitialTerm = 20009,\r\n MembershipAboutToExpire = 20120,\r\n Active = 11045154,\r\n }\r\n\r\n export enum ClientMembershipIndicatorEnum {\r\n GreenStar = 0,\r\n BlueStar = 1,\r\n BlueStarWithRedX = 2,\r\n BlueStarYellowI = 3,\r\n BlueStarWithPause = 4,\r\n BlueStarWithPackage = 5,\r\n HollowedBlueStar = 6,\r\n RedStar = 7,\r\n RedCircleWithMinus = 8,\r\n RedCircleWithLine = 9,\r\n BlueStarRedTriangleI = 10,\r\n PlatinumStar = 11,\r\n SoldToday = 12,\r\n BlueStarWithPauseAndPlus = 13,\r\n }\r\n\r\n export enum ClientMembershipIndicatorStatusEnum {\r\n DueToExpire = 30107,\r\n Error = 30006,\r\n Expired = 30007,\r\n Frozen = 30003,\r\n InCancellation = 30005,\r\n Initial90 = 30106,\r\n InRenewal = 30105,\r\n NonCounting = 30108,\r\n SoldToday = 20004,\r\n Suspended = 30004,\r\n WithinInitialTerm = 30016,\r\n CCDueToExpire = 30109,\r\n }\r\n\r\n export enum ClientMembershipStatusEnum {\r\n Active = 30002,\r\n CancelBeforeEnrollment = 30110,\r\n Cancelled = 30008,\r\n Expired = 30009,\r\n InActive = 30010,\r\n }\r\n\r\n export enum ClientMembershipBillStatusEnum {\r\n Deleted = 30019,\r\n Error = 30013,\r\n Failed = 30014,\r\n NotBilled = 30011,\r\n Paid = 30012,\r\n Pending = 30018,\r\n Refund = 20005,\r\n SentToTransworld = 2435,\r\n Suspended = 30017,\r\n //Waived = 30015,\r\n WaivedAccrued = 30015,\r\n WaivedNotAccrued = 30016,\r\n FreezeFee = 30032,\r\n Processing = 0,\r\n RemovedDONOTSHOW = 2456,\r\n }\r\n\r\n export enum ClientMembershipBillFeeTypeEnum {\r\n FreezeFee = 30032,\r\n PaidInFullFreezeFee = 30215,\r\n RecurringFee = 30033,\r\n RenewalFee = 30034,\r\n }\r\n\r\n export enum PaymentAccountStatusEnum {\r\n Approved = 30051,\r\n Failed = 30052,\r\n Pending = 30050,\r\n }\r\n\r\n export enum PaymentAccountTypeEnum {\r\n ACHChecking = 30054,\r\n ACHSaving = 30055,\r\n Card = 30053,\r\n }\r\n\r\n export enum IntegrationStatusEnum {\r\n Open = 0,\r\n InProcess = 1,\r\n Success = 2,\r\n Skip = 3,\r\n Failed = 4,\r\n }\r\n\r\n export enum EmployeeLicenseEnum {\r\n Insurance = 2403,\r\n License = 2402,\r\n }\r\n\r\n export enum CommissionCalculationTypeEnum {\r\n CommissionOnly = 30035,\r\n SalaryAndCommission = 30037,\r\n SalaryOrCommission = 30036,\r\n }\r\n\r\n export enum CommissionScaleTypeEnum {\r\n Straight = 30038,\r\n TieredSliding = 30040,\r\n TieredStraight = 30039,\r\n }\r\n\r\n export enum ServiceCommissionAdjustmentTypeEnum {\r\n Commission = 30044,\r\n LaborCosts = 30042,\r\n NewClientDeductions = 30043,\r\n ShopCosts = 30041,\r\n }\r\n\r\n export enum MembershipCommissionSettingEnum {\r\n EmployeeSpiff = 30118,\r\n EnrollmentFee = 30117,\r\n RecurringFee = 30119,\r\n }\r\n\r\n export enum CommissionsSettingEnum {\r\n EmployeeSpiff = 30183,\r\n EnrollmentFee = 30184,\r\n RecurringFee = 30185,\r\n }\r\n\r\n export enum ClientMembershipCancellationStateEnum {\r\n Cancellation = 1,\r\n ImmediateCancellation,\r\n UndoCancellation,\r\n }\r\n\r\n export enum PointAdjustmentTypeEnum {\r\n Manual = 30076,\r\n Register = 30104,\r\n PointsReset = 11045090,\r\n }\r\n\r\n export enum PackageRedemptionTypeEnum {\r\n ExactMatch = 2002,\r\n ItemValue = 2020,\r\n Merge = 2017,\r\n Refund = 2006,\r\n Split = 2016,\r\n Swap = 2003,\r\n Void = 2008,\r\n }\r\n\r\n export enum HoldTypeEnum {\r\n Billing = 30112,\r\n Recovery = 30113,\r\n Register = 30111,\r\n OnlineBooking = 11044924,\r\n }\r\n\r\n export enum PackageCreationTypeEnum {\r\n Custom = 2010,\r\n Merge = 2012,\r\n Predefined = 2009,\r\n Split = 2011,\r\n }\r\n\r\n export enum ProcessingStatusEnum {\r\n None,\r\n Success,\r\n Declined,\r\n Approved,\r\n Restart,\r\n Failed,\r\n HostError,\r\n Timeout,\r\n FailedVerification,\r\n CardError,\r\n UnknownCard,\r\n UnsupportedCard,\r\n DeviceError,\r\n Cancelled,\r\n ChipError,\r\n PinPadError,\r\n PinPadTimeout,\r\n InvalidLane,\r\n SwipedCardIsChipCapable,\r\n ApprovedByMerchant,\r\n ChipReaderError,\r\n UseChipReader,\r\n UseMagneticStripe,\r\n CardRemoved,\r\n CardBlocked,\r\n CardNotSupported,\r\n BadCard,\r\n CandidateListEmpty,\r\n IssuerAuthenticationFailed,\r\n CardDataEncryptionNotEnabled,\r\n ApprovedExceptCashback,\r\n ApplicationBlocked,\r\n AccountNotFound,\r\n MerchantAccountNotFound,\r\n ProcessorCommunicationError,\r\n RequestTimeout,\r\n PartialApproved,\r\n TerminalAlreadyLocked,\r\n }\r\n\r\n export enum SupplyCategoryEnum {\r\n Cleaning = 30129,\r\n KitchenSupply = 30131,\r\n OfficeSupply = 30130,\r\n Refreshment = 30132,\r\n Tools = 11039796,\r\n MedspaSupply = 11039797,\r\n NailSupply = 11039798,\r\n SpaSupply = 11039799,\r\n SalonSupply = 11039800,\r\n WaxingSupply = 11039801,\r\n OtherSupply = 11039802,\r\n LinensAndApparel = 11039803,\r\n RetailPackaging = 11039804,\r\n Housekeeping = 11039805,\r\n FoodAndBeverage = 11039806\r\n }\r\n\r\n export const SUPPLY_CATEGORY_DESCRIPTION = {\r\n [SupplyCategoryEnum.Cleaning]: 'LABEL_CLEANING_SUPPLIES',\r\n [SupplyCategoryEnum.KitchenSupply]: 'LABEL_KITCHEN_SUPPLIES',\r\n [SupplyCategoryEnum.OfficeSupply]: 'LABEL_OFFICE_SUPPLIES',\r\n [SupplyCategoryEnum.Refreshment]: 'LABEL_REFRESHMENTS',\r\n [SupplyCategoryEnum.Tools]: 'LABEL_TOOLS',\r\n [SupplyCategoryEnum.MedspaSupply]: 'LABEL_MEDSPA_SUPPLIES',\r\n [SupplyCategoryEnum.NailSupply]: 'LABEL_NAIL_SUPPLIES',\r\n [SupplyCategoryEnum.SpaSupply]: 'LABEL_SPA_SUPPLIES',\r\n [SupplyCategoryEnum.SalonSupply]: 'LABEL_SALON_SUPPLIES',\r\n [SupplyCategoryEnum.WaxingSupply]: 'LABEL_WAXING_SUPPLIES',\r\n [SupplyCategoryEnum.OtherSupply]: 'LABEL_OTHER_SUPPLIES',\r\n [SupplyCategoryEnum.LinensAndApparel]: 'LABEL_LINES_AND_APPAREL',\r\n [SupplyCategoryEnum.RetailPackaging]: 'LABEL_REATIL_PACKAGING',\r\n [SupplyCategoryEnum.Housekeeping]: 'LABEL_HOUSEKEEPING',\r\n [SupplyCategoryEnum.FoodAndBeverage]: 'LABEL_FOOD_AND_BEVERAGE',\r\n }\r\n\r\n export enum DrawerTypeEnum {\r\n Register = 2367,\r\n AppointmentBook = 2368,\r\n Membership = 2369,\r\n External = 2370,\r\n Conversion = 30128,\r\n Egift = 30578,\r\n OnlineBooking = 11044923,\r\n SelfPay = 11044967\r\n }\r\n\r\n export enum ReturnReasonEnum {\r\n Damaged = 30138,\r\n Expired = 30139,\r\n Return = 30140,\r\n }\r\n\r\n export enum MarketPricingEntityEnum {\r\n Service = 1,\r\n Product = 2,\r\n Package = 3,\r\n Membership = 4,\r\n MemberBenefitTemplate = 5,\r\n Location = 6,\r\n PriceGroup = 7, //for internal usage\r\n }\r\n\r\n export enum ImageGalleryCategoryEnum {\r\n Business = 30141,\r\n Employee = 30142,\r\n ServiceCategories = 30143,\r\n Client = 30163,\r\n }\r\n\r\n export enum IncludedEmployeeEnum {\r\n AllEmployees = 1969,\r\n LoggedInEmployee = 1970,\r\n SpecificEmployee = 50001\r\n }\r\n\r\n export enum IsForAllEnum {\r\n FromSpecific = 1,\r\n ToSpecific = 2,\r\n FromAll = 4,\r\n ToAll = 8,\r\n ToEmployee = 16,\r\n }\r\n\r\n export enum NotificationMethodEnum {\r\n Sms = 1,\r\n Email = 2,\r\n OnceDay = 4,\r\n }\r\n\r\n export enum TipAmountTypeEnum {\r\n Amount = 20016,\r\n Percentage = 20015,\r\n }\r\n\r\n export enum ProcessorResponseCodeEnum {\r\n AuthorizationFailed = 20033,\r\n BalanceNotAvailable = 20028,\r\n CallIssuer = 20027,\r\n CommunicationError = 20036,\r\n Decline = 20022,\r\n Default = 20045,\r\n Duplicate = 20025,\r\n DuplicateApproved = 20024,\r\n Error = 20038,\r\n ExpiredCard = 20023,\r\n HostError = 20037,\r\n InvalidAccount = 20031,\r\n InvalidData = 20030,\r\n InvalidRequest = 20032,\r\n NotAllowed = 20034,\r\n NotDefined = 20029,\r\n OutOfBalance = 20035,\r\n PartialApproval = 20021,\r\n PickUpCard = 20026,\r\n Success = 20020,\r\n Returned = 10009,\r\n Pending = 10010,\r\n Queued = 10011,\r\n Unknown = 10012,\r\n Originated = 10013,\r\n Settled = 10014,\r\n MerchantAccountNotFound = 10015,\r\n SignatureRejected = 2454,\r\n ApprovedWithSignatureVerificationTimeout = 2455,\r\n }\r\n\r\n export enum ProactiveAlertTypeEnum {\r\n NoConfig = 0,\r\n GiftCardSoldLessThanValue = 1,\r\n SecuredFeatureAccessed = 2,\r\n SecurityOverrideOccured = 3,\r\n SpecificPaymentTypeIsUsed = 4,\r\n RefundWasGiven = 5,\r\n SpecificServiceIsRefunded = 6,\r\n SpecificProductIsRefunded = 7,\r\n TransactionIsVoided = 8,\r\n EmployeeClocksInEarlyOrLate = 9,\r\n EmployeeClocksOutEarlyOrLate = 10,\r\n ClosingCashIsOverShortMoreThanAmount = 11,\r\n GiftCardIsRedeemedMoreThanMonthsOld = 12,\r\n SpecificMembershipIsSold = 13,\r\n MembershipIsSold = 14,\r\n SpecificGiftCardTypeIsSold = 15,\r\n GiftCardIsRedeemedByNotOriginRecipient = 16,\r\n GiftCardIsRedeemedForAmountGreaterThanTicketTotal = 17,\r\n GiftCardIsRedeemedWithGiftCardPurchase = 18,\r\n AccessIsDeniedToACertainFeature = 19,\r\n AllOrSpecificServiceBookedViaOnlineBooking = 20,\r\n EmployeeWorksMore = 21,\r\n QuickbooksHasNotBeenSyncedForAmountOfTime = 22,\r\n EmployeeHasNotClockedIn = 23,\r\n AppointmentServiceAreCheckedIn = 24,\r\n SpecificReportIsRun = 25,\r\n SpecificServiceWasSold = 26,\r\n ProductIsLowOnInventory = 29,\r\n GifcardIsSoldOnline = 34,\r\n SmsHasReached = 35,\r\n SpecificPackageIsSold = 36,\r\n ServiceIsBooked = 37,\r\n RatingIsSubmitted = 39,\r\n AppointmentCancelledOnline = 40,\r\n SpecificProductIsSold = 43,\r\n AppointmentHasBeenCanceled = 44,\r\n DocsAndFormsHaveBeenSubmitted = 45,\r\n WaitListAppointmentIsAdded = 46,\r\n }\r\n\r\n export enum ProactiveAlertTriggeredTypeEnum {\r\n OnlineBooking = 11044929,\r\n System = 11044930,\r\n EGift = 11044931,\r\n AccountSync = 11044932,\r\n }\r\n\r\n export enum MissedOpportunityTimeTypeTypeEnum {\r\n Afternoon = 30175,\r\n Evening = 30176,\r\n Morning = 30174,\r\n Specific = 30177,\r\n }\r\n\r\n export enum SmartTIleCategoryEnum {\r\n AppointmentBook = 30302,\r\n Employee = 30304,\r\n Membership = 30306,\r\n Register = 30303,\r\n System = 30305,\r\n }\r\n\r\n export enum SmartTileTypeEnum {\r\n Data = 30073,\r\n Image = 30075,\r\n Shortcut = 30074,\r\n }\r\n\r\n export enum LocationStatusEnum {\r\n Active = 30188,\r\n TemporarilyClosed = 30189,\r\n ClosingPlanned = 30190,\r\n Closed = 30191,\r\n }\r\n\r\n export enum BusinessInfoSettingEnum {\r\n EnableOnlineBooking = 7000,\r\n EnableAutoBillingService = 3008000,\r\n EnableMembershipBilling = 3008001,\r\n EFTToBeProcessedStatusEnum = 3008002,\r\n EnableAppointmentNotification = 3009000,\r\n EnableThirdPartyIntegration = 3010000,\r\n EnableOnlineWalkinManager = 3011000,\r\n }\r\n\r\n export enum CancellationTypeEnum {\r\n UserDefined = 2080,\r\n StandingCancelled = 2081,\r\n OnlineBookingCancellation = 2449,\r\n StandingConflictCancelled = 20091,\r\n }\r\n\r\n export enum ProcessTypeEnum {\r\n Create = 30210,\r\n Delete = 30211,\r\n Refresh = 30212,\r\n Suspend = 30213,\r\n Reactivate = 30214,\r\n }\r\n\r\n export enum SandboxProcessStatusEnum {\r\n Pending = 30253,\r\n InProcess = 30254,\r\n Succeeded = 30255,\r\n Failed = 30256,\r\n Cancelled = 30257,\r\n }\r\n\r\n export enum SandboxStatusEnum {\r\n Pending = 30246,\r\n InProcess = 30247,\r\n Active = 30248,\r\n Failed = 30249,\r\n Cancelled = 30250,\r\n Deleted = 30251,\r\n Suspended = 30252,\r\n }\r\n\r\n export enum BISecurityAccessTypeEnum {\r\n None = 11045021,\r\n Employee = 11045022,\r\n FullLocation = 11045023\r\n }\r\n\r\n export enum BOGOBasedOnTypeEnum {\r\n Amount = 30286,\r\n Quantity = 30285,\r\n }\r\n\r\n export enum EGiftTemplateCatEnum {\r\n AllOccasion = 30341,\r\n Anniversary = 30342,\r\n AnyOccasion = 30343,\r\n BabyShower = 30344,\r\n Birthday = 30345,\r\n Congratulations = 30346,\r\n FathersDay = 30347,\r\n Holiday = 30348,\r\n MothersDay = 30349,\r\n ThankYou = 30350,\r\n Valentine = 30351,\r\n Wedding = 30352,\r\n }\r\n\r\n export enum ClientsIncludedEnum {\r\n All = 30437,\r\n MembersOnly = 30438,\r\n NonMembersOnly = 30439,\r\n }\r\n\r\n export enum PointPromotionTypeEnum {\r\n RebookingNextAppointmentFirst = 20183,\r\n RebookingNextAppointmentAny = 20184,\r\n Birthday = 30454,\r\n BookingAppointmentOnline = 30447,\r\n ClientFirstVisit = 30455,\r\n GiftCardPurchase = 30441,\r\n GiftCardPurchaseTimesPurchasePrice = 11045199,\r\n MembershipPurchase = 30442,\r\n NewService = 30449,\r\n NewServiceCategory = 30448,\r\n PackagePurchase = 30443,\r\n RebookingNextAppointment = 30444,\r\n ReferringAnotherClient = 30440,\r\n RetailPurchase = 30450,\r\n RetailPurchaseMinimumAmount = 30445,\r\n ServiceCategoryPurchaseMinimumTimes = 30453,\r\n ServicePurchase = 30451,\r\n ServicePurchaseMinimumAmount = 30446,\r\n ServicePurchaseMinimumTimes = 30452,\r\n ServiceCategoryFirstTime = 30558,\r\n MembershipEFT = 11039713,\r\n }\r\n\r\n export enum CreditCardSignatureFormatEnum {\r\n Base64PNG = 10022,\r\n Unknown = 20106,\r\n PointsLittleEndian = 20107,\r\n Base64GZippedBMP = 20108,\r\n }\r\n\r\n export enum DocsAndFormsTriggerEventEnum {\r\n Booked = 30519,\r\n CheckedIn = 30520,\r\n CheckedOut = 30521,\r\n }\r\n\r\n export enum FilterWildcardType {\r\n StartsWith,\r\n EndsWith,\r\n Contains,\r\n }\r\n\r\n export enum SessionState {\r\n LogOut = 0,\r\n Lockout = 1,\r\n LogIn = 2,\r\n Refreshing = 3,\r\n }\r\n\r\n export enum MerchantTerminalTypeEnum {\r\n Physical = 30571,\r\n Hosted = 30572,\r\n }\r\n\r\n export enum EmployeeEntityTypeEnum {\r\n Employee = 10034,\r\n Teacher = 10035,\r\n Student = 10036,\r\n }\r\n\r\n export enum ReportsCategoryEnum {\r\n Analytical = 1,\r\n Appointments = 2,\r\n Clients = 3,\r\n Employee = 18,\r\n FrontDesk = 4,\r\n Inventory = 6,\r\n Liabilities = 16,\r\n Memberships = 17,\r\n Payroll = 7,\r\n Products = 8,\r\n Referrals = 9,\r\n Register = 10,\r\n Schedules = 12,\r\n WalkIns = 15,\r\n }\r\n\r\n export enum MeevoMessengerAutoRepliesEnum {\r\n DefaultAutoReplyMessage = 0,\r\n HolidayAutoReplyMessage = 1,\r\n OutsideHoursAutoReplyMessage = 2,\r\n CustomAutoReply\r\n }\r\n\r\n export enum SmartTileIds {\r\n EstimatedSales = 4,\r\n ClientsWithAppointments = 6,\r\n HoursNotSold = 7,\r\n NewClientsWithAppointments = 8,\r\n RebookedClients = 12,\r\n PercentageBooked = 21,\r\n NetSales = 22,\r\n TopServicesPerformed = 38,\r\n FiveStarRating = 42,\r\n MonthlyRecurringRevenue = 43,\r\n MembershipConversion = 44,\r\n ChurnMonthlyRecurringRevenue = 45,\r\n ExpansionMonthlyRecurringRevenue = 46,\r\n GrowthMonthlyRecurringRevenue = 47,\r\n DateCounter = 49,\r\n ClientBirthdayAnniversary = 50,\r\n EmployeeBirthdayAnniversary = 52,\r\n ServiceCategorySales = 53,\r\n ScheduledServices = 3,\r\n AppointmentCount = 37,\r\n ServiceProviderRequests = 54,\r\n TopServicesBooked = 55,\r\n AppointmentsToReschedule = 36,\r\n ProductCategorySales = 56,\r\n AverageSales = 57,\r\n WaitList = 39\r\n }\r\n\r\n export enum TransferStatusEnum {\r\n None = 0,\r\n Saved = 1,\r\n Deleted = 2,\r\n Transferred = 4,\r\n Returned = 8, //ReturnNotReceived\r\n Recalled = 16,\r\n Received = 32,\r\n ReturnReceived = 40\r\n };\r\n export enum ReceivalStatusEnum {\r\n NotReceived = 0,\r\n Returned = 8,\r\n Received = 32\r\n };\r\n /* export enum TransferStatusEnum {\r\n Saved = 11045068,\r\n Transferred = 11045069,\r\n Deleted = 11045070,\r\n ReturnNotReceived = 11045071,\r\n ReturnReceived = 11045072,\r\n Recall = 11045073\r\n }\r\n\r\n export enum ReceivalStatusEnum {\r\n NotReceived = 11045074,\r\n Received = 11045075,\r\n Returned = 11045076\r\n }*/\r\n\r\n export enum FormTypeEnum {\r\n Standard = 10017,\r\n Form = 10018,\r\n Intake = 20167,\r\n }\r\n\r\n export enum ClientNoteViewTimeEnum {\r\n AppointmentBooked = 20169,\r\n CheckIn = 20170,\r\n CheckOut = 20171,\r\n }\r\n export enum StepOverrideStageEnum {\r\n None,\r\n Existing,\r\n Add,\r\n Update,\r\n Remove\r\n }\r\n\r\n export enum SaleNoteTypeEnum {\r\n Transaction = 50102,\r\n Discount = 50103,\r\n Refund = 50104,\r\n }\r\n\r\n export enum SaleStageEnum {\r\n Initial,\r\n PreFinalize,\r\n Finalize\r\n }\r\n\r\n export enum ModuleEnum {\r\n System = 2206,\r\n AppointmentBook = 2207,\r\n Client = 2208,\r\n User = 2209,\r\n Notification = 2210,\r\n WalkInManager = 2211,\r\n OnlineBooking = 2212,\r\n Register = 2213,\r\n Tax = 2214,\r\n Security = 2404,\r\n Membership = 2405,\r\n Service = 2406,\r\n RedirectService = 10016,\r\n StudentTeacher = 10037,\r\n AlertManager = 20053,\r\n ActivityLog = 20054,\r\n Support = 20055,\r\n Textel = 20138,\r\n SalesRanking = 20149,\r\n ClientIntakeForm = 20155,\r\n DemandForce = 20174,\r\n BillingService = 30196,\r\n Integration = 30197,\r\n Branding = 30216,\r\n BusinessType = 30217,\r\n CallCenter = 30218,\r\n Discount = 30219,\r\n Employee = 30220,\r\n Event = 30221,\r\n GiftCard = 30222,\r\n Inventory = 30223,\r\n IPRestriction = 30224,\r\n LocationGroup = 30225,\r\n MarketPricing = 30226,\r\n MerchantAccount = 30227,\r\n Package = 30228,\r\n Payroll = 30229,\r\n POSHardware = 30230,\r\n ProactiveAlert = 30231,\r\n Product = 30232,\r\n ProductBundle = 30233,\r\n Report = 30234,\r\n Resource = 30235,\r\n Sale = 30236,\r\n ServiceAddOn = 30237,\r\n SmartCenter = 30238,\r\n TimeClock = 30239,\r\n UDF = 30240,\r\n WaitList = 30241,\r\n GroupBooking = 30242,\r\n ClassBooking = 30243,\r\n Upsell = 30244,\r\n FormBuilder = 30245,\r\n Department = 30282,\r\n ClientPoints = 30308,\r\n OverallDepartmentGoals = 30364,\r\n MeevoStore = 30365,\r\n EmployeeGoals = 30368,\r\n MarketingEmma = 30376,\r\n SandBox = 30377,\r\n BasicMarketing = 30386,\r\n eGift = 30430,\r\n QuickBooks = 30431,\r\n SalonClouds = 30432,\r\n GoalsDashboard = 30456,\r\n DocsAndForms = 30506,\r\n Paging = 30516,\r\n Transworld = 30525,\r\n RatingsControlPanel = 30559,\r\n TechSphere = 30575,\r\n SharedEmployee = 50006,\r\n SalesforceSupport = 50007,\r\n IntelliBooking = 50020,\r\n AreaManager = 50047,\r\n TextelBlast = 11039686,\r\n Worldpay = 11039893,\r\n CardConnect = 11039894,\r\n Octopi = 11044713,\r\n VanguardID = 11044712,\r\n PaymentPlans = 11045115,\r\n SalonCloudsPlusECommerce = 11045149,\r\n SalonCloudsPlusTele = 11045092,\r\n SalonCloudsPlusSnapSMSTexting = 11044933,\r\n SnapLiteBySalonCloudsPlus = 11045028,\r\n Tippy = 11045197,\r\n Vish = 11045164,\r\n ClientApp = 11045205,\r\n SalonInteractiveEcommercePerfected = 11045446,\r\n SalonInteractiveDigitizedSalonSolution = 11045447,\r\n MeetYourStylist = 11045443,\r\n TrueLark = 11045444,\r\n SalonScale = 11045445,\r\n AnalyticalReports = 11045597,\r\n\t\tSalonCloudsMarketing = 11039653,\r\n PowerBI = 11045614,\r\n AfterPose = 11045658,\r\n PowerBIFree = 11045699,\r\n\t\tGlammatic = 11045706,\r\n Concerto = 11045707,\r\n ADPWiselyIntegration = 11045359,\r\n }\r\n\r\n export enum MeevoApiResponseCodeEnum {\r\n ClientFrequencyOfVisit = 20121,\r\n EmployeeDoesNotPerformService = 20122,\r\n EmployeeDoubleBooked = 20123,\r\n EmployeeNotScheduled = 20124,\r\n ResourceNotScheduled = 20125,\r\n AppointmentRequestPayingClientDuplicate = 20126,\r\n AppointmentRequestExistingAppointmentService = 20127,\r\n WalkinEmployeeDoubleBooked = 20128,\r\n AppointmentServiceGenderPreferenceConflict = 20129,\r\n EmployeeBookingRestrictions = 20130,\r\n EmployeeRequestedChanged = 20131,\r\n LocationUnavailable = 20132,\r\n ResourceUnavailable = 20133,\r\n EquipmentUnavailable = 20134,\r\n EmployeeUnavailable = 20135,\r\n ServiceUnavailable = 20136,\r\n ServiceNotBookable = 20137\r\n }\r\n\r\n export enum ComparisonTypeEnum {\r\n IsEqualOrHigherThan = 11039665,\r\n IsEqualOrLowerThan = 11039666,\r\n IsEqualTo = 11039667\r\n }\r\n\r\n export enum ChargeTypeEnum {\r\n EmployeeFee = 11039743,\r\n HouseFee = 11039744,\r\n EmployeeTip = 11039745,\r\n HouseTip = 11039746,\r\n PackageFee = 11039747,\r\n TicketCharge = 11039884,\r\n }\r\n\r\n export enum PayrollInputTypesEnum {\r\n Hourly = 11039715,\r\n Overtime = 11039716,\r\n DailyExtOvertime = 11039717,\r\n SevenDayOvertime = 11039718,\r\n SevenDayExtOvertime = 11039719,\r\n EightHourPlusOvertime = 11039720,\r\n RetailCommAmt = 11039721,\r\n OverrideRetailCommAmt = 11039722,\r\n ServiceCommAmt = 11039723,\r\n RequestedIncentiveAmt = 11039724,\r\n OverrideServiceCommAmt = 11039725,\r\n ServiceTicketChargeAmt = 11039726,\r\n ServiceToRetailBonusAmt = 11039727,\r\n TipAmount = 11039728,\r\n PackageComm = 11039729,\r\n PackageSpiffCommAmt = 11039730,\r\n MembershipEnrollmentComm = 11039731,\r\n MembershipReoccurringPaymentComm = 11039732,\r\n MembershipSpiffCommAmt = 11039733,\r\n SalaryAmt = 11039734,\r\n BoothRentalFee = 11039735,\r\n Holiday = 11039736,\r\n SickTime = 11039876,\r\n ServiceDeduction = 11039877\r\n }\r\n\r\n export enum PayrollAdpRequestStatusEnum {\r\n NotSent = 11039777,\r\n Sent = 11039778,\r\n FailedToSend = 11039779\r\n }\r\n\r\n export enum SmartTileRebookingType {\r\n Rebooked,\r\n NotRebooked\r\n }\r\n\r\n export enum WorkActivityCategoryEnum {\r\n None = 11039689,\r\n Holiday = 11039690,\r\n SickTime = 11039691,\r\n Vacation = 11045320\r\n }\r\n\r\n export enum ApplyServiceDeductionsEnum {\r\n BeforeCommissionIsCalculated = 11039847,\r\n AfterCommissionIsCalculated = 11039848\r\n }\r\n\r\n export enum ShowPromptForRebookEnum {\r\n UponCheckOut = 11044925,\r\n AfterSelectingPayNowInRegister = 11044926,\r\n Never = 11044927\r\n }\r\n\r\n export enum AdpIntegrationTypeEnum {\r\n Run = 11045093,\r\n WorkforceNow = 11045094\r\n }\r\n\r\n export enum SecurityEntityTypeEnum {\r\n PaymentType = 1,\r\n DocsAndForms = 2\r\n }\r\n\r\n export enum AccessLevelEnum {\r\n Admin = 11045325,\r\n Read_Only = 11045326,\r\n No_Access = 11045327,\r\n }\r\n\r\n export enum NotificationMessageEnum {\r\n SelfPayReceipt = 11045351,\r\n SelfPayReminderReceipt = 11045352,\r\n }\r\n\r\n export enum ReferralThankYouDateRangeEnum {\r\n Yesterday = 11045517,\r\n LastWeek = 11045518,\r\n LastMonth = 11045519,\r\n }\r\n\r\n export enum ElementTypeEnum {\r\n Text = 11045289,\r\n Button = 11045290,\r\n Image = 11045291,\r\n }\r\n\r\n export enum VerticalAlignmentEnum {\r\n Top = 11045210,\r\n Middle = 11045211,\r\n Bottom = 11045212,\r\n }\r\n\r\n export enum HorizontalAlignmentEnum {\r\n Left = 11045214,\r\n Center = 11045215,\r\n Right = 11045216,\r\n }\r\n\r\n export enum LiabilitiesMR035Enum {\r\n GiftCards = 11045563,\r\n Memberships = 11045564,\r\n Packages = 11045565,\r\n }\r\n\r\n export enum ShowThisPromotionUponLoginEnum {\r\n OnlyOnce = 11045287,\r\n EveryTimeClientLogsIn = 11045288,\r\n }\r\n\r\n export enum ClientIndicatorEnum {\r\n\t\tClientPoints = 11045432,\r\n\t\tClientMemberships = 11045433,\r\n\t\tClientAccountBalance = 11045434,\r\n\t\tClientPackages = 11045435,\r\n\t\tClientGiftCards = 11045436,\r\n\t\tClientCancelledOrNoShowAppt = 11045437,\r\n ClientTransworld = 11045487,\r\n\t\tClientPaymentPlans = 11045488,\r\n ClientMinor = 11045489,\r\n ClientRestricted = 11045490,\r\n ClientType = 11045491,\r\n ClientPaymentAccounts = 11045494,\r\n ClientAlerts = 11045495,\r\n ClientNotes = 11045503,\r\n\t}\r\n\r\n export enum ClientPaymentPlanStatusEnum {\r\n Active = 11045279,\r\n Cancelled = 11045280,\r\n Completed = 11045281,\r\n }\r\n\r\n export enum ReportDateRangeBasedOnEnum {\r\n DateServiceCreatedOn = 11045543,\r\n DateServiceBookedFor = 11045544,\r\n\t}\r\n\r\n export enum MassUpdateActionEnum\r\n {\r\n Increase = 1,\r\n Decrease = 2,\r\n Set = 3\r\n }\r\n\r\n export enum PriceCategoryEnum\r\n {\r\n Wholesale = 1,\r\n Retail = 2,\r\n Markup = 3\r\n }\r\n\r\n export enum SmartMoverHiddenValue {\r\n Ids = 1,\r\n EmptyArray = 2\r\n }\r\n\r\n export enum ImportStatusEnum {\r\n\t\tNew = 11045635,\r\n\t\tProcessing = 11045636,\r\n\t\tImported = 11045637,\r\n\t\tFailed = 11045638,\r\n\t\tPublished = 11045639,\r\n\t\tPublishedFailed = 11045640,\r\n\t\tInitiatePublishing = 11045642,\r\n\t\tVoid = 11045653,\r\n }\r\n\r\n\texport enum ExportStatusEnum {\r\n\t\tNew = 11045631,\r\n\t\tProcessing = 11045632,\r\n\t\tFailed = 11045633,\r\n\t\tFileGenerated = 11045634,\r\n Void = 11045652,\r\n }\r\n\r\n export enum SortReportEnum\r\n {\r\n Location = 11045588,\r\n Date = 11045589,\r\n ItemType = 11045590\r\n }\r\n\r\n export enum PhoneVerificationStatusEnum {\r\n Rejected = 11045659,\r\n Submitted = 11045660,\r\n PendingVerification = 11045661,\r\n Verified = 11045662,\r\n NotSubmitted = 11045663,\r\n }\r\n\r\n export enum PhoneVerificationWorkFlowEnum {\r\n NorthAmerica = 11045666,\r\n }\r\n\r\n export enum AppointmentSaveOriginEnum\r\n {\r\n Unspecified = 0,\r\n AppointmentEditor = 1\r\n }\r\n\r\n export enum PrimaryAppointmentStyleSelectionEnum\r\n {\r\n UseAppointmentCategory = 11045689,\r\n UseServiceCategory = 11045690\r\n }\r\n}\r\n","module Meevo.Model {\r\n\t \r\n\texport enum ApplicationEnum {\r\n\t\tClientApp = 6,\r\n\t\tClientIntakeForm = 5,\r\n\t\tDocsAndForms = 4,\r\n\t\tEgift = 3,\r\n\t\tMeevo = 1,\r\n\t\tOnlineBooking = 2,\r\n\t\tSelfPay = 7,\r\n\t}\r\n\t \r\n\texport enum NounClassEnum {\r\n\t\tActivityLog = 4,\r\n\t\tAdpIntegration = 142,\r\n\t\tAdpWfnIntegration = 1036,\r\n\t\tAdpWiselyIntegration = 1040,\r\n\t\tAdvancedMarketing = 125,\r\n\t\tAlerts = 5,\r\n\t\tAlertsManager = 6,\r\n\t\tAppointment = 3,\r\n\t\tAppointmentBook = 2,\r\n\t\tAppointmentCategory = 1,\r\n\t\tAveda = 139,\r\n\t\tBasicMarketing = 110,\r\n\t\tBlockSchedule = 8,\r\n\t\tBlockType = 7,\r\n\t\tBookingAgent = 15,\r\n\t\tBusinessInfo = 9,\r\n\t\tBusinessType = 10,\r\n\t\tCancellationReaon = 16,\r\n\t\tClient = 17,\r\n\t\tClientApp = 1030,\r\n\t\tClientFind = 119,\r\n\t\tClientGiftCard = 120,\r\n\t\tClientIntakeForm = 132,\r\n\t\tClientManualMerge = 1024,\r\n\t\tClientPointManager = 20,\r\n\t\tClientType = 19,\r\n\t\tClientVisitNote = 18,\r\n\t\tCompensationSettings = 11,\r\n\t\tConfirmationManager = 21,\r\n\t\tConvobar = 133,\r\n\t\tCulturalSettings = 134,\r\n\t\tCurrencyAndTax = 23,\r\n\t\tCustomBranding = 22,\r\n\t\tDataExport = 1038,\r\n\t\tDepartment = 108,\r\n\t\tDiscount = 24,\r\n\t\tDistributor = 25,\r\n\t\tDocsAndForms = 124,\r\n\t\tDrawer = 26,\r\n\t\tDrawerHistory = 27,\r\n\t\tDrawerManager = 28,\r\n\t\tEftControlPanel = 29,\r\n\t\teGift = 109,\r\n\t\tEmail = 30,\r\n\t\tEmployee = 31,\r\n\t\tEmployeeCategory = 32,\r\n\t\tEmployeeColumnOrder = 33,\r\n\t\tEmployeePromotion = 35,\r\n\t\tEmployeeServiceTimesPricing = 140,\r\n\t\tEmployeeSupplyUsage = 36,\r\n\t\tEmployeeTemplate = 34,\r\n\t\tEquipment = 37,\r\n\t\tEventsSchedule = 12,\r\n\t\tFameAdvantage = 1003,\r\n\t\tFeatureTab = 137,\r\n\t\tFieldLabels = 118,\r\n\t\tFiveStarRatings = 141,\r\n\t\tFloorLocation = 38,\r\n\t\tGiftCardBalance = 39,\r\n\t\tGiftCardType = 40,\r\n\t\tGoalsDashboard = 116,\r\n\t\tHolidays = 13,\r\n\t\tHome = 41,\r\n\t\tImageGalleryCategory = 42,\r\n\t\tIntegration = 47,\r\n\t\tIntelliMerge = 46,\r\n\t\tInventory = 43,\r\n\t\tInventoryReturn = 44,\r\n\t\tInventoryTransfer = 1016,\r\n\t\tIpRestriction = 45,\r\n\t\tKeyboardShortcut = 131,\r\n\t\tLocationGroup = 48,\r\n\t\tLocationMaintenance = 107,\r\n\t\tLogin = 49,\r\n\t\tManufacturer = 58,\r\n\t\tMarketPricing = 56,\r\n\t\tMarkItemsOnSale = 57,\r\n\t\tMeevoBI = 1014,\r\n\t\tMeevoMenu = 136,\r\n\t\tMeevoMessenger = 1017,\r\n\t\tMeevoStore = 115,\r\n\t\tMeevoTheming = 1043,\r\n\t\tMemberBenefitTemplate = 53,\r\n\t\tMembership = 50,\r\n\t\tMembershipBill = 51,\r\n\t\tMembershipCancellationReason = 52,\r\n\t\tMembershipManager = 54,\r\n\t\tMembershipType = 55,\r\n\t\tMerchantAccount = 59,\r\n\t\tMiscellaneousSupply = 60,\r\n\t\tNotificationBilling = 114,\r\n\t\tNotificationSetting = 14,\r\n\t\tNotificationTemplate = 62,\r\n\t\tNotSpecified = 61,\r\n\t\tOnlineBookingSetting = 63,\r\n\t\tPackage = 64,\r\n\t\tPackageLookup = 65,\r\n\t\tPageSent = 135,\r\n\t\tPaging = 121,\r\n\t\tPassword = 66,\r\n\t\tPayInOutReason = 67,\r\n\t\tPaymentPlanManager = 1027,\r\n\t\tPaymentRequest = 1041,\r\n\t\tPaymentType = 68,\r\n\t\tPayroll = 69,\r\n\t\tPointPromotionCampaign = 113,\r\n\t\tPosHardware = 70,\r\n\t\tPriceManagement = 71,\r\n\t\tProduct = 72,\r\n\t\tProductBulkUpdate = 157,\r\n\t\tProductBundle = 73,\r\n\t\tProductCategory = 74,\r\n\t\tProfileSetting = 75,\r\n\t\tPurchaseOrder = 76,\r\n\t\tQuickBooks = 111,\r\n\t\tQuickBooksDesktop = 1011,\r\n\t\tRatingsControlPanel = 126,\r\n\t\tReferralType = 77,\r\n\t\tRegister = 78,\r\n\t\tReport = 79,\r\n\t\tReportingHierarchy = 80,\r\n\t\tReportScheduler = 1531,\r\n\t\tResource = 81,\r\n\t\tResourceCategory = 82,\r\n\t\tResourceColumnOrder = 83,\r\n\t\tRoyaltyExport = 1010,\r\n\t\tSaleLineRating = 130,\r\n\t\tSalesRanking = 123,\r\n\t\tSalonClouds = 112,\r\n\t\tSchedule = 84,\r\n\t\tSecurity = 85,\r\n\t\tSecurityElevation = 86,\r\n\t\tSecurityRoleManager = 87,\r\n\t\tSelfCheckInKiosk = 138,\r\n\t\tService = 89,\r\n\t\tServiceAddOnMapping = 90,\r\n\t\tServiceCategory = 88,\r\n\t\tServiceCharges = 1001,\r\n\t\tServicesWizard = 128,\r\n\t\tShippingFee = 1044,\r\n\t\tSmartCenterDesigner = 91,\r\n\t\tSMS = 92,\r\n\t\tStandingDefinition = 93,\r\n\t\tStockLevel = 94,\r\n\t\tStudentTeacher = 129,\r\n\t\tSupplyUsageReason = 1039,\r\n\t\tSwapGroup = 95,\r\n\t\tSystemToolbox = 1015,\r\n\t\tTechSphere = 127,\r\n\t\tTextel = 117,\r\n\t\tTextelMarketing = 1006,\r\n\t\tTimeClock = 96,\r\n\t\tTransaction = 97,\r\n\t\tTransactionEditor = 98,\r\n\t\tTransworld = 122,\r\n\t\tUserDefinedField = 100,\r\n\t\tVisitNoteType = 99,\r\n\t\tWaitList = 101,\r\n\t\tWalkInManager = 102,\r\n\t\tWalkInManagerDisplay = 103,\r\n\t\tWalkInManagerKiosk = 104,\r\n\t\tWalkInManagerSetting = 105,\r\n\t\tWorkActivity = 106,\r\n\t\tYEXT = 1018,\r\n\t\tYieldManagementProgram = 1013,\r\n\t\tYieldManagementStrategy = 1012,\r\n\t}\r\n\t \r\n\texport enum NounEnum {\r\n\t\tAccountSync = 391,\r\n\t\tActivityLog = 11,\r\n\t\tActivityLogPage = 12,\r\n\t\tAdpIntegrationCommission = 1516,\r\n\t\tAdpIntegrationEmployees = 1515,\r\n\t\tAdpIntegrationMain = 1514,\r\n\t\tAdpIntegrationWorkActivies = 1517,\r\n\t\tAdpWfnIntegrtionCommission = 1632,\r\n\t\tAdpWfnIntegrtionEmployee = 1631,\r\n\t\tAdpWfnIntegrtionMain = 1630,\r\n\t\tAdpWiselyIntegrtionCardHolder = 1641,\r\n\t\tAdpWiselyIntegrtionMain = 1640,\r\n\t\tAdvancedMarketing = 428,\r\n\t\tAdvancedMarketingPage = 427,\r\n\t\tAgentMode = 1560,\r\n\t\tAlertLog = 13,\r\n\t\tAlertLogsPage = 14,\r\n\t\tAlertManager = 15,\r\n\t\tAlertManagerPage = 16,\r\n\t\tAppointment = 410,\r\n\t\tAppointmentBook = 4,\r\n\t\tAppointmentBookPage = 5,\r\n\t\tAppointmentBookSettings = 490,\r\n\t\tAppointmentCategory = 1,\r\n\t\tAppointmentCategoryMain = 3,\r\n\t\tAppointmentCategorySearchPage = 2,\r\n\t\tAppointmentHeader = 6,\r\n\t\tAppointmentService = 7,\r\n\t\tAppointmentServiceAddOn = 8,\r\n\t\tAppointmentServiceSchedule = 9,\r\n\t\tAveda = 1513,\r\n\t\tBasicMarketing = 393,\r\n\t\tBasicMarketingPage = 394,\r\n\t\tBlock = 20,\r\n\t\tBlockSchedule = 10,\r\n\t\tBlockScheduleMain = 22,\r\n\t\tBlockScheduleSearchPage = 21,\r\n\t\tBlockType = 17,\r\n\t\tBlockTypeMain = 19,\r\n\t\tBlockTypeSearchPage = 18,\r\n\t\tBookingAgent = 43,\r\n\t\tBookingAgentPage = 44,\r\n\t\tBulkEmployeesBookOnlineConfigModal = 1557,\r\n\t\tBulkEmployeesBookOnlineIntelliBookingConfigModal = 1556,\r\n\t\tBulkEmployeesIntelliBookingConfigModal = 1558,\r\n\t\tBulkServiceConfigModal = 1555,\r\n\t\tBusinessInfo = 23,\r\n\t\tBusinessInfoCurrencyAndTaxMain = 35,\r\n\t\tBusinessInfoEventSearchPage = 25,\r\n\t\tBusinessInfoHours = 380,\r\n\t\tBusinessInfoImageGalleries = 375,\r\n\t\tBusinessInfoImageGallery = 28,\r\n\t\tBusinessInfoMain = 26,\r\n\t\tBusinessInfoPreferences = 27,\r\n\t\tBusinessInfoServiceBookingPriority = 400,\r\n\t\tBusinessInfoServiceCategoryDisplayOrder = 1623,\r\n\t\tBusinessInfoSettings = 365,\r\n\t\tBusinessType = 29,\r\n\t\tBusinessTypeMain = 31,\r\n\t\tBusinessTypeSearchPage = 30,\r\n\t\tCancellationReaonSearchPage = 46,\r\n\t\tCancellationReason = 45,\r\n\t\tCancellationReasonMain = 47,\r\n\t\tClient = 48,\r\n\t\tClientAccountHistory = 409,\r\n\t\tClientApp = 1700,\r\n\t\tClientAppBranding = 1709,\r\n\t\tClientAppBrandingTab = 1703,\r\n\t\tClientAppConversation = 1627,\r\n\t\tClientAppointmentHistory = 408,\r\n\t\tClientAppPackageMenu = 1711,\r\n\t\tClientAppPackageMenuTab = 1706,\r\n\t\tClientAppPage = 1701,\r\n\t\tClientAppPromotion = 1702,\r\n\t\tClientAppPromotionTab = 1705,\r\n\t\tClientAppServiceMenu = 1712,\r\n\t\tClientAppServiceMenuTab = 1707,\r\n\t\tClientAppSettings = 1710,\r\n\t\tClientAppSettingsTab = 1704,\r\n\t\tClientAppViewBio = 1713,\r\n\t\tClientAppViewBioTab = 1708,\r\n\t\tClientBookingPreference = 1507,\r\n\t\tClientBookingPreferences = 407,\r\n\t\tClientBookingPreferencesOverrides = 1508,\r\n\t\tClientCreditCard = 59,\r\n\t\tClientDiscountHistory = 345,\r\n\t\tClientDocsAndForms = 524,\r\n\t\tClientFamilies = 366,\r\n\t\tClientFamily = 55,\r\n\t\tClientFindAlertsTab = 418,\r\n\t\tClientFindAppointmentHistoryTab = 416,\r\n\t\tClientFindAppointmentToday = 1523,\r\n\t\tClientFindIncludeCheckOut = 1522,\r\n\t\tClientFindSearch = 1521,\r\n\t\tClientFindSendTextMsgTab = 1637,\r\n\t\tClientFindSendToClientProfile = 415,\r\n\t\tClientFindSendToTextel = 1638,\r\n\t\tClientFindTransactionHistoryTab = 417,\r\n\t\tClientGiftCardHistory = 57,\r\n\t\tClientHistory = 54,\r\n\t\tClientImageGalleries = 367,\r\n\t\tClientImageGallery = 61,\r\n\t\tClientImageUpdate = 344,\r\n\t\tClientIntakeForm = 484,\r\n\t\tClientIntakeFormBuilderTab = 488,\r\n\t\tClientIntakeFormMain = 486,\r\n\t\tClientIntakeFormPage = 485,\r\n\t\tClientIntakeFormSecurity = 487,\r\n\t\tClientMain = 50,\r\n\t\tClientManualMerge = 1600,\r\n\t\tClientMembership = 60,\r\n\t\tClientNote = 52,\r\n\t\tClientNotes = 51,\r\n\t\tClientNotification = 1661,\r\n\t\tClientNotificationsTab = 1660,\r\n\t\tClientPackage = 540,\r\n\t\tClientPackageHistory = 56,\r\n\t\tClientPointManager = 66,\r\n\t\tClientPointManagerHistory = 69,\r\n\t\tClientPointManagerMain = 68,\r\n\t\tClientPointManagerSearchPage = 67,\r\n\t\tClientPointSettings = 494,\r\n\t\tClientSearchPage = 49,\r\n\t\tClientsSettings = 491,\r\n\t\tClientTransactionHistory = 58,\r\n\t\tClientType = 63,\r\n\t\tClientTypeMain = 65,\r\n\t\tClientTypeSearchPage = 64,\r\n\t\tClientUDF = 525,\r\n\t\tClientVisitNote = 62,\r\n\t\tClientVisitNotes = 53,\r\n\t\tClockInOutRulesSettings = 1620,\r\n\t\tCompensationSettings = 499,\r\n\t\tConfirmationManager = 70,\r\n\t\tConfirmationManagerPage = 71,\r\n\t\tConvobar = 489,\r\n\t\tCreditCard = 1625,\r\n\t\tCulturalSettings = 513,\r\n\t\tCulturalSettingsMain = 514,\r\n\t\tCurrencyAndTax = 75,\r\n\t\tCurrencyAndTaxMain = 76,\r\n\t\tCustomBranding = 72,\r\n\t\tCustomBrandingCoverDesign = 73,\r\n\t\tCustomBrandingPageDesign = 74,\r\n\t\tCustomBrandingSettings = 502,\r\n\t\tDataExport = 1636,\r\n\t\tDepartment = 385,\r\n\t\tDepartmentMain = 387,\r\n\t\tDepartmentSearchPage = 386,\r\n\t\tDiscount = 77,\r\n\t\tDiscountMain = 79,\r\n\t\tDiscountSearchPage = 78,\r\n\t\tDistributor = 80,\r\n\t\tDistributorMain = 82,\r\n\t\tDistributorNote = 599,\r\n\t\tDistributorSearchPage = 81,\r\n\t\tDocsAndForms = 423,\r\n\t\tDocsAndFormsFormBuilderTab = 426,\r\n\t\tDocsAndFormsMain = 425,\r\n\t\tDocsAndFormsSearchPage = 424,\r\n\t\tDocsAndFormsState = 1662,\r\n\t\tDrawer = 83,\r\n\t\tDrawerHistory = 88,\r\n\t\tDrawerHistoryPage = 89,\r\n\t\tDrawerMain = 85,\r\n\t\tDrawerManager = 90,\r\n\t\tDrawerManagerPage = 91,\r\n\t\tDrawerPosStations = 87,\r\n\t\tDrawerReceipts = 86,\r\n\t\tDrawerSearchPage = 84,\r\n\t\tEftControlPanel = 92,\r\n\t\tEftControlPanelPage = 93,\r\n\t\tEgift = 392,\r\n\t\tEgiftMailPickupTemplates = 529,\r\n\t\tEgiftMain = 526,\r\n\t\tEgiftNotifications = 527,\r\n\t\tEgiftPackages = 530,\r\n\t\tEgiftPromoOptions = 532,\r\n\t\tEgiftPromoOptionsState = 1622,\r\n\t\tEgiftServices = 531,\r\n\t\tEgiftSettings = 509,\r\n\t\tEgiftTemplates = 528,\r\n\t\tEgiftTransactions = 533,\r\n\t\tEmail = 94,\r\n\t\tEmployee = 95,\r\n\t\tEmployeeActual = 377,\r\n\t\tEmployeeActualsPage = 378,\r\n\t\tEmployeeBookingRestriction = 361,\r\n\t\tEmployeeBookingRestrictions = 104,\r\n\t\tEmployeeCategory = 109,\r\n\t\tEmployeeCategoryMain = 111,\r\n\t\tEmployeeCategorySearchPage = 110,\r\n\t\tEmployeeColumnOrder = 112,\r\n\t\tEmployeeCommissionOverrides = 105,\r\n\t\tEmployeeCompensation = 102,\r\n\t\tEmployeeCompensations = 359,\r\n\t\tEmployeeDeduction = 360,\r\n\t\tEmployeeDeductions = 103,\r\n\t\tEmployeeImageGalleries = 363,\r\n\t\tEmployeeImageGallery = 106,\r\n\t\tEmployeeLicenseInsurance = 101,\r\n\t\tEmployeeLicenseInsurances = 358,\r\n\t\tEmployeeMain = 97,\r\n\t\tEmployeeNote = 108,\r\n\t\tEmployeeNotes = 107,\r\n\t\tEmployeePromotion = 120,\r\n\t\tEmployeePromotionCommissionOverride = 373,\r\n\t\tEmployeePromotionCommissions = 126,\r\n\t\tEmployeePromotionCompensation = 125,\r\n\t\tEmployeePromotionCompensations = 374,\r\n\t\tEmployeePromotionDeduction = 520,\r\n\t\tEmployeePromotionDeductions = 519,\r\n\t\tEmployeePromotionMain = 122,\r\n\t\tEmployeePromotionSearchPage = 121,\r\n\t\tEmployeePromotionSecurity = 123,\r\n\t\tEmployeePromotionServiceOverride = 372,\r\n\t\tEmployeePromotionServices = 124,\r\n\t\tEmployeeSearchPage = 96,\r\n\t\tEmployeeSecurity = 98,\r\n\t\tEmployeeServiceCommissionOverride = 362,\r\n\t\tEmployeeServices = 100,\r\n\t\tEmployeeServicesOverride = 357,\r\n\t\tEmployeeServiceTimesPricing = 1546,\r\n\t\tEmployeeServiceTimesPricingPage = 1547,\r\n\t\tEmployeeShared = 99,\r\n\t\tEmployeeSupplyUsage = 127,\r\n\t\tEmployeeSupplyUsagePage = 128,\r\n\t\tEmployeeTemplate = 113,\r\n\t\tEmployeeTemplateCommissionOverrides = 119,\r\n\t\tEmployeeTemplateCompensation = 118,\r\n\t\tEmployeeTemplateDeduction = 518,\r\n\t\tEmployeeTemplateDeductions = 517,\r\n\t\tEmployeeTemplateMain = 115,\r\n\t\tEmployeeTemplateSearchPage = 114,\r\n\t\tEmployeeTemplateSecurity = 116,\r\n\t\tEmployeeTemplateServices = 117,\r\n\t\tEmployeeUDF = 537,\r\n\t\tEmployeeUserAlertNotification = 429,\r\n\t\tEmployeeUserSecurity = 356,\r\n\t\tEquipment = 129,\r\n\t\tEquipmentMain = 131,\r\n\t\tEquipmentSearchPage = 130,\r\n\t\tEventsMain = 38,\r\n\t\tEventsSchedule = 36,\r\n\t\tEventsSchedulePage = 37,\r\n\t\tFameAdvantageSettings = 1541,\r\n\t\tFameAdvantageSettingsPage = 1542,\r\n\t\tFameAdvantageSettingsTab = 1543,\r\n\t\tFameAdvantageStudentImportTab = 1544,\r\n\t\tFameAdvantageTimeclockExportTab = 1545,\r\n\t\tFeatureTab = 523,\r\n\t\tFieldLabels = 412,\r\n\t\tFieldLabelsMain = 414,\r\n\t\tFieldLabelsPage = 413,\r\n\t\tFieldLabelsSettings = 510,\r\n\t\tFiveStarRatingsSetting = 1529,\r\n\t\tFiveStarRatingsSettingMainSettings = 1530,\r\n\t\tFloorLocation = 132,\r\n\t\tFloorLocationMain = 134,\r\n\t\tFloorLocationSearchPage = 133,\r\n\t\tGeneralKeyboardShortcut = 482,\r\n\t\tGeneralSettings = 1601,\r\n\t\tGiftCard = 1628,\r\n\t\tGiftCardBalance = 135,\r\n\t\tGiftCardBalancePage = 136,\r\n\t\tGiftCardBulk = 1652,\r\n\t\tGiftCardNote = 1559,\r\n\t\tGiftCardType = 137,\r\n\t\tGiftCardTypeMain = 139,\r\n\t\tGiftCardTypeSearchPage = 138,\r\n\t\tGoalsDashboard = 404,\r\n\t\tGoalsDashboardPage = 405,\r\n\t\tHelpDeskTicketSettings = 497,\r\n\t\tHelpSectionSettings = 1570,\r\n\t\tHolidays = 39,\r\n\t\tHolidaysMain = 40,\r\n\t\tHome = 140,\r\n\t\tImageGalleryCategory = 141,\r\n\t\tImageGalleryCategoryMain = 143,\r\n\t\tImageGalleryCategorySearchPage = 142,\r\n\t\tIntegration = 154,\r\n\t\tIntegrationsErrorLog = 157,\r\n\t\tIntegrationSettings = 504,\r\n\t\tIntegrationsMain = 156,\r\n\t\tIntegrationsSearchPage = 155,\r\n\t\tIntelliMerge = 152,\r\n\t\tIntelliMergePage = 153,\r\n\t\tInventoryCount = 144,\r\n\t\tInventoryCountPage = 146,\r\n\t\tInventoryCountSearchPage = 145,\r\n\t\tInventoryReturn = 147,\r\n\t\tInventoryReturnMain = 149,\r\n\t\tInventoryReturnSearchPage = 148,\r\n\t\tInventoryTransfer = 1591,\r\n\t\tInventoryTransferNote = 1593,\r\n\t\tInventoryTransferNotePage = 1592,\r\n\t\tInventoryTransferPage = 1595,\r\n\t\tInventoryTransferSearchPage = 1594,\r\n\t\tIpRestriction = 150,\r\n\t\tIpRestrictionMain = 151,\r\n\t\tLicenseInsuranceSettings = 492,\r\n\t\tLocalSEOProfileSettings = 1022,\r\n\t\tLocationGroup = 158,\r\n\t\tLocationGroupMain = 160,\r\n\t\tLocationGroupSearchPage = 159,\r\n\t\tLocationMaintenance = 347,\r\n\t\tLocationMaintenanceMain = 349,\r\n\t\tLocationMaintenanceSearchPage = 348,\r\n\t\tLogin = 161,\r\n\t\tManagePastHolidays = 1624,\r\n\t\tManufacturer = 196,\r\n\t\tManufacturerMain = 198,\r\n\t\tManufacturerNote = 548,\r\n\t\tManufacturerSearchPage = 197,\r\n\t\tMarketPricing = 179,\r\n\t\tMarketPricingDiscounts = 182,\r\n\t\tMarketPricingGiftCardtypes = 184,\r\n\t\tMarketPricingHistory = 190,\r\n\t\tMarketPricingLocations = 189,\r\n\t\tMarketPricingMain = 181,\r\n\t\tMarketPricingMemberBenefitTemplates = 186,\r\n\t\tMarketPricingMemberships = 185,\r\n\t\tMarketPricingPackages = 183,\r\n\t\tMarketPricingProducts = 187,\r\n\t\tMarketPricingSearchPage = 180,\r\n\t\tMarketPricingServices = 188,\r\n\t\tMarkItemsOnSale = 191,\r\n\t\tMarkItemsOnSaleMain = 193,\r\n\t\tMarkItemsOnSaleProducts = 195,\r\n\t\tMarkItemsOnSaleSearchPage = 192,\r\n\t\tMarkItemsOnSaleServices = 194,\r\n\t\tMeevoBI = 1581,\r\n\t\tMeevoBIMain = 1583,\r\n\t\tMeevoBIPage = 1582,\r\n\t\tMeevoMenu = 522,\r\n\t\tMeevoMessengerArrivals = 1597,\r\n\t\tMeevoMessengerArrivalsConversation = 1599,\r\n\t\tMeevoMessengerArrivalsSettings = 1598,\r\n\t\tMeevoStore = 402,\r\n\t\tMeevoStorePage = 403,\r\n\t\tMeevoTheming = 1645,\r\n\t\tMeevoThemingDataMaint = 1648,\r\n\t\tMeevoThemingSmartCenter = 1647,\r\n\t\tMeevoThemingTaskbar = 1646,\r\n\t\tMemberBenefitTemplate = 171,\r\n\t\tMemberBenefitTemplateMain = 173,\r\n\t\tMemberBenefitTemplateSearchPage = 172,\r\n\t\tMembership = 162,\r\n\t\tMembershipBill = 167,\r\n\t\tMembershipCancellationReason = 168,\r\n\t\tMembershipCancellationReasonMain = 170,\r\n\t\tMembershipCancellationReasonSearchPage = 169,\r\n\t\tMembershipCompensation = 536,\r\n\t\tMembershipCompensationTab = 166,\r\n\t\tMembershipDocsAndForms = 165,\r\n\t\tMembershipMain = 164,\r\n\t\tMembershipManager = 174,\r\n\t\tMembershipManagerBenefits = 354,\r\n\t\tMembershipManagerCC = 351,\r\n\t\tMembershipManagerHistory = 355,\r\n\t\tMembershipManagerMain = 350,\r\n\t\tMembershipManagerPage = 175,\r\n\t\tMembershipManagerPayments = 352,\r\n\t\tMembershipManagerTransfers = 353,\r\n\t\tMembershipSearchPage = 163,\r\n\t\tMembershipSettings = 498,\r\n\t\tMembershipType = 176,\r\n\t\tMembershipTypeMain = 178,\r\n\t\tMembershipTypeSearchPage = 177,\r\n\t\tMenuKeyboardShortcut = 483,\r\n\t\tMerchantAccount = 199,\r\n\t\tMerchantAccountAdminSettingsTab = 2009,\r\n\t\tMerchantAccountCareCreditManagePromotions = 1621,\r\n\t\tMerchantAccountDevices = 202,\r\n\t\tMerchantAccountMain = 201,\r\n\t\tMerchantAccountSearchPage = 200,\r\n\t\tMerchantTerminal = 368,\r\n\t\tMiscellaneousSupply = 203,\r\n\t\tMiscellaneousSupplyMain = 205,\r\n\t\tMiscellaneousSupplySearchPage = 204,\r\n\t\tNotificationBilling = 399,\r\n\t\tNotificationSetting = 41,\r\n\t\tNotificationSettingMain = 42,\r\n\t\tNotificationSettings = 501,\r\n\t\tNotificationTemplate = 207,\r\n\t\tNotificationTemplateMain = 209,\r\n\t\tNotificationTemplateSearchPage = 208,\r\n\t\tNotSpecified = 206,\r\n\t\tOnlineBookingClient = 376,\r\n\t\tOnlineBookingSetting = 210,\r\n\t\tOnlineBookingSettingAnnouncements = 1654,\r\n\t\tOnlineBookingSettingEmployees = 431,\r\n\t\tOnlineBookingSettingMain = 211,\r\n\t\tOnlineBookingSettings = 505,\r\n\t\tOnlineBookingSettingServices = 432,\r\n\t\tOnlineBookingSiteSettings = 506,\r\n\t\tOnlineListingsManagement = 1021,\r\n\t\tOnlinePresenceAnalytics = 1019,\r\n\t\tOnlinePresenceNotifications = 1651,\r\n\t\tOnlinePresenceSettings = 1025,\r\n\t\tPackage = 212,\r\n\t\tPackageCompensation = 369,\r\n\t\tPackageCompensationTab = 370,\r\n\t\tPackageLookup = 215,\r\n\t\tPackageLookupPage = 216,\r\n\t\tPackageMain = 214,\r\n\t\tPackageSearchPage = 213,\r\n\t\tPageSent = 521,\r\n\t\tPaging = 420,\r\n\t\tPassword = 217,\r\n\t\tPayIn = 219,\r\n\t\tPayInOutReason = 218,\r\n\t\tPayInOutReasonMain = 222,\r\n\t\tPayInOutReasonSearchPage = 221,\r\n\t\tPaymentConsole = 1643,\r\n\t\tPaymentPlan = 1618,\r\n\t\tPaymentPlanManagerCC = 1615,\r\n\t\tPaymentPlanManagerHistory = 1617,\r\n\t\tPaymentPlanManagerMain = 1613,\r\n\t\tPaymentPlanManagerNotes = 1616,\r\n\t\tPaymentPlanManagerPayments = 1614,\r\n\t\tPaymentPlanManagerSearchPage = 1612,\r\n\t\tPaymentPlanPayment = 1619,\r\n\t\tPaymentRequest = 1649,\r\n\t\tPaymentRequestVoid = 1650,\r\n\t\tPaymentType = 223,\r\n\t\tPaymentTypeMain = 225,\r\n\t\tPaymentTypeSearchPage = 224,\r\n\t\tPayOut = 220,\r\n\t\tPayroll = 226,\r\n\t\tPayrollPage = 515,\r\n\t\tPayrollSettings = 32,\r\n\t\tPayrollSettingsClockInOutRules = 1540,\r\n\t\tPayrollSettingsCommissionDetail = 516,\r\n\t\tPayrollSettingsMain = 33,\r\n\t\tPayrollSettingsSplitCommissions = 34,\r\n\t\tPayrollSettingsSplitCommissionSetting = 346,\r\n\t\tPeriodSettings = 500,\r\n\t\tPhoneNumber = 2007,\r\n\t\tPointPromotionCampaign = 395,\r\n\t\tPointPromotionCampaignMain = 397,\r\n\t\tPointPromotionCampaignPromotions = 398,\r\n\t\tPointPromotionCampaignSearchPage = 396,\r\n\t\tPosHardware = 227,\r\n\t\tPosHardwarePosStation = 228,\r\n\t\tPosHardwareReceiptPrinter = 229,\r\n\t\tPriceManagement = 230,\r\n\t\tPriceManagementDiscounts = 232,\r\n\t\tPriceManagementGiftCardTypes = 234,\r\n\t\tPriceManagementHistory = 240,\r\n\t\tPriceManagementLocations = 239,\r\n\t\tPriceManagementMain = 231,\r\n\t\tPriceManagementMemberBenefitTemplates = 236,\r\n\t\tPriceManagementMemberships = 235,\r\n\t\tPriceManagementPackages = 233,\r\n\t\tPriceManagementProducts = 406,\r\n\t\tPriceManagementService = 237,\r\n\t\tPriceManagementServices = 238,\r\n\t\tProduct = 241,\r\n\t\tProductBulkUpdate = 577,\r\n\t\tProductBulkUpdatePage = 579,\r\n\t\tProductBulkUpdateSearchPage = 578,\r\n\t\tProductBundle = 244,\r\n\t\tProductBundleAssembleDisassemble = 247,\r\n\t\tProductBundleMain = 246,\r\n\t\tProductBundleSearchPage = 245,\r\n\t\tProductCategory = 248,\r\n\t\tProductCategoryMain = 250,\r\n\t\tProductCategorySearchPage = 249,\r\n\t\tProductCompensation = 534,\r\n\t\tProductCompensationTab = 388,\r\n\t\tProductMain = 243,\r\n\t\tProductSearchPage = 242,\r\n\t\tProductUDF = 538,\r\n\t\tProductVariantTypeAhead = 547,\r\n\t\tProfileSetting = 251,\r\n\t\tProfileSettingMain = 252,\r\n\t\tProfileSettingServices = 253,\r\n\t\tPurchaseOrder = 254,\r\n\t\tPurchaseOrderNote = 256,\r\n\t\tPurchaseOrderNotes = 255,\r\n\t\tPurchaseOrdersPage = 258,\r\n\t\tPurchaseOrdersSearchPage = 257,\r\n\t\tQuickBooksDesktop = 1602,\r\n\t\tQuickBooksDesktopMain = 1604,\r\n\t\tQuickBooksDesktopPage = 1603,\r\n\t\tQuickBooksOnline = 1605,\r\n\t\tQuickBooksOnlineMain = 1607,\r\n\t\tQuickBooksOnlinePage = 1606,\r\n\t\tRatingsControlPanel = 430,\r\n\t\tReceivedPurchaseOrder = 433,\r\n\t\tReferralType = 259,\r\n\t\tReferralTypeMain = 261,\r\n\t\tReferralTypeSearchPage = 260,\r\n\t\tRegister = 262,\r\n\t\tRegisterClient = 265,\r\n\t\tRegisterPage = 263,\r\n\t\tRegisterSettings = 495,\r\n\t\tReport = 266,\r\n\t\tReportingHierarchy = 268,\r\n\t\tReportingHierarchyDesignHierarchy = 271,\r\n\t\tReportingHierarchyMain = 270,\r\n\t\tReportingHierarchySearchPage = 269,\r\n\t\tReportingHierarchySetLocations = 272,\r\n\t\tReportPage = 267,\r\n\t\tReportScheduler = 1532,\r\n\t\tReportSchedulerMain = 1534,\r\n\t\tReportSchedulerSearchPage = 1533,\r\n\t\tReputationManagement = 1020,\r\n\t\tResource = 273,\r\n\t\tResourceCategory = 276,\r\n\t\tResourceCategoryMain = 278,\r\n\t\tResourceCategorySearchPage = 277,\r\n\t\tResourceColumnOrder = 279,\r\n\t\tResourceMain = 275,\r\n\t\tResourceSearchPage = 274,\r\n\t\tRoyaltyExport = 1568,\r\n\t\tRoyaltyExportExclusions = 1569,\r\n\t\tRoyaltyExportMain = 1567,\r\n\t\tSale = 401,\r\n\t\tSaleHold = 264,\r\n\t\tSaleLineRating = 480,\r\n\t\tSalesRanking = 422,\r\n\t\tSchedule = 280,\r\n\t\tSchedulesPage = 281,\r\n\t\tSecurityElevation = 382,\r\n\t\tSecurityElevationModal = 285,\r\n\t\tSecurityRole = 282,\r\n\t\tSecurityRoleMain = 284,\r\n\t\tSecurityRoleManager = 286,\r\n\t\tSecurityRoleSearchPage = 283,\r\n\t\tSecurityRolesManagerPage = 287,\r\n\t\tSecuritySettings = 507,\r\n\t\tSelfCheckInKiosk = 543,\r\n\t\tSelfCheckInKioskAppointmentService = 546,\r\n\t\tSelfCheckInKioskAppointmentServiceAddOn = 545,\r\n\t\tSelfCheckInKioskSearchClientScreen = 544,\r\n\t\tSelfCheckinSetting = 541,\r\n\t\tSelfCheckinSettingMainSettings = 542,\r\n\t\tSelfPay = 1572,\r\n\t\tService = 292,\r\n\t\tServiceAddOnMapping = 301,\r\n\t\tServiceAddOnMappingMain = 303,\r\n\t\tServiceAddOnMappingSearchPage = 302,\r\n\t\tServiceCategory = 288,\r\n\t\tServiceCategoryImageGallery = 371,\r\n\t\tServiceCategoryImageGalleryTab = 291,\r\n\t\tServiceCategoryMain = 290,\r\n\t\tServiceCategorySearchPage = 289,\r\n\t\tServiceCharges = 1550,\r\n\t\tServiceChargesMain = 1552,\r\n\t\tServiceChargesSearchPage = 1551,\r\n\t\tServiceCompensation = 535,\r\n\t\tServiceCompensationTab = 299,\r\n\t\tServiceEmployees = 1553,\r\n\t\tServiceEmployeesOverride = 1554,\r\n\t\tServiceMain = 294,\r\n\t\tServiceNote = 300,\r\n\t\tServiceNotes = 296,\r\n\t\tServiceNotifications = 295,\r\n\t\tServiceResources = 297,\r\n\t\tServiceSearchPage = 293,\r\n\t\tServiceSplitMerge = 298,\r\n\t\tServiceSplitServices = 384,\r\n\t\tServicesWizard = 435,\r\n\t\tServiceUDF = 539,\r\n\t\tSettingsManager = 24,\r\n\t\tShippingFee = 1655,\r\n\t\tShippingFeeMain = 1656,\r\n\t\tShippingFeePage = 1657,\r\n\t\tSmartCenterDesigner = 304,\r\n\t\tSmartCenterDesignerMain = 306,\r\n\t\tSmartCenterDesignerSearchPage = 305,\r\n\t\tSmartCenterSettings = 496,\r\n\t\tSMS = 307,\r\n\t\tSplitCommission = 381,\r\n\t\tStandingDefinition = 308,\r\n\t\tStandingDefinitionMain = 310,\r\n\t\tStandingDefinitionManageAppointments = 383,\r\n\t\tStandingDefinitionSearchPage = 309,\r\n\t\tStockLevel = 311,\r\n\t\tStockLevelPage = 312,\r\n\t\tStudent = 436,\r\n\t\tStudentBookingRestriction = 451,\r\n\t\tStudentBookingRestrictions = 450,\r\n\t\tStudentCommissionOverrides = 452,\r\n\t\tStudentCompensation = 446,\r\n\t\tStudentCompensations = 447,\r\n\t\tStudentDeduction = 449,\r\n\t\tStudentDeductions = 448,\r\n\t\tStudentImageGalleries = 455,\r\n\t\tStudentImageGallery = 454,\r\n\t\tStudentLicenseInsurance = 444,\r\n\t\tStudentLicenseInsurances = 445,\r\n\t\tStudentMain = 440,\r\n\t\tStudentNote = 457,\r\n\t\tStudentNotes = 456,\r\n\t\tStudentSearchPage = 439,\r\n\t\tStudentSecurity = 441,\r\n\t\tStudentServiceCommissionOverride = 453,\r\n\t\tStudentServices = 438,\r\n\t\tStudentServicesOverride = 443,\r\n\t\tStudentShared = 437,\r\n\t\tStudentUserSecurity = 442,\r\n\t\tSwapGroup = 313,\r\n\t\tSwapGroupMain = 315,\r\n\t\tSwapGroupSearchPage = 314,\r\n\t\tSyncOnlineBusinessInformation = 1608,\r\n\t\tSystemToolbox = 1587,\r\n\t\tSystemToolboxMain = 1588,\r\n\t\tSystemToolboxTokenMigration = 2004,\r\n\t\tSystemToolboxTokenMigrationActions = 2008,\r\n\t\tTaxSettings = 503,\r\n\t\tTeacher = 458,\r\n\t\tTeacherBookingRestriction = 473,\r\n\t\tTeacherBookingRestrictions = 472,\r\n\t\tTeacherCommissionOverrides = 474,\r\n\t\tTeacherCompensation = 468,\r\n\t\tTeacherCompensations = 469,\r\n\t\tTeacherDeduction = 471,\r\n\t\tTeacherDeductions = 470,\r\n\t\tTeacherImageGalleries = 477,\r\n\t\tTeacherImageGallery = 476,\r\n\t\tTeacherLicenseInsurance = 466,\r\n\t\tTeacherLicenseInsurances = 467,\r\n\t\tTeacherMain = 462,\r\n\t\tTeacherNote = 479,\r\n\t\tTeacherNotes = 478,\r\n\t\tTeacherSearchPage = 461,\r\n\t\tTeacherSecurity = 463,\r\n\t\tTeacherServiceCommissionOverride = 475,\r\n\t\tTeacherServices = 460,\r\n\t\tTeacherServicesOverride = 465,\r\n\t\tTeacherShared = 459,\r\n\t\tTeacherUserSecurity = 464,\r\n\t\tTechSphere = 434,\r\n\t\tTechSphereSettings = 512,\r\n\t\tTextel = 411,\r\n\t\tTextelConversation = 1561,\r\n\t\tTextelMarketing = 1564,\r\n\t\tTextelMarketingMain = 1565,\r\n\t\tTextelSettings = 481,\r\n\t\tTimeClock = 316,\r\n\t\tTimeClockMyTimesheet = 379,\r\n\t\tTimeClockPage = 317,\r\n\t\tTippy = 2003,\r\n\t\tTransaction = 318,\r\n\t\tTransactionClientGiftCard = 419,\r\n\t\tTransactionClients = 1511,\r\n\t\tTransactionEditor = 322,\r\n\t\tTransactionEditorPage = 323,\r\n\t\tTransactionEmployee = 319,\r\n\t\tTransactionPackagePurchasedFors = 1512,\r\n\t\tTransactionPayment = 321,\r\n\t\tTransactionProducts = 1510,\r\n\t\tTransactionServices = 1509,\r\n\t\tTransactionTips = 320,\r\n\t\tTransferExportPage = 1610,\r\n\t\tTransworld = 421,\r\n\t\tTransworldFieldsSettings = 511,\r\n\t\tUngrandfathering = 1566,\r\n\t\tUsageReason = 1751,\r\n\t\tUsageReasonMain = 1752,\r\n\t\tUserDefinedField = 327,\r\n\t\tUserDefinedFieldPage = 328,\r\n\t\tUsersSettings = 493,\r\n\t\tVisitNoteType = 324,\r\n\t\tVisitNoteTypeMain = 326,\r\n\t\tVisitNoteTypeSearchPage = 325,\r\n\t\tWaitList = 329,\r\n\t\tWaitListPage = 330,\r\n\t\tWalkInManager = 331,\r\n\t\tWalkInManagerDisplay = 333,\r\n\t\tWalkInManagerDisplayPage = 334,\r\n\t\tWalkInManagerKiosk = 335,\r\n\t\tWalkInManagerKioskPage = 336,\r\n\t\tWalkInManagerModal = 364,\r\n\t\tWalkInManagerPage = 332,\r\n\t\tWalkInManagerSetting = 337,\r\n\t\tWalkInManagerSettingEmployees = 389,\r\n\t\tWalkInManagerSettingMainSettings = 338,\r\n\t\tWalkInManagerSettingNotifications = 339,\r\n\t\tWalkInManagerSettings = 508,\r\n\t\tWalkInManagerSettingServices = 390,\r\n\t\tWalkInManagerSettingWalkInHours = 340,\r\n\t\tWorkActivity = 341,\r\n\t\tWorkActivityMain = 343,\r\n\t\tWorkActivitySearchPage = 342,\r\n\t\tYieldManagementProgram = 1578,\r\n\t\tYieldManagementProgramClient = 1584,\r\n\t\tYieldManagementProgramEmployee = 1586,\r\n\t\tYieldManagementProgramMain = 1580,\r\n\t\tYieldManagementProgramPage = 1579,\r\n\t\tYieldManagementProgramService = 1585,\r\n\t\tYieldManagementStrategy = 1575,\r\n\t\tYieldManagementStrategyMain = 1577,\r\n\t\tYieldManagementStrategySearchPage = 1576,\r\n\t}\r\n\t \r\n\texport enum PurposeEnum {\r\n\t\tAudit = 1,\r\n\t\tSecurity = 3,\r\n\t\tUsageTracking = 2,\r\n\t}\r\n\t \r\n\texport enum VerbEnum {\r\n\t\tAbandoned = 502,\r\n\t\tAccepted = 401,\r\n\t\tAcceptedButtonClicked = 512,\r\n\t\tAccessed = 1537,\r\n\t\tActionFailed = 501,\r\n\t\tActivated = 12028,\r\n\t\tActivateImportedTokens = 12082,\r\n\t\tAddedCreditCard = 12038,\r\n\t\tAddMemberClicked = 337,\r\n\t\tAddNewButtonClicked = 100,\r\n\t\tAddNote = 457,\r\n\t\tAddToSaleClicked = 12062,\r\n\t\tAddToWaitListClicked = 313,\r\n\t\tAddToWalkInManagerButtonClicked = 310,\r\n\t\tAdpMappingsCleared = 12045,\r\n\t\tAdvancedSearchButtonClicked = 107,\r\n\t\tApplyButtonClicked = 300,\r\n\t\tAppointmentAdded = 450,\r\n\t\tAppointmentCancelled = 452,\r\n\t\tAppointmentCheckedIn = 454,\r\n\t\tAppointmentEdited = 451,\r\n\t\tAppointmentNoShow = 455,\r\n\t\tAppointmentNotesViewed = 507,\r\n\t\tAppointmentRunningLate = 453,\r\n\t\tAppointmentTodayButtonClicked = 511,\r\n\t\tApproved = 12086,\r\n\t\tAssociatedServicesRemoved = 402,\r\n\t\tAttempted = 12026,\r\n\t\tAwaitingResponse = 428,\r\n\t\tBackFromEmployeesClicked = 319,\r\n\t\tBackFromServicesClicked = 318,\r\n\t\tBackFromSummaryClicked = 312,\r\n\t\tBreakFamilyClicked = 336,\r\n\t\tBreakInButtonClicked = 334,\r\n\t\tBreakOutButtonClicked = 333,\r\n\t\tBusinessBoosterAdded = 434,\r\n\t\tBusinessBoosterRemoved = 435,\r\n\t\tBypassDeposit = 12030,\r\n\t\tCancelButtonClicked = 103,\r\n\t\tCancelled = 503,\r\n\t\tCheckBoxButtonClicked = 509,\r\n\t\tCheckedIn = 504,\r\n\t\tCheckoutButtonClicked = 304,\r\n\t\tClickedToSchedule = 12011,\r\n\t\tClientFindButtonClicked = 510,\r\n\t\tClientMembershipEFTPaid = 456,\r\n\t\tClientNotesViewed = 508,\r\n\t\tClockInButtonClicked = 332,\r\n\t\tClockOutButtonClicked = 331,\r\n\t\tCloseButtonClicked = 357,\r\n\t\tClosed = 431,\r\n\t\tColumnOrderChanged = 405,\r\n\t\tCompleted = 12024,\r\n\t\tConfigureLocations = 7,\r\n\t\tConfigurePayrollClicked = 349,\r\n\t\tConfirmed = 403,\r\n\t\tConfirmPayrollSettingsSaveClicked = 350,\r\n\t\tConfirmStateUpdated = 448,\r\n\t\tContinueFromClientsClicked = 311,\r\n\t\tContinueFromEmployeesClicked = 317,\r\n\t\tContinueFromServicesClicked = 316,\r\n\t\tCopied = 6,\r\n\t\tCopyButtonClicked = 104,\r\n\t\tCopyForwardApplyButtonClicked = 324,\r\n\t\tCopyForwardButtonClicked = 323,\r\n\t\tCreated = 1,\r\n\t\tCreateHolidayButtonClicked = 338,\r\n\t\tCustomTextEvaluatedFailed = 347,\r\n\t\tCustomTextEvaluatedSuccessfully = 346,\r\n\t\tDataExported = 12071,\r\n\t\tDeleteButtonClicked = 105,\r\n\t\tDeleted = 4,\r\n\t\tDeletedCreditCard = 12039,\r\n\t\tDeleteForwardApplyButtonClicked = 326,\r\n\t\tDeleteForwardButtonClicked = 325,\r\n\t\tDeleteHolidayButtonClicked = 340,\r\n\t\tDeleteNote = 459,\r\n\t\tDeletePaymentClicked = 355,\r\n\t\tDelivered = 404,\r\n\t\tDenied = 202,\r\n\t\tDocsAndFormsSubmitted = 449,\r\n\t\tEditButtonClicked = 102,\r\n\t\tEditClosingCash = 429,\r\n\t\tEditHolidayButtonClicked = 339,\r\n\t\tEditionPlanChanged = 432,\r\n\t\tEditOpeningCash = 406,\r\n\t\tElevated = 203,\r\n\t\tEmailPurchaseOrderReport = 465,\r\n\t\tEmailReceiptButtonClicked = 306,\r\n\t\tEmployeeAfterPromotion = 408,\r\n\t\tEmployeePriorPromotion = 407,\r\n\t\tEmployeeTemplateApplied = 12027,\r\n\t\tEnded = 12005,\r\n\t\tErrorMasqueradingAsSuccessfulWarningThrown = 12052,\r\n\t\tExclusionsViewed = 12012,\r\n\t\tExportButtonClicked = 341,\r\n\t\tExternalMembershipTransferredFrom = 439,\r\n\t\tExternalMembershipTransferredTo = 438,\r\n\t\tFailed = 400,\r\n\t\tFailure = 302,\r\n\t\tFeature = 358,\r\n\t\tFinalized = 409,\r\n\t\tForgotPassword = 444,\r\n\t\tFullAccessMfaDisable = 12076,\r\n\t\tGenerated = 1535,\r\n\t\tGenerateMappingFile = 12081,\r\n\t\tGenerationFailed = 12002,\r\n\t\tGranted = 201,\r\n\t\tInactivated = 1538,\r\n\t\tInProgressCompleteClick = 315,\r\n\t\tIntegrationAdded = 436,\r\n\t\tIntegrationRemoved = 437,\r\n\t\tItemNoShowClicked = 320,\r\n\t\tItemReinsertClicked = 321,\r\n\t\tKeyboardShortcutPressed = 111,\r\n\t\tLocked = 1100,\r\n\t\tLogViewed = 12066,\r\n\t\tMarketPricingChanged = 424,\r\n\t\tMarketPricingCreated = 423,\r\n\t\tMembershipChanged = 421,\r\n\t\tMembershipDeleted = 422,\r\n\t\tMembershipNotesViewed = 12031,\r\n\t\tMembershipSwitched = 440,\r\n\t\tMfaDisable = 12078,\r\n\t\tMfaEnable = 12077,\r\n\t\tMyScheduleButtonClicked = 329,\r\n\t\tMyTimesheetButtonClicked = 330,\r\n\t\tNoSaleClicked = 356,\r\n\t\tNoShow = 506,\r\n\t\tNoShowsClicked = 314,\r\n\t\tNotDelivered = 1536,\r\n\t\tNotificationBillingSubmitted = 426,\r\n\t\tOpened = 430,\r\n\t\tPageViewEvent = 109,\r\n\t\tPasswordMismatched = 443,\r\n\t\tPasteButtonClick = 322,\r\n\t\tPaymentPlanChanged = 12054,\r\n\t\tPaymentPlanEFTDayChanged = 12056,\r\n\t\tPaymentPlanEFTPaid = 12059,\r\n\t\tPaymentPlanNumberOfPaymentsChanged = 12057,\r\n\t\tPaymentPlanPaymentMethodChanged = 12058,\r\n\t\tPaymentPlanProcessEFT = 12060,\r\n\t\tPaymentPlanRefund = 12055,\r\n\t\tPaymentValidationFailed = 12001,\r\n\t\tPayrollDetailsViewed = 352,\r\n\t\tPayrollPeriodViewed = 351,\r\n\t\tPendingCreated = 12069,\r\n\t\tPendingRejected = 12070,\r\n\t\tPopped = 410,\r\n\t\tPopRequest = 411,\r\n\t\tPriceManagementChanged = 425,\r\n\t\tPrintReceiptButtonClicked = 305,\r\n\t\tPriorityChange = 412,\r\n\t\tProcessCreditClicked = 354,\r\n\t\tProcessed = 12010,\r\n\t\tPromotionClicked = 12046,\r\n\t\tPromotionViewed = 12047,\r\n\t\tPurged = 9,\r\n\t\tRan = 12013,\r\n\t\tRead = 2,\r\n\t\tRecallButtonClicked = 12019,\r\n\t\tReceiveButtonClicked = 12020,\r\n\t\tReceived = 413,\r\n\t\tRefundButtonClicked = 307,\r\n\t\tRejected = 414,\r\n\t\tRejectedButtonClicked = 513,\r\n\t\tReplaced = 415,\r\n\t\tReportRun = 416,\r\n\t\tResent = 995,\r\n\t\tResetClientPointsAlertNoClicked = 12016,\r\n\t\tResetClientPointsAlertYesClicked = 12014,\r\n\t\tResetClientPointsWarningNoClicked = 12017,\r\n\t\tResetClientPointsWarningYesClicked = 12015,\r\n\t\tResetPassword = 445,\r\n\t\tRestricted = 1102,\r\n\t\tResubmitted = 12085,\r\n\t\tReturnButtonClicked = 12021,\r\n\t\tReturnFromOnHold = 417,\r\n\t\tReturnFromOnHoldClicked = 12061,\r\n\t\tRunningLate = 505,\r\n\t\tRunReportButtonClicked = 342,\r\n\t\tSaleHoldButtonClicked = 353,\r\n\t\tSaveButtonClicked = 108,\r\n\t\tScanButtonClicked = 303,\r\n\t\tScheduleAdded = 12008,\r\n\t\tScheduleRemoved = 12009,\r\n\t\tScheduleViewed = 12007,\r\n\t\tSearchButtonClicked = 101,\r\n\t\tSearched = 12068,\r\n\t\tSecurityViolation = 200,\r\n\t\tSelected = 110,\r\n\t\tSelectionCriteriaChanged = 343,\r\n\t\tSelectMerchantAccount = 12083,\r\n\t\tSent = 418,\r\n\t\tServiceNotesViewed = 12043,\r\n\t\tSessionEnded = 309,\r\n\t\tSessionStarted = 308,\r\n\t\tShortcutPressed = 345,\r\n\t\tSMSPlanChanged = 433,\r\n\t\tSMSReceived = 12003,\r\n\t\tSplitCommissionButtonClicked = 301,\r\n\t\tStarted = 12004,\r\n\t\tStartFamilyClicked = 335,\r\n\t\tStopPayrollTrackingClicked = 348,\r\n\t\tSubmitted = 12084,\r\n\t\tSucceeded = 500,\r\n\t\tSuccessfulPaymentMasqueradingAsErrorWarningThrown = 12051,\r\n\t\tSupportPlanChanged = 441,\r\n\t\tSwitchToActualsButtonClicked = 327,\r\n\t\tSwitchToSchedulesButtonClicked = 328,\r\n\t\tSyncStatus = 12067,\r\n\t\tSyncStatusClicked = 12063,\r\n\t\tTabLoaded = 344,\r\n\t\tTakeOwnership = 8,\r\n\t\tTransferButtonClicked = 12018,\r\n\t\tTransworldStatusChanged = 442,\r\n\t\tUnconfirmed = 427,\r\n\t\tUndeleteButtonClicked = 106,\r\n\t\tUndeleted = 5,\r\n\t\tUndoPreviousClose = 419,\r\n\t\tUnlocked = 1101,\r\n\t\tUnmasked = 12065,\r\n\t\tUnrestricted = 1103,\r\n\t\tUpdateCreditCardZipCode = 12041,\r\n\t\tUpdated = 3,\r\n\t\tUpdatedCreditCard = 12040,\r\n\t\tUpdateNote = 458,\r\n\t\tUserErrorLoggedIn = 447,\r\n\t\tUserLoggedIn = 446,\r\n\t\tViewed = 112,\r\n\t\tWarningMessageOkButtonClicked = 12053,\r\n\t\tWarningsSuppressed = 420,\r\n\t\tYesButtonClicked = 12022,\r\n\t}\r\n\r\n\texport enum EffectiveLevelFlag {\r\n System = 0,\r\n Tenant = 1,\r\n BusinessType = 2,\r\n Location = 4,\r\n SingleLocation = 8,\r\n }\r\n}\r\n","///\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n\r\n //#endregionImports\r\n\r\n export class ShortCutCombination implements IShortCutCombination {\r\n public readonly description: string;\r\n public readonly allowIn: CombinationAllowInTypes[];\r\n public mainKey: string;\r\n public secondaryKey: string;\r\n public readonly securityKey: string;\r\n\r\n get combination() {\r\n return [this.mainKey, this.secondaryKey, this.key]\r\n .filter(v => !!v)\r\n .join('+');\r\n }\r\n\r\n constructor(public key: string, private options: IShortCutCombinationOptions = {}) {\r\n _.extend(this, options);\r\n\r\n this.allowIn = this.allowIn || ['INPUT', 'SELECT', 'TEXTAREA'];\r\n this.securityKey = options.securityKey || null;\r\n this.update(this.key);\r\n }\r\n\r\n /**\r\n * Method parses the hotkey combination and apply data to the properties\r\n *\r\n * @example\r\n * shortKeyCombination.update('ctrl+alt+delete');\r\n * @example\r\n * shortKeyCombination.update('ctrl+t');\r\n * @example\r\n * shortKeyCombination.update('delete');\r\n *\r\n * @param combination\r\n */\r\n public update(combination: string): void {\r\n const letters: string[] = combination.split('+');\r\n\r\n switch (letters.length) {\r\n case (1):\r\n this.key = letters[0];\r\n break;\r\n case (2):\r\n this.key = letters[1];\r\n this.mainKey = letters[0];\r\n break;\r\n case (3):\r\n this.key = letters[2];\r\n this.secondaryKey = letters[1];\r\n this.mainKey = letters[0];\r\n break;\r\n }\r\n }\r\n }\r\n}","\r\n/********************************************************\r\n* \t\t\t\t\t\t\t\t\t\t*\r\n*\tDo not manually update this file. This file was\t\t*\r\n*\tgenerated by security.keys.tt in the Util.T4\t\t*\r\n*\tproject.\t\t\t\t\t\t\t\t\t\t\t*\r\n* \t\t\t\t\t\t\t\t\t\t*\r\n*********************************************************/\r\n\r\nmodule Meevo.Components.Common {\r\n\texport class SecurityKeys {\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_ACCESSPENDINGAPPOINTMENTS = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:ACCESSPENDINGAPPOINTMENTS\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_ADDAPPOINTMENT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:ADDAPPOINTMENT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_ADDBLOCK = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:ADDBLOCK\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_CHECKIN = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:CHECKIN\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_CHECKOUT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:CHECKOUT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_COPYAPPOINTMENT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:COPYAPPOINTMENT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_DELETEANYAPPOINTMENT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:DELETEANYAPPOINTMENT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_DELETEAPPOINTMENT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:DELETEAPPOINTMENT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_DOUBLEBOOKRESOURCE = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:DOUBLEBOOKRESOURCE\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_EDITAPPOINTMENT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:EDITAPPOINTMENT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_EDITBLOCK = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:EDITBLOCK\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_EMPLOYEES = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:EMPLOYEES\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_FORMS = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:FORMS\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_NOSHOW = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:NOSHOW\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_REBOOKAPPOINTMENT = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:REBOOKAPPOINTMENT\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_RESOURCES = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:RESOURCES\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ACTION_RUNNINGLATE = \"APPOINTMENTS:APPOINTMENTBOOK:ACTION:RUNNINGLATE\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_ADDMISSEDOPPORTUNITY = \"APPOINTMENTS:APPOINTMENTBOOK:ADDMISSEDOPPORTUNITY\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_APPOINTMENTAUDITLOG = \"APPOINTMENTS:APPOINTMENTBOOK:APPOINTMENTAUDITLOG\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK = \"APPOINTMENTS:APPOINTMENTBOOK\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_VIEW_ADDONS = \"APPOINTMENTS:APPOINTMENTBOOK:VIEW:ADDONS\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_VIEW_RESOURCES = \"APPOINTMENTS:APPOINTMENTBOOK:VIEW:RESOURCES\";\r\n\t\tpublic static APPOINTMENTS_APPOINTMENTBOOK_VIEWINGEMPLOYEEES_CANVIEWALL = \"APPOINTMENTS:APPOINTMENTBOOK:VIEWINGEMPLOYEEES:CANVIEWALL\";\r\n\t\tpublic static APPOINTMENTS_BLOCKDEFINITION = \"APPOINTMENTS:BLOCKDEFINITION\";\r\n\t\tpublic static APPOINTMENTS_BLOCKDEFINITION_TAB_MAIN = \"APPOINTMENTS:BLOCKDEFINITION:TAB:MAIN\";\r\n\t\tpublic static APPOINTMENTS_CALLCENTERMANAGER = \"APPOINTMENTS:CALLCENTERMANAGER\";\r\n\t\tpublic static APPOINTMENTS_CONFIRMATIONMANAGER_ACTION_RESETCONFIRMATION = \"APPOINTMENTS:CONFIRMATIONMANAGER:ACTION:RESETCONFIRMATION\";\r\n\t\tpublic static APPOINTMENTS_CONFIRMATIONMANAGER_ACTION_SENDEMAIL = \"APPOINTMENTS:CONFIRMATIONMANAGER:ACTION:SENDEMAIL\";\r\n\t\tpublic static APPOINTMENTS_CONFIRMATIONMANAGER_ACTION_SENDTEXTMESSAGE = \"APPOINTMENTS:CONFIRMATIONMANAGER:ACTION:SENDTEXTMESSAGE\";\r\n\t\tpublic static APPOINTMENTS_CONFIRMATIONMANAGER = \"APPOINTMENTS:CONFIRMATIONMANAGER\";\r\n\t\tpublic static APPOINTMENTS = \"APPOINTMENTS\";\r\n\t\tpublic static APPOINTMENTS_SELFCHECKINKIOSK = \"APPOINTMENTS:SELFCHECKINKIOSK\";\r\n\t\tpublic static APPOINTMENTS_SELFCHECKINKIOSK_TAB_MAIN = \"APPOINTMENTS:SELFCHECKINKIOSK:TAB:MAIN\";\r\n\t\tpublic static APPOINTMENTS_STANDINGDEFINITION = \"APPOINTMENTS:STANDINGDEFINITION\";\r\n\t\tpublic static APPOINTMENTS_STANDINGDEFINITION_TAB_MAIN = \"APPOINTMENTS:STANDINGDEFINITION:TAB:MAIN\";\r\n\t\tpublic static APPOINTMENTS_WAITLIST = \"APPOINTMENTS:WAITLIST\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGER_ACTION_DELETEWALKIN = \"APPOINTMENTS:WALKINMANAGER:ACTION:DELETEWALKIN\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGER_ACTION_NOSHOWWALKIN = \"APPOINTMENTS:WALKINMANAGER:ACTION:NOSHOWWALKIN\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGER = \"APPOINTMENTS:WALKINMANAGER\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGER_WAITLIST_ACTION_ADJUSTPRIORITY = \"APPOINTMENTS:WALKINMANAGER:WAITLIST:ACTION:ADJUSTPRIORITY\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGER_WAITLIST_ACTION = \"APPOINTMENTS:WALKINMANAGER:WAITLIST:ACTION\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERDISPLAY_ACTION_EXIT = \"APPOINTMENTS:WALKINMANAGERDISPLAY:ACTION:EXIT\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERDISPLAY = \"APPOINTMENTS:WALKINMANAGERDISPLAY\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERKIOSK_ACTION_EXIT = \"APPOINTMENTS:WALKINMANAGERKIOSK:ACTION:EXIT\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERKIOSK = \"APPOINTMENTS:WALKINMANAGERKIOSK\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERSETTINGS = \"APPOINTMENTS:WALKINMANAGERSETTINGS\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERSETTINGS_TAB_EMPLOYEES = \"APPOINTMENTS:WALKINMANAGERSETTINGS:TAB:EMPLOYEES\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERSETTINGS_TAB_MAIN = \"APPOINTMENTS:WALKINMANAGERSETTINGS:TAB:MAIN\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERSETTINGS_TAB_NOTIFICATIONS = \"APPOINTMENTS:WALKINMANAGERSETTINGS:TAB:NOTIFICATIONS\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERSETTINGS_TAB_SERVICES = \"APPOINTMENTS:WALKINMANAGERSETTINGS:TAB:SERVICES\";\r\n\t\tpublic static APPOINTMENTS_WALKINMANAGERSETTINGS_TAB_WALKINHOURS = \"APPOINTMENTS:WALKINMANAGERSETTINGS:TAB:WALKINHOURS\";\r\n\t\tpublic static BUSINESSINFO_CULTURESETTINGS = \"BUSINESSINFO:CULTURESETTINGS\";\r\n\t\tpublic static BUSINESSINFO_CULTURESETTINGS_TAB_MAIN = \"BUSINESSINFO:CULTURESETTINGS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_EVENTSCHEDULE_FIELD_STATUS = \"BUSINESSINFO:EVENTSCHEDULE:FIELD:STATUS\";\r\n\t\tpublic static BUSINESSINFO_EVENTSCHEDULE = \"BUSINESSINFO:EVENTSCHEDULE\";\r\n\t\tpublic static BUSINESSINFO_EVENTSCHEDULE_TAB_MAIN = \"BUSINESSINFO:EVENTSCHEDULE:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_FIELDLABELS = \"BUSINESSINFO:FIELDLABELS\";\r\n\t\tpublic static BUSINESSINFO_FIELDLABELS_TAB_MAIN = \"BUSINESSINFO:FIELDLABELS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_FINANCIAL = \"BUSINESSINFO:FINANCIAL\";\r\n\t\tpublic static BUSINESSINFO_FINANCIAL_TAB_MAIN = \"BUSINESSINFO:FINANCIAL:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_FIVESTARRATINGSSETTINGS = \"BUSINESSINFO:FIVESTARRATINGSSETTINGS\";\r\n\t\tpublic static BUSINESSINFO_FIVESTARRATINGSSETTINGS_TAB_MAIN = \"BUSINESSINFO:FIVESTARRATINGSSETTINGS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_HOLIDAYS = \"BUSINESSINFO:HOLIDAYS\";\r\n\t\tpublic static BUSINESSINFO_HOLIDAYS_TAB_MAIN = \"BUSINESSINFO:HOLIDAYS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_HOLIDAYS_TAB_MANAGEPASTHOLIDAYS = \"BUSINESSINFO:HOLIDAYS:TAB:MANAGEPASTHOLIDAYS\";\r\n\t\tpublic static BUSINESSINFO_NOTIFICATIONS_ACTION_ALLOWBULKUPDATE = \"BUSINESSINFO:NOTIFICATIONS:ACTION:ALLOWBULKUPDATE\";\r\n\t\tpublic static BUSINESSINFO_NOTIFICATIONS = \"BUSINESSINFO:NOTIFICATIONS\";\r\n\t\tpublic static BUSINESSINFO_NOTIFICATIONS_TAB_MAIN = \"BUSINESSINFO:NOTIFICATIONS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_NOTIFICATIONTEMPLATE_FIELD_TEMPLATE = \"BUSINESSINFO:NOTIFICATIONTEMPLATE:FIELD:TEMPLATE\";\r\n\t\tpublic static BUSINESSINFO_NOTIFICATIONTEMPLATE = \"BUSINESSINFO:NOTIFICATIONTEMPLATE\";\r\n\t\tpublic static BUSINESSINFO_NOTIFICATIONTEMPLATE_TAB_MAIN = \"BUSINESSINFO:NOTIFICATIONTEMPLATE:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_ACTION_DELETEPAYROLLFREQUENCY = \"BUSINESSINFO:PAYROLLSETTINGS:ACTION:DELETEPAYROLLFREQUENCY\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_ACTION_EDITPAYROLLFREQUENCY = \"BUSINESSINFO:PAYROLLSETTINGS:ACTION:EDITPAYROLLFREQUENCY\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_ACTION_ENABLEMULTILOCATIONPAYROLLTRACKING = \"BUSINESSINFO:PAYROLLSETTINGS:ACTION:ENABLEMULTILOCATIONPAYROLLTRACKING\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_ACTION_MLSTOPPAYROLLTRACKING = \"BUSINESSINFO:PAYROLLSETTINGS:ACTION:MLSTOPPAYROLLTRACKING\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_ACTION_MULTILOCATIONPAYROLL = \"BUSINESSINFO:PAYROLLSETTINGS:ACTION:MULTILOCATIONPAYROLL\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_ACTION_STOPPAYROLLTRACKING = \"BUSINESSINFO:PAYROLLSETTINGS:ACTION:STOPPAYROLLTRACKING\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS = \"BUSINESSINFO:PAYROLLSETTINGS\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_SPLITCOMMISSIONSETTINGS_TAB_MAIN = \"BUSINESSINFO:PAYROLLSETTINGS:SPLITCOMMISSIONSETTINGS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_TAB_CLOCKINOUTRULES = \"BUSINESSINFO:PAYROLLSETTINGS:TAB:CLOCKINOUTRULES\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_TAB_COMMISSIONDETAIL = \"BUSINESSINFO:PAYROLLSETTINGS:TAB:COMMISSIONDETAIL\";\r\n\t\tpublic static BUSINESSINFO_PAYROLLSETTINGS_TAB_MAIN = \"BUSINESSINFO:PAYROLLSETTINGS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO = \"BUSINESSINFO\";\r\n\t\tpublic static BUSINESSINFO_REPORTHIERARCHY = \"BUSINESSINFO:REPORTHIERARCHY\";\r\n\t\tpublic static BUSINESSINFO_REPORTHIERARCHY_TAB_DESIGNHIERARCHY = \"BUSINESSINFO:REPORTHIERARCHY:TAB:DESIGNHIERARCHY\";\r\n\t\tpublic static BUSINESSINFO_REPORTHIERARCHY_TAB_MAIN = \"BUSINESSINFO:REPORTHIERARCHY:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_REPORTHIERARCHY_TAB_SETLOCATIONS = \"BUSINESSINFO:REPORTHIERARCHY:TAB:SETLOCATIONS\";\r\n\t\tpublic static BUSINESSINFO_SELFCHECKINKIOSKSETTINGS = \"BUSINESSINFO:SELFCHECKINKIOSKSETTINGS\";\r\n\t\tpublic static BUSINESSINFO_SELFCHECKINKIOSKSETTINGS_TAB_MAIN = \"BUSINESSINFO:SELFCHECKINKIOSKSETTINGS:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_SERVICECHARGES_FIELD_STATUS = \"BUSINESSINFO:SERVICECHARGES:FIELD:STATUS\";\r\n\t\tpublic static BUSINESSINFO_SERVICECHARGES = \"BUSINESSINFO:SERVICECHARGES\";\r\n\t\tpublic static BUSINESSINFO_SERVICECHARGES_TAB_MAIN = \"BUSINESSINFO:SERVICECHARGES:TAB:MAIN\";\r\n\t\tpublic static BUSINESSINFO_SYSTEMTOOLBOX_FIELD_RESETCLIENTPOINTS = \"BUSINESSINFO:SYSTEMTOOLBOX:FIELD:RESETCLIENTPOINTS\";\r\n\t\tpublic static BUSINESSINFO_SYSTEMTOOLBOX_FIELD_TOKENMIGRATION = \"BUSINESSINFO:SYSTEMTOOLBOX:FIELD:TOKENMIGRATION\";\r\n\t\tpublic static BUSINESSINFO_SYSTEMTOOLBOX = \"BUSINESSINFO:SYSTEMTOOLBOX\";\r\n\t\tpublic static CSVEXPORT = \"CSVEXPORT\";\r\n\t\tpublic static DASHBOARDS = \"DASHBOARDS\";\r\n\t\tpublic static DATA_ADDONGROUP = \"DATA:ADDONGROUP\";\r\n\t\tpublic static DATA_ADDONGROUP_TAB_MAIN = \"DATA:ADDONGROUP:TAB:MAIN\";\r\n\t\tpublic static DATA_APPOINTMENTCATEGORY_FIELD_STATUS = \"DATA:APPOINTMENTCATEGORY:FIELD:STATUS\";\r\n\t\tpublic static DATA_APPOINTMENTCATEGORY = \"DATA:APPOINTMENTCATEGORY\";\r\n\t\tpublic static DATA_APPOINTMENTCATEGORY_TAB_MAIN = \"DATA:APPOINTMENTCATEGORY:TAB:MAIN\";\r\n\t\tpublic static DATA_BLOCKTYPE_FIELD_STATUS = \"DATA:BLOCKTYPE:FIELD:STATUS\";\r\n\t\tpublic static DATA_BLOCKTYPE = \"DATA:BLOCKTYPE\";\r\n\t\tpublic static DATA_BLOCKTYPE_TAB_MAIN = \"DATA:BLOCKTYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_BUSINESSINFO_ACTION_ENABLEINTELLIBOOKING = \"DATA:BUSINESSINFO:ACTION:ENABLEINTELLIBOOKING\";\r\n\t\tpublic static DATA_BUSINESSINFO_APPOINTMENTSETTINGS = \"DATA:BUSINESSINFO:APPOINTMENTSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_APPOINTMENTSINFO_ACTION_DEFAULTREQUESTCHECKBOX = \"DATA:BUSINESSINFO:APPOINTMENTSINFO:ACTION:DEFAULTREQUESTCHECKBOX\";\r\n\t\tpublic static DATA_BUSINESSINFO_APPOINTMENTSINFO_ACTION_NEWCLIENTINDICATOR = \"DATA:BUSINESSINFO:APPOINTMENTSINFO:ACTION:NEWCLIENTINDICATOR\";\r\n\t\tpublic static DATA_BUSINESSINFO_APPOINTMENTSINFO_ACTION_SCANFOROPENINGRESULTOPTIONS = \"DATA:BUSINESSINFO:APPOINTMENTSINFO:ACTION:SCANFOROPENINGRESULTOPTIONS\";\r\n\t\tpublic static DATA_BUSINESSINFO_APPOINTMENTSINFO_ACTION_SHOWANONYMOUSCLIENT = \"DATA:BUSINESSINFO:APPOINTMENTSINFO:ACTION:SHOWANONYMOUSCLIENT\";\r\n\t\tpublic static DATA_BUSINESSINFO_CALLCENTER_ACTION_ALLOWSPECIFICEMPLOYEE = \"DATA:BUSINESSINFO:CALLCENTER:ACTION:ALLOWSPECIFICEMPLOYEE\";\r\n\t\tpublic static DATA_BUSINESSINFO_CALLCENTER_ACTION_AVAILABLEOPENINGSLIMT = \"DATA:BUSINESSINFO:CALLCENTER:ACTION:AVAILABLEOPENINGSLIMT\";\r\n\t\tpublic static DATA_BUSINESSINFO_CALLCENTER_ACTION_DISPLAYEMPLOYEENAME = \"DATA:BUSINESSINFO:CALLCENTER:ACTION:DISPLAYEMPLOYEENAME\";\r\n\t\tpublic static DATA_BUSINESSINFO_CALLCENTER_ACTION_HIDEGENDER = \"DATA:BUSINESSINFO:CALLCENTER:ACTION:HIDEGENDER\";\r\n\t\tpublic static DATA_BUSINESSINFO_CALLCENTER_ACTION_PREVENTAPPOINTMENTBOOKED = \"DATA:BUSINESSINFO:CALLCENTER:ACTION:PREVENTAPPOINTMENTBOOKED\";\r\n\t\tpublic static DATA_BUSINESSINFO_CALLCENTER_ACTION_SCANFOROPENINGRESULTOPTIONS = \"DATA:BUSINESSINFO:CALLCENTER:ACTION:SCANFOROPENINGRESULTOPTIONS\";\r\n\t\tpublic static DATA_BUSINESSINFO_CLIENTSSETTINGS = \"DATA:BUSINESSINFO:CLIENTSSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_EMPLOYEESSETTINGS = \"DATA:BUSINESSINFO:EMPLOYEESSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELD_EMPLOYEEMEMBERSHIPOVERRIDE = \"DATA:BUSINESSINFO:FIELD:EMPLOYEEMEMBERSHIPOVERRIDE\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELD_IMAGE = \"DATA:BUSINESSINFO:FIELD:IMAGE\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELD_STORENUMBER = \"DATA:BUSINESSINFO:FIELD:STORENUMBER\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_APPOINTMENTBOOKINTERVALS = \"DATA:BUSINESSINFO:FIELDGROUP:APPOINTMENTBOOKINTERVALS\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_APPOINTMENTSINFO = \"DATA:BUSINESSINFO:FIELDGROUP:APPOINTMENTSINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_AREAMANAGER = \"DATA:BUSINESSINFO:FIELDGROUP:AREAMANAGER\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_CALLCENTER = \"DATA:BUSINESSINFO:FIELDGROUP:CALLCENTER\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_CLIENTSINFO = \"DATA:BUSINESSINFO:FIELDGROUP:CLIENTSINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_HELPDESKTICKETS = \"DATA:BUSINESSINFO:FIELDGROUP:HELPDESKTICKETS\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_LIVECHATSUPPORT = \"DATA:BUSINESSINFO:FIELDGROUP:LIVECHATSUPPORT\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_LOCATION = \"DATA:BUSINESSINFO:FIELDGROUP:LOCATION\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_MEMBERSHIPINFO = \"DATA:BUSINESSINFO:FIELDGROUP:MEMBERSHIPINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_PASSWORDEXPIRATIONINFO = \"DATA:BUSINESSINFO:FIELDGROUP:PASSWORDEXPIRATIONINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_PAYMENTPLANMANAGER = \"DATA:BUSINESSINFO:FIELDGROUP:PAYMENTPLANMANAGER\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_REGISTERINFO = \"DATA:BUSINESSINFO:FIELDGROUP:REGISTERINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_RESOURCESINFO = \"DATA:BUSINESSINFO:FIELDGROUP:RESOURCESINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_FIELDGROUP_WAITlIST = \"DATA:BUSINESSINFO:FIELDGROUP:WAITlIST\";\r\n\t\tpublic static DATA_BUSINESSINFO_MEMBERSHIPSSETTINGS = \"DATA:BUSINESSINFO:MEMBERSHIPSSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_PAYMENTPLANSETTINGS = \"DATA:BUSINESSINFO:PAYMENTPLANSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO = \"DATA:BUSINESSINFO\";\r\n\t\tpublic static DATA_BUSINESSINFO_REGISTERINFO_ACTION_RELOADGIFTCARD = \"DATA:BUSINESSINFO:REGISTERINFO:ACTION:RELOADGIFTCARD\";\r\n\t\tpublic static DATA_BUSINESSINFO_REGISTERINFO_ACTION_RESELLGIFTCARD = \"DATA:BUSINESSINFO:REGISTERINFO:ACTION:RESELLGIFTCARD\";\r\n\t\tpublic static DATA_BUSINESSINFO_REGISTERSETTINGS = \"DATA:BUSINESSINFO:REGISTERSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_SERVICESSETTINGS = \"DATA:BUSINESSINFO:SERVICESSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_SUPPORTSETTINGS = \"DATA:BUSINESSINFO:SUPPORTSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_SYSTEMSETTINGS = \"DATA:BUSINESSINFO:SYSTEMSETTINGS\";\r\n\t\tpublic static DATA_BUSINESSINFO_TAB_IMAGEGALLERY = \"DATA:BUSINESSINFO:TAB:IMAGEGALLERY\";\r\n\t\tpublic static DATA_BUSINESSINFO_TAB_MAIN = \"DATA:BUSINESSINFO:TAB:MAIN\";\r\n\t\tpublic static DATA_BUSINESSINFO_TAB_MEEVOURL = \"DATA:BUSINESSINFO:TAB:MEEVOURL\";\r\n\t\tpublic static DATA_BUSINESSINFO_TAB_PREFERENCES = \"DATA:BUSINESSINFO:TAB:PREFERENCES\";\r\n\t\tpublic static DATA_BUSINESSINFO_TAB_SERVICEBOOKINGPRIORITY = \"DATA:BUSINESSINFO:TAB:SERVICEBOOKINGPRIORITY\";\r\n\t\tpublic static DATA_BUSINESSINFO_TAB_SERVICECATEGORYDISPLAYORDER = \"DATA:BUSINESSINFO:TAB:SERVICECATEGORYDISPLAYORDER\";\r\n\t\tpublic static DATA_BUSINESSINFO_WAITlIST_ACTION_CLIENTADDEDTOWAITLIST = \"DATA:BUSINESSINFO:WAITlIST:ACTION:CLIENTADDEDTOWAITLIST\";\r\n\t\tpublic static DATA_BUSINESSINFO_WAITlIST_ACTION_DISPLAYPHONENUMBER = \"DATA:BUSINESSINFO:WAITlIST:ACTION:DISPLAYPHONENUMBER\";\r\n\t\tpublic static DATA_BUSINESSINFO_WAITlIST_ACTION_EXPIREAPPOINTMENTREQUEST = \"DATA:BUSINESSINFO:WAITlIST:ACTION:EXPIREAPPOINTMENTREQUEST\";\r\n\t\tpublic static DATA_BUSINESSINFO_WAITlIST_ACTION_MAXNUMBEROFDAYSPENDING = \"DATA:BUSINESSINFO:WAITlIST:ACTION:MAXNUMBEROFDAYSPENDING\";\r\n\t\tpublic static DATA_BUSINESSINFO_WAITlIST_ACTION_NONRESPONSIVEPENDING = \"DATA:BUSINESSINFO:WAITlIST:ACTION:NONRESPONSIVEPENDING\";\r\n\t\tpublic static DATA_BUSINESSINFO_WAITlIST_ACTION_OPENINGREJECTEDBYCLIENT = \"DATA:BUSINESSINFO:WAITlIST:ACTION:OPENINGREJECTEDBYCLIENT\";\r\n\t\tpublic static DATA_BUSINESSTYPE = \"DATA:BUSINESSTYPE\";\r\n\t\tpublic static DATA_BUSINESSTYPE_TAB_MAIN = \"DATA:BUSINESSTYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_CANCELLATIONREASON_FIELD_STATUS = \"DATA:CANCELLATIONREASON:FIELD:STATUS\";\r\n\t\tpublic static DATA_CANCELLATIONREASON = \"DATA:CANCELLATIONREASON\";\r\n\t\tpublic static DATA_CANCELLATIONREASON_TAB_MAIN = \"DATA:CANCELLATIONREASON:TAB:MAIN\";\r\n\t\tpublic static DATA_CLIENT_ACTION_ACCOUNTACTIVITY = \"DATA:CLIENT:ACTION:ACCOUNTACTIVITY\";\r\n\t\tpublic static DATA_CLIENT_ACTION_APPOINTMENTHISTORY = \"DATA:CLIENT:ACTION:APPOINTMENTHISTORY\";\r\n\t\tpublic static DATA_CLIENT_ACTION_DISCOUNTHISTORY = \"DATA:CLIENT:ACTION:DISCOUNTHISTORY\";\r\n\t\tpublic static DATA_CLIENT_ACTION_HISTORY_EDITPACKAGEHISTORY = \"DATA:CLIENT:ACTION:HISTORY:EDITPACKAGEHISTORY\";\r\n\t\tpublic static DATA_CLIENT_ACTION_TRANSACTIONHISTORY = \"DATA:CLIENT:ACTION:TRANSACTIONHISTORY\";\r\n\t\tpublic static DATA_CLIENT_ACTION_VIEWPRIVATESERVICE = \"DATA:CLIENT:ACTION:VIEWPRIVATESERVICE\";\r\n\t\tpublic static DATA_CLIENT_FIELD_ANNIVERSARY = \"DATA:CLIENT:FIELD:ANNIVERSARY\";\r\n\t\tpublic static DATA_CLIENT_FIELD_BIRTHDAY = \"DATA:CLIENT:FIELD:BIRTHDAY\";\r\n\t\tpublic static DATA_CLIENT_FIELD_BOOKABLEONLINE = \"DATA:CLIENT:FIELD:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_CLIENT_FIELD_CANACCESSONLINEBOOKING = \"DATA:CLIENT:FIELD:CANACCESSONLINEBOOKING\";\r\n\t\tpublic static DATA_CLIENT_FIELD_EMAIL = \"DATA:CLIENT:FIELD:EMAIL\";\r\n\t\tpublic static DATA_CLIENT_FIELD_GENDER = \"DATA:CLIENT:FIELD:GENDER\";\r\n\t\tpublic static DATA_CLIENT_FIELD_IMAGE = \"DATA:CLIENT:FIELD:IMAGE\";\r\n\t\tpublic static DATA_CLIENT_FIELD_ISMINOR = \"DATA:CLIENT:FIELD:ISMINOR\";\r\n\t\tpublic static DATA_CLIENT_FIELD_ISRESTRICTED = \"DATA:CLIENT:FIELD:ISRESTRICTED\";\r\n\t\tpublic static DATA_CLIENT_FIELD_REFERREDBY_AFTERTRANSACTIONOCCURRED = \"DATA:CLIENT:FIELD:REFERREDBY:AFTERTRANSACTIONOCCURRED\";\r\n\t\tpublic static DATA_CLIENT_FIELD_REFERREDBY = \"DATA:CLIENT:FIELD:REFERREDBY\";\r\n\t\tpublic static DATA_CLIENT_FIELD_STATUS = \"DATA:CLIENT:FIELD:STATUS\";\r\n\t\tpublic static DATA_CLIENT_FIELD_UNRESTRICT = \"DATA:CLIENT:FIELD:UNRESTRICT\";\r\n\t\tpublic static DATA_CLIENT_FIELDGROUP_CONTACTINFO = \"DATA:CLIENT:FIELDGROUP:CONTACTINFO\";\r\n\t\tpublic static DATA_CLIENT_FIELDGROUP_NOTIFICATIONOPTIONS = \"DATA:CLIENT:FIELDGROUP:NOTIFICATIONOPTIONS\";\r\n\t\tpublic static DATA_CLIENT_FIELDGROUP_PHONENUMBERS = \"DATA:CLIENT:FIELDGROUP:PHONENUMBERS\";\r\n\t\tpublic static DATA_CLIENT_FIELDGROUP_SENSITIVEINFO = \"DATA:CLIENT:FIELDGROUP:SENSITIVEINFO\";\r\n\t\tpublic static DATA_CLIENT = \"DATA:CLIENT\";\r\n\t\tpublic static DATA_CLIENT_TAB_BOOKINGPREFERENCES = \"DATA:CLIENT:TAB:BOOKINGPREFERENCES\";\r\n\t\tpublic static DATA_CLIENT_TAB_CLIENTSTATS = \"DATA:CLIENT:TAB:CLIENTSTATS\";\r\n\t\tpublic static DATA_CLIENT_TAB_CREDITCARDS = \"DATA:CLIENT:TAB:CREDITCARDS\";\r\n\t\tpublic static DATA_CLIENT_TAB_CUSTOMUDFTABS = \"DATA:CLIENT:TAB:CUSTOMUDFTABS\";\r\n\t\tpublic static DATA_CLIENT_TAB_DOCSANDFORMS = \"DATA:CLIENT:TAB:DOCSANDFORMS\";\r\n\t\tpublic static DATA_CLIENT_TAB_FAMILY_BREAK = \"DATA:CLIENT:TAB:FAMILY:BREAK\";\r\n\t\tpublic static DATA_CLIENT_TAB_FAMILY = \"DATA:CLIENT:TAB:FAMILY\";\r\n\t\tpublic static DATA_CLIENT_TAB_GIFTCARDHISTORY = \"DATA:CLIENT:TAB:GIFTCARDHISTORY\";\r\n\t\tpublic static DATA_CLIENT_TAB_HISTORY_FIELD_ISGLOBAL = \"DATA:CLIENT:TAB:HISTORY:FIELD:ISGLOBAL\";\r\n\t\tpublic static DATA_CLIENT_TAB_HISTORY = \"DATA:CLIENT:TAB:HISTORY\";\r\n\t\tpublic static DATA_CLIENT_TAB_IMAGEGALLERY = \"DATA:CLIENT:TAB:IMAGEGALLERY\";\r\n\t\tpublic static DATA_CLIENT_TAB_MAIN = \"DATA:CLIENT:TAB:MAIN\";\r\n\t\tpublic static DATA_CLIENT_TAB_MAIN_PURGE = \"DATA:CLIENT:TAB:MAIN:PURGE\";\r\n\t\tpublic static DATA_CLIENT_TAB_MAIN_UNLOCK = \"DATA:CLIENT:TAB:MAIN:UNLOCK\";\r\n\t\tpublic static DATA_CLIENT_TAB_NOTES = \"DATA:CLIENT:TAB:NOTES\";\r\n\t\tpublic static DATA_CLIENT_TAB_NOTES_PRIVATE = \"DATA:CLIENT:TAB:NOTES:PRIVATE\";\r\n\t\tpublic static DATA_CLIENT_TAB_NOTIFICATIONS = \"DATA:CLIENT:TAB:NOTIFICATIONS\";\r\n\t\tpublic static DATA_CLIENT_TAB_PACKAGES = \"DATA:CLIENT:TAB:PACKAGES\";\r\n\t\tpublic static DATA_CLIENT_TAB_VISITNOTES_APPROVE = \"DATA:CLIENT:TAB:VISITNOTES:APPROVE\";\r\n\t\tpublic static DATA_CLIENT_TAB_VISITNOTES = \"DATA:CLIENT:TAB:VISITNOTES\";\r\n\t\tpublic static DATA_CLIENT_TAB_VISITNOTES_FILTER_CANVIEWALL = \"DATA:CLIENT:TAB:VISITNOTES:FILTER:CANVIEWALL\";\r\n\t\tpublic static DATA_CLIENT_TAB_VISITNOTES_PRIVATE = \"DATA:CLIENT:TAB:VISITNOTES:PRIVATE\";\r\n\t\tpublic static DATA_CLIENTCLIENTTYPE_FIELD_STATUS = \"DATA:CLIENTCLIENTTYPE:FIELD:STATUS\";\r\n\t\tpublic static DATA_CLIENTCLIENTTYPE = \"DATA:CLIENTCLIENTTYPE\";\r\n\t\tpublic static DATA_CLIENTCLIENTTYPE_TAB_MAIN = \"DATA:CLIENTCLIENTTYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_CLIENTFIND_ACTION_INCLUDEFUTUREAPPOINTMENTS = \"DATA:CLIENTFIND:ACTION:INCLUDEFUTUREAPPOINTMENTS\";\r\n\t\tpublic static DATA_CLIENTFIND_ACTION_PRINTWORKTICKET = \"DATA:CLIENTFIND:ACTION:PRINTWORKTICKET\";\r\n\t\tpublic static DATA_CLIENTFIND = \"DATA:CLIENTFIND\";\r\n\t\tpublic static DATA_CLIENTFIND_SENDTEXTMSG = \"DATA:CLIENTFIND:SENDTEXTMSG\";\r\n\t\tpublic static DATA_CLIENTFIND_TRANSACTIONHISTORY = \"DATA:CLIENTFIND:TRANSACTIONHISTORY\";\r\n\t\tpublic static DATA_CLIENTINTAKEFORM = \"DATA:CLIENTINTAKEFORM\";\r\n\t\tpublic static DATA_CLIENTINTAKEFORM_TAB_MAIN = \"DATA:CLIENTINTAKEFORM:TAB:MAIN\";\r\n\t\tpublic static DATA_DEPARTMENT = \"DATA:DEPARTMENT\";\r\n\t\tpublic static DATA_DEPARTMENT_TAB_MAIN = \"DATA:DEPARTMENT:TAB:MAIN\";\r\n\t\tpublic static DATA_DISTRIBUTOR_FIELD_STATUS = \"DATA:DISTRIBUTOR:FIELD:STATUS\";\r\n\t\tpublic static DATA_DISTRIBUTOR = \"DATA:DISTRIBUTOR\";\r\n\t\tpublic static DATA_DISTRIBUTOR_TAB_MAIN = \"DATA:DISTRIBUTOR:TAB:MAIN\";\r\n\t\tpublic static DATA_EMPLOYEE_ACTION_ENABLEINTELLIBOOKING = \"DATA:EMPLOYEE:ACTION:ENABLEINTELLIBOOKING\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_APPOINTMENTBOOKORDER = \"DATA:EMPLOYEE:FIELD:APPOINTMENTBOOKORDER\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_APPOINTMENTBOOKWARNINGS = \"DATA:EMPLOYEE:FIELD:APPOINTMENTBOOKWARNINGS\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_AUTOLOCKOUT = \"DATA:EMPLOYEE:FIELD:AUTOLOCKOUT\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_BOOKABLEONLINE = \"DATA:EMPLOYEE:FIELD:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_CHANGEHOMELOCATION = \"DATA:EMPLOYEE:FIELD:CHANGEHOMELOCATION\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_CODE = \"DATA:EMPLOYEE:FIELD:CODE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_EMPLOYEECATEGORY = \"DATA:EMPLOYEE:FIELD:EMPLOYEECATEGORY\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_EMPLOYEETEMPLATE = \"DATA:EMPLOYEE:FIELD:EMPLOYEETEMPLATE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_EXTERNALID = \"DATA:EMPLOYEE:FIELD:EXTERNALID\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_HIREDATE = \"DATA:EMPLOYEE:FIELD:HIREDATE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_IMAGE = \"DATA:EMPLOYEE:FIELD:IMAGE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_MAKEUSERFULLACCESS = \"DATA:EMPLOYEE:FIELD:MAKEUSERFULLACCESS\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_PASSWORD = \"DATA:EMPLOYEE:FIELD:PASSWORD\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_SECURITYROLES = \"DATA:EMPLOYEE:FIELD:SECURITYROLES\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_SMARTCENTERS = \"DATA:EMPLOYEE:FIELD:SMARTCENTERS\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_STATUS = \"DATA:EMPLOYEE:FIELD:STATUS\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_TERMINATEDATE = \"DATA:EMPLOYEE:FIELD:TERMINATEDATE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELD_USERNAME = \"DATA:EMPLOYEE:FIELD:USERNAME\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELDGROUP_BOOKABLEONLINE = \"DATA:EMPLOYEE:FIELDGROUP:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELDGROUP_CONTACTINFO = \"DATA:EMPLOYEE:FIELDGROUP:CONTACTINFO\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELDGROUP_NOTIFICATIONINFO = \"DATA:EMPLOYEE:FIELDGROUP:NOTIFICATIONINFO\";\r\n\t\tpublic static DATA_EMPLOYEE_FIELDGROUP_SENSITIVEINFO = \"DATA:EMPLOYEE:FIELDGROUP:SENSITIVEINFO\";\r\n\t\tpublic static DATA_EMPLOYEE = \"DATA:EMPLOYEE\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_BOOKINGRESTRICTION = \"DATA:EMPLOYEE:TAB:BOOKINGRESTRICTION\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_CUSTOMUDFTABS = \"DATA:EMPLOYEE:TAB:CUSTOMUDFTABS\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_DEDUCTION = \"DATA:EMPLOYEE:TAB:DEDUCTION\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_IMAGEGALLERY = \"DATA:EMPLOYEE:TAB:IMAGEGALLERY\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_LICENSESINSURANCE = \"DATA:EMPLOYEE:TAB:LICENSESINSURANCE\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_LOCATIONS = \"DATA:EMPLOYEE:TAB:LOCATIONS\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_MAIN = \"DATA:EMPLOYEE:TAB:MAIN\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_NOTES = \"DATA:EMPLOYEE:TAB:NOTES\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_PAYROLL = \"DATA:EMPLOYEE:TAB:PAYROLL\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICECOMMISSIONS = \"DATA:EMPLOYEE:TAB:SERVICECOMMISSIONS\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES_ACTION_BOOKABLEONLINE = \"DATA:EMPLOYEE:TAB:SERVICES:ACTION:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES_ACTION_CANPERFORM = \"DATA:EMPLOYEE:TAB:SERVICES:ACTION:CANPERFORM\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES_ACTION_EXPAND = \"DATA:EMPLOYEE:TAB:SERVICES:ACTION:EXPAND\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES_ACTION_PRICE = \"DATA:EMPLOYEE:TAB:SERVICES:ACTION:PRICE\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES_ACTION_PRICELEVEL = \"DATA:EMPLOYEE:TAB:SERVICES:ACTION:PRICELEVEL\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES_ACTION_SERVICESTEPS = \"DATA:EMPLOYEE:TAB:SERVICES:ACTION:SERVICESTEPS\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SERVICES = \"DATA:EMPLOYEE:TAB:SERVICES\";\r\n\t\tpublic static DATA_EMPLOYEE_TAB_SHARED = \"DATA:EMPLOYEE:TAB:SHARED\";\r\n\t\tpublic static DATA_EMPLOYEECATEGORY_FIELD_STATUS = \"DATA:EMPLOYEECATEGORY:FIELD:STATUS\";\r\n\t\tpublic static DATA_EMPLOYEECATEGORY = \"DATA:EMPLOYEECATEGORY\";\r\n\t\tpublic static DATA_EMPLOYEECATEGORY_TAB_MAIN = \"DATA:EMPLOYEECATEGORY:TAB:MAIN\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_ACTION_ENABLEINTELLIBOOKING = \"DATA:EMPLOYEETEMPLATE:ACTION:ENABLEINTELLIBOOKING\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_FIELD_STATUS = \"DATA:EMPLOYEETEMPLATE:FIELD:STATUS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE = \"DATA:EMPLOYEETEMPLATE\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_DEDUCTION = \"DATA:EMPLOYEETEMPLATE:TAB:DEDUCTION\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_LOCATIONS = \"DATA:EMPLOYEETEMPLATE:TAB:LOCATIONS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_MAIN = \"DATA:EMPLOYEETEMPLATE:TAB:MAIN\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_PAYROLL = \"DATA:EMPLOYEETEMPLATE:TAB:PAYROLL\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICECOMMISSIONS = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICECOMMISSIONS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES_ACTION_BOOKABLEONLINE = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES:ACTION:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES_ACTION_CANPERFORM = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES:ACTION:CANPERFORM\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES_ACTION_EXPAND = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES:ACTION:EXPAND\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES_ACTION_PRICE = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES:ACTION:PRICE\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES_ACTION_PRICELEVEL = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES:ACTION:PRICELEVEL\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES_ACTION_SERVICESTEPS = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES:ACTION:SERVICESTEPS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATE_TAB_SERVICES = \"DATA:EMPLOYEETEMPLATE:TAB:SERVICES\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_ACTION_ENABLEINTELLIBOOKING = \"DATA:EMPLOYEETEMPLATEPROMOTION:ACTION:ENABLEINTELLIBOOKING\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_FIELD_RESETPROMOTION = \"DATA:EMPLOYEETEMPLATEPROMOTION:FIELD:RESETPROMOTION\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION = \"DATA:EMPLOYEETEMPLATEPROMOTION\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_DEDUCTION = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:DEDUCTION\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_LOCATIONS = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:LOCATIONS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_MAIN = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:MAIN\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_PAYROLL = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:PAYROLL\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICECOMMISSIONS = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICECOMMISSIONS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICES_ACTION_CANPERFORM = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICES:ACTION:CANPERFORM\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICES_ACTION_EXPAND = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICES:ACTION:EXPAND\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICES_ACTION_PRICE = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICES:ACTION:PRICE\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICES_ACTION_PRICELEVEL = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICES:ACTION:PRICELEVEL\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICES_ACTION_SERVICESTEPS = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICES:ACTION:SERVICESTEPS\";\r\n\t\tpublic static DATA_EMPLOYEETEMPLATEPROMOTION_TAB_SERVICES = \"DATA:EMPLOYEETEMPLATEPROMOTION:TAB:SERVICES\";\r\n\t\tpublic static DATA_EQUIPMENT_FIELD_STATUS = \"DATA:EQUIPMENT:FIELD:STATUS\";\r\n\t\tpublic static DATA_EQUIPMENT = \"DATA:EQUIPMENT\";\r\n\t\tpublic static DATA_EQUIPMENT_TAB_MAIN = \"DATA:EQUIPMENT:TAB:MAIN\";\r\n\t\tpublic static DATA_GIFTCARDINTEGRATION = \"DATA:GIFTCARDINTEGRATION\";\r\n\t\tpublic static DATA_GIFTCARDINTEGRATION_TAB_MAIN = \"DATA:GIFTCARDINTEGRATION:TAB:MAIN\";\r\n\t\tpublic static DATA_GIFTCARDTYPE_ACTION_GIFTCARDLIABILITYINDICATOR = \"DATA:GIFTCARDTYPE:ACTION:GIFTCARDLIABILITYINDICATOR\";\r\n\t\tpublic static DATA_GIFTCARDTYPE_FIELD_STATUS = \"DATA:GIFTCARDTYPE:FIELD:STATUS\";\r\n\t\tpublic static DATA_GIFTCARDTYPE = \"DATA:GIFTCARDTYPE\";\r\n\t\tpublic static DATA_GIFTCARDTYPE_TAB_MAIN = \"DATA:GIFTCARDTYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_IMAGEGALLERYCATEGORY_FIELD_STATUS = \"DATA:IMAGEGALLERYCATEGORY:FIELD:STATUS\";\r\n\t\tpublic static DATA_IMAGEGALLERYCATEGORY = \"DATA:IMAGEGALLERYCATEGORY\";\r\n\t\tpublic static DATA_IMAGEGALLERYCATEGORY_TAB_MAIN = \"DATA:IMAGEGALLERYCATEGORY:TAB:MAIN\";\r\n\t\tpublic static DATA_LOCATIONGROUP_FIELD_STATUS = \"DATA:LOCATIONGROUP:FIELD:STATUS\";\r\n\t\tpublic static DATA_LOCATIONGROUP = \"DATA:LOCATIONGROUP\";\r\n\t\tpublic static DATA_LOCATIONGROUP_TAB_MAIN = \"DATA:LOCATIONGROUP:TAB:MAIN\";\r\n\t\tpublic static DATA_MANUFACTURER_FIELD_STATUS = \"DATA:MANUFACTURER:FIELD:STATUS\";\r\n\t\tpublic static DATA_MANUFACTURER = \"DATA:MANUFACTURER\";\r\n\t\tpublic static DATA_MANUFACTURER_TAB_MAIN = \"DATA:MANUFACTURER:TAB:MAIN\";\r\n\t\tpublic static DATA_PACKAGELOOKUP = \"DATA:PACKAGELOOKUP\";\r\n\t\tpublic static DATA_PACKAGETYPE_ACTION_PACKAGELIABILITYINDICATOR = \"DATA:PACKAGETYPE:ACTION:PACKAGELIABILITYINDICATOR\";\r\n\t\tpublic static DATA_PACKAGETYPE_FIELD_STATUS = \"DATA:PACKAGETYPE:FIELD:STATUS\";\r\n\t\tpublic static DATA_PACKAGETYPE = \"DATA:PACKAGETYPE\";\r\n\t\tpublic static DATA_PACKAGETYPE_TAB_MAIN = \"DATA:PACKAGETYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_PACKAGETYPE_TAB_PAYROLL = \"DATA:PACKAGETYPE:TAB:PAYROLL\";\r\n\t\tpublic static DATA_PAYMENTTYPE_FIELD_STATUS = \"DATA:PAYMENTTYPE:FIELD:STATUS\";\r\n\t\tpublic static DATA_PAYMENTTYPE = \"DATA:PAYMENTTYPE\";\r\n\t\tpublic static DATA_PAYMENTTYPE_TAB_MAIN = \"DATA:PAYMENTTYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_PRODUCT_ACTION_EXPORT = \"DATA:PRODUCT:ACTION:EXPORT\";\r\n\t\tpublic static DATA_PRODUCT_DISTRIBUTOR_FIELD_DELETEDISTRIBUTOR = \"DATA:PRODUCT:DISTRIBUTOR:FIELD:DELETEDISTRIBUTOR\";\r\n\t\tpublic static DATA_PRODUCT_DISTRIBUTOR_FIELD = \"DATA:PRODUCT:DISTRIBUTOR:FIELD\";\r\n\t\tpublic static DATA_PRODUCT_DISTRIBUTOR = \"DATA:PRODUCT:DISTRIBUTOR\";\r\n\t\tpublic static DATA_PRODUCT = \"DATA:PRODUCT\";\r\n\t\tpublic static DATA_PRODUCT_TAB_CUSTOMUDFTABS = \"DATA:PRODUCT:TAB:CUSTOMUDFTABS\";\r\n\t\tpublic static DATA_PRODUCT_TAB_MAIN = \"DATA:PRODUCT:TAB:MAIN\";\r\n\t\tpublic static DATA_PRODUCT_TAB_MAIN_FIELD_PRODUCTTAX = \"DATA:PRODUCT:TAB:MAIN:FIELD:PRODUCTTAX\";\r\n\t\tpublic static DATA_PRODUCT_TAB_PAYROLL = \"DATA:PRODUCT:TAB:PAYROLL\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_DISCONTINUE = \"DATA:PRODUCT:VARIANT:FIELD:DISCONTINUE\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_FLOORLOCATION = \"DATA:PRODUCT:VARIANT:FIELD:FLOORLOCATION\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_NOTFORSALE = \"DATA:PRODUCT:VARIANT:FIELD:NOTFORSALE\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_PRODUCTTYPE = \"DATA:PRODUCT:VARIANT:FIELD:PRODUCTTYPE\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD = \"DATA:PRODUCT:VARIANT:FIELD\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_RETAIL = \"DATA:PRODUCT:VARIANT:FIELD:RETAIL\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_TRACKINVENTORY = \"DATA:PRODUCT:VARIANT:FIELD:TRACKINVENTORY\";\r\n\t\tpublic static DATA_PRODUCT_VARIANT_FIELD_WHOLESALE = \"DATA:PRODUCT:VARIANT:FIELD:WHOLESALE\";\r\n\t\tpublic static DATA_PRODUCTBULKUPDATE = \"DATA:PRODUCTBULKUPDATE\";\r\n\t\tpublic static DATA_PRODUCTBULKUPDATE_LOG = \"DATA:PRODUCTBULKUPDATE:LOG\";\r\n\t\tpublic static DATA_PRODUCTBUNDLE_FIELD_STATUS = \"DATA:PRODUCTBUNDLE:FIELD:STATUS\";\r\n\t\tpublic static DATA_PRODUCTBUNDLE = \"DATA:PRODUCTBUNDLE\";\r\n\t\tpublic static DATA_PRODUCTBUNDLE_TAB_MAIN = \"DATA:PRODUCTBUNDLE:TAB:MAIN\";\r\n\t\tpublic static DATA_PRODUCTBUNDLE_TAB_MANAGEMENT = \"DATA:PRODUCTBUNDLE:TAB:MANAGEMENT\";\r\n\t\tpublic static DATA_PRODUCTCATEGORY_FIELD_STATUS = \"DATA:PRODUCTCATEGORY:FIELD:STATUS\";\r\n\t\tpublic static DATA_PRODUCTCATEGORY = \"DATA:PRODUCTCATEGORY\";\r\n\t\tpublic static DATA_PRODUCTCATEGORY_TAB_MAIN = \"DATA:PRODUCTCATEGORY:TAB:MAIN\";\r\n\t\tpublic static DATA = \"DATA\";\r\n\t\tpublic static DATA_REFERRALTYPE_FIELD_STATUS = \"DATA:REFERRALTYPE:FIELD:STATUS\";\r\n\t\tpublic static DATA_REFERRALTYPE = \"DATA:REFERRALTYPE\";\r\n\t\tpublic static DATA_REFERRALTYPE_TAB_MAIN = \"DATA:REFERRALTYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_RESOURCE_FIELD_APPOINTMENTBOOKORDER = \"DATA:RESOURCE:FIELD:APPOINTMENTBOOKORDER\";\r\n\t\tpublic static DATA_RESOURCE = \"DATA:RESOURCE\";\r\n\t\tpublic static DATA_RESOURCE_TAB_MAIN = \"DATA:RESOURCE:TAB:MAIN\";\r\n\t\tpublic static DATA_RESOURCECATEGORY_FIELD_STATUS = \"DATA:RESOURCECATEGORY:FIELD:STATUS\";\r\n\t\tpublic static DATA_RESOURCECATEGORY = \"DATA:RESOURCECATEGORY\";\r\n\t\tpublic static DATA_RESOURCECATEGORY_TAB_MAIN = \"DATA:RESOURCECATEGORY:TAB:MAIN\";\r\n\t\tpublic static DATA_SERVICE_ACTION_ENABLEINTELLIBOOKING = \"DATA:SERVICE:ACTION:ENABLEINTELLIBOOKING\";\r\n\t\tpublic static DATA_SERVICE_ACTION_EXPORT = \"DATA:SERVICE:ACTION:EXPORT\";\r\n\t\tpublic static DATA_SERVICE_FIELD_BOOKABLEONLINE = \"DATA:SERVICE:FIELD:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_SERVICE_FIELD_PRICELEVELS = \"DATA:SERVICE:FIELD:PRICELEVELS\";\r\n\t\tpublic static DATA_SERVICE_FIELD_REQUIREDEPOSIT = \"DATA:SERVICE:FIELD:REQUIREDEPOSIT\";\r\n\t\tpublic static DATA_SERVICE_FIELD_SERVICESTEPS = \"DATA:SERVICE:FIELD:SERVICESTEPS\";\r\n\t\tpublic static DATA_SERVICE_FIELD_STATUS = \"DATA:SERVICE:FIELD:STATUS\";\r\n\t\tpublic static DATA_SERVICE_FIELDGROUP_TAXES = \"DATA:SERVICE:FIELDGROUP:TAXES\";\r\n\t\tpublic static DATA_SERVICE = \"DATA:SERVICE\";\r\n\t\tpublic static DATA_SERVICE_TAB_CUSTOMUDFTABS = \"DATA:SERVICE:TAB:CUSTOMUDFTABS\";\r\n\t\tpublic static DATA_SERVICE_TAB_MAIN = \"DATA:SERVICE:TAB:MAIN\";\r\n\t\tpublic static DATA_SERVICE_TAB_NOTES = \"DATA:SERVICE:TAB:NOTES\";\r\n\t\tpublic static DATA_SERVICE_TAB_NOTIFICATIONS = \"DATA:SERVICE:TAB:NOTIFICATIONS\";\r\n\t\tpublic static DATA_SERVICE_TAB_PAYROLL = \"DATA:SERVICE:TAB:PAYROLL\";\r\n\t\tpublic static DATA_SERVICE_TAB_RESOURCES = \"DATA:SERVICE:TAB:RESOURCES\";\r\n\t\tpublic static DATA_SERVICE_TAB_SWAPSPLIT = \"DATA:SERVICE:TAB:SWAPSPLIT\";\r\n\t\tpublic static DATA_SERVICECATEGORY_FIELD_STATUS = \"DATA:SERVICECATEGORY:FIELD:STATUS\";\r\n\t\tpublic static DATA_SERVICECATEGORY = \"DATA:SERVICECATEGORY\";\r\n\t\tpublic static DATA_SERVICECATEGORY_TAB_IMAGEGALLERY = \"DATA:SERVICECATEGORY:TAB:IMAGEGALLERY\";\r\n\t\tpublic static DATA_SERVICECATEGORY_TAB_MAIN = \"DATA:SERVICECATEGORY:TAB:MAIN\";\r\n\t\tpublic static DATA_SERVICESWIZARD = \"DATA:SERVICESWIZARD\";\r\n\t\tpublic static DATA_SMARTCENTERDESIGNER_FIVESTARRATING_DETAILS = \"DATA:SMARTCENTERDESIGNER:FIVESTARRATING:DETAILS\";\r\n\t\tpublic static DATA_SMARTCENTERDESIGNER = \"DATA:SMARTCENTERDESIGNER\";\r\n\t\tpublic static DATA_SMARTCENTERDESIGNER_TAB_MAIN = \"DATA:SMARTCENTERDESIGNER:TAB:MAIN\";\r\n\t\tpublic static DATA_STUDENT_FIELD_APPOINTMENTBOOKWARNINGS = \"DATA:STUDENT:FIELD:APPOINTMENTBOOKWARNINGS\";\r\n\t\tpublic static DATA_STUDENT_FIELD_AUTOLOCKOUT = \"DATA:STUDENT:FIELD:AUTOLOCKOUT\";\r\n\t\tpublic static DATA_STUDENT_FIELD_BOOKABLEONLINE = \"DATA:STUDENT:FIELD:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_STUDENT_FIELD_CODE = \"DATA:STUDENT:FIELD:CODE\";\r\n\t\tpublic static DATA_STUDENT_FIELD_EXTERNALID = \"DATA:STUDENT:FIELD:EXTERNALID\";\r\n\t\tpublic static DATA_STUDENT_FIELD_HIREDATE = \"DATA:STUDENT:FIELD:HIREDATE\";\r\n\t\tpublic static DATA_STUDENT_FIELD_IMAGE = \"DATA:STUDENT:FIELD:IMAGE\";\r\n\t\tpublic static DATA_STUDENT_FIELD_PASSWORD = \"DATA:STUDENT:FIELD:PASSWORD\";\r\n\t\tpublic static DATA_STUDENT_FIELD_SECURITYROLES = \"DATA:STUDENT:FIELD:SECURITYROLES\";\r\n\t\tpublic static DATA_STUDENT_FIELD_SMARTCENTERS = \"DATA:STUDENT:FIELD:SMARTCENTERS\";\r\n\t\tpublic static DATA_STUDENT_FIELD_STATUS = \"DATA:STUDENT:FIELD:STATUS\";\r\n\t\tpublic static DATA_STUDENT_FIELD_STUDENTCATEGORY = \"DATA:STUDENT:FIELD:STUDENTCATEGORY\";\r\n\t\tpublic static DATA_STUDENT_FIELD_STUDENTTEMPLATE = \"DATA:STUDENT:FIELD:STUDENTTEMPLATE\";\r\n\t\tpublic static DATA_STUDENT_FIELD_TERMINATEDATE = \"DATA:STUDENT:FIELD:TERMINATEDATE\";\r\n\t\tpublic static DATA_STUDENT_FIELD_USERNAME = \"DATA:STUDENT:FIELD:USERNAME\";\r\n\t\tpublic static DATA_STUDENT_FIELDGROUP_BOOKABLEONLINE = \"DATA:STUDENT:FIELDGROUP:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_STUDENT_FIELDGROUP_CONTACTINFO = \"DATA:STUDENT:FIELDGROUP:CONTACTINFO\";\r\n\t\tpublic static DATA_STUDENT_FIELDGROUP_NOTIFICATIONINFO = \"DATA:STUDENT:FIELDGROUP:NOTIFICATIONINFO\";\r\n\t\tpublic static DATA_STUDENT_FIELDGROUP_SENSITIVEINFO = \"DATA:STUDENT:FIELDGROUP:SENSITIVEINFO\";\r\n\t\tpublic static DATA_STUDENT = \"DATA:STUDENT\";\r\n\t\tpublic static DATA_STUDENT_TAB_BOOKINGRESTRICTION = \"DATA:STUDENT:TAB:BOOKINGRESTRICTION\";\r\n\t\tpublic static DATA_STUDENT_TAB_DEDUCTION = \"DATA:STUDENT:TAB:DEDUCTION\";\r\n\t\tpublic static DATA_STUDENT_TAB_IMAGEGALLERY = \"DATA:STUDENT:TAB:IMAGEGALLERY\";\r\n\t\tpublic static DATA_STUDENT_TAB_LICENSESINSURANCE = \"DATA:STUDENT:TAB:LICENSESINSURANCE\";\r\n\t\tpublic static DATA_STUDENT_TAB_LOCATIONS = \"DATA:STUDENT:TAB:LOCATIONS\";\r\n\t\tpublic static DATA_STUDENT_TAB_MAIN = \"DATA:STUDENT:TAB:MAIN\";\r\n\t\tpublic static DATA_STUDENT_TAB_NOTES = \"DATA:STUDENT:TAB:NOTES\";\r\n\t\tpublic static DATA_STUDENT_TAB_PAYROLL = \"DATA:STUDENT:TAB:PAYROLL\";\r\n\t\tpublic static DATA_STUDENT_TAB_SERVICECOMMISSIONS = \"DATA:STUDENT:TAB:SERVICECOMMISSIONS\";\r\n\t\tpublic static DATA_STUDENT_TAB_SERVICES = \"DATA:STUDENT:TAB:SERVICES\";\r\n\t\tpublic static DATA_STUDENT_TAB_SHARED = \"DATA:STUDENT:TAB:SHARED\";\r\n\t\tpublic static DATA_STUDENTTEACHERMODULE = \"DATA:STUDENTTEACHERMODULE\";\r\n\t\tpublic static DATA_SWAPGROUP_FIELD_STATUS = \"DATA:SWAPGROUP:FIELD:STATUS\";\r\n\t\tpublic static DATA_SWAPGROUP = \"DATA:SWAPGROUP\";\r\n\t\tpublic static DATA_SWAPGROUP_TAB_MAIN = \"DATA:SWAPGROUP:TAB:MAIN\";\r\n\t\tpublic static DATA_TEACHER_FIELD_APPOINTMENTBOOKWARNINGS = \"DATA:TEACHER:FIELD:APPOINTMENTBOOKWARNINGS\";\r\n\t\tpublic static DATA_TEACHER_FIELD_AUTOLOCKOUT = \"DATA:TEACHER:FIELD:AUTOLOCKOUT\";\r\n\t\tpublic static DATA_TEACHER_FIELD_BOOKABLEONLINE = \"DATA:TEACHER:FIELD:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_TEACHER_FIELD_CODE = \"DATA:TEACHER:FIELD:CODE\";\r\n\t\tpublic static DATA_TEACHER_FIELD_EXTERNALID = \"DATA:TEACHER:FIELD:EXTERNALID\";\r\n\t\tpublic static DATA_TEACHER_FIELD_HIREDATE = \"DATA:TEACHER:FIELD:HIREDATE\";\r\n\t\tpublic static DATA_TEACHER_FIELD_IMAGE = \"DATA:TEACHER:FIELD:IMAGE\";\r\n\t\tpublic static DATA_TEACHER_FIELD_PASSWORD = \"DATA:TEACHER:FIELD:PASSWORD\";\r\n\t\tpublic static DATA_TEACHER_FIELD_SECURITYROLES = \"DATA:TEACHER:FIELD:SECURITYROLES\";\r\n\t\tpublic static DATA_TEACHER_FIELD_SMARTCENTERS = \"DATA:TEACHER:FIELD:SMARTCENTERS\";\r\n\t\tpublic static DATA_TEACHER_FIELD_STATUS = \"DATA:TEACHER:FIELD:STATUS\";\r\n\t\tpublic static DATA_TEACHER_FIELD_TEACHERCATEGORY = \"DATA:TEACHER:FIELD:TEACHERCATEGORY\";\r\n\t\tpublic static DATA_TEACHER_FIELD_TEACHERTEMPLATE = \"DATA:TEACHER:FIELD:TEACHERTEMPLATE\";\r\n\t\tpublic static DATA_TEACHER_FIELD_TERMINATEDATE = \"DATA:TEACHER:FIELD:TERMINATEDATE\";\r\n\t\tpublic static DATA_TEACHER_FIELD_USERNAME = \"DATA:TEACHER:FIELD:USERNAME\";\r\n\t\tpublic static DATA_TEACHER_FIELDGROUP_BOOKABLEONLINE = \"DATA:TEACHER:FIELDGROUP:BOOKABLEONLINE\";\r\n\t\tpublic static DATA_TEACHER_FIELDGROUP_CONTACTINFO = \"DATA:TEACHER:FIELDGROUP:CONTACTINFO\";\r\n\t\tpublic static DATA_TEACHER_FIELDGROUP_NOTIFICATIONINFO = \"DATA:TEACHER:FIELDGROUP:NOTIFICATIONINFO\";\r\n\t\tpublic static DATA_TEACHER_FIELDGROUP_SENSITIVEINFO = \"DATA:TEACHER:FIELDGROUP:SENSITIVEINFO\";\r\n\t\tpublic static DATA_TEACHER = \"DATA:TEACHER\";\r\n\t\tpublic static DATA_TEACHER_TAB_BOOKINGRESTRICTION = \"DATA:TEACHER:TAB:BOOKINGRESTRICTION\";\r\n\t\tpublic static DATA_TEACHER_TAB_DEDUCTION = \"DATA:TEACHER:TAB:DEDUCTION\";\r\n\t\tpublic static DATA_TEACHER_TAB_IMAGEGALLERY = \"DATA:TEACHER:TAB:IMAGEGALLERY\";\r\n\t\tpublic static DATA_TEACHER_TAB_LICENSESINSURANCE = \"DATA:TEACHER:TAB:LICENSESINSURANCE\";\r\n\t\tpublic static DATA_TEACHER_TAB_LOCATIONS = \"DATA:TEACHER:TAB:LOCATIONS\";\r\n\t\tpublic static DATA_TEACHER_TAB_MAIN = \"DATA:TEACHER:TAB:MAIN\";\r\n\t\tpublic static DATA_TEACHER_TAB_NOTES = \"DATA:TEACHER:TAB:NOTES\";\r\n\t\tpublic static DATA_TEACHER_TAB_PAYROLL = \"DATA:TEACHER:TAB:PAYROLL\";\r\n\t\tpublic static DATA_TEACHER_TAB_SERVICECOMMISSIONS = \"DATA:TEACHER:TAB:SERVICECOMMISSIONS\";\r\n\t\tpublic static DATA_TEACHER_TAB_SERVICES = \"DATA:TEACHER:TAB:SERVICES\";\r\n\t\tpublic static DATA_TEACHER_TAB_SHARED = \"DATA:TEACHER:TAB:SHARED\";\r\n\t\tpublic static DATA_USERDEFINEDCONTROLS = \"DATA:USERDEFINEDCONTROLS\";\r\n\t\tpublic static DATA_VISITNOTETYPE = \"DATA:VISITNOTETYPE\";\r\n\t\tpublic static DATA_VISITNOTETYPE_TAB_MAIN = \"DATA:VISITNOTETYPE:TAB:MAIN\";\r\n\t\tpublic static DATA_WORKACTIVITY_FIELD_STATUS = \"DATA:WORKACTIVITY:FIELD:STATUS\";\r\n\t\tpublic static DATA_WORKACTIVITY = \"DATA:WORKACTIVITY\";\r\n\t\tpublic static DATA_WORKACTIVITY_TAB_MAIN = \"DATA:WORKACTIVITY:TAB:MAIN\";\r\n\t\tpublic static GOALS_EMPLOYEEGOALS_ACTION_VIEWALLEMPLOYEEGOALS = \"GOALS:EMPLOYEEGOALS:ACTION:VIEWALLEMPLOYEEGOALS\";\r\n\t\tpublic static GOALS_EMPLOYEEGOALS = \"GOALS:EMPLOYEEGOALS\";\r\n\t\tpublic static GOALS_GOALSDASHBOARD_ACTION_VIEWALLEMPLOYEEGOALS = \"GOALS:GOALSDASHBOARD:ACTION:VIEWALLEMPLOYEEGOALS\";\r\n\t\tpublic static GOALS_GOALSDASHBOARD = \"GOALS:GOALSDASHBOARD\";\r\n\t\tpublic static GOALS_OVERALLDEPARTMENTGOALS = \"GOALS:OVERALLDEPARTMENTGOALS\";\r\n\t\tpublic static GOALS = \"GOALS\";\r\n\t\tpublic static HELP_ACADEMY = \"HELP:ACADEMY\";\r\n\t\tpublic static HELP_ADVANCEDDASHBOARDS = \"HELP:ADVANCEDDASHBOARDS\";\r\n\t\tpublic static HELP_BOOKREMOTETRAINING = \"HELP:BOOKREMOTETRAINING\";\r\n\t\tpublic static HELP_HELP = \"HELP:HELP\";\r\n\t\tpublic static HELP_IDEASPORTAL = \"HELP:IDEASPORTAL\";\r\n\t\tpublic static HELP_KNOWLEDGEARTICLES = \"HELP:KNOWLEDGEARTICLES\";\r\n\t\tpublic static HELP_MEEVOFACEBOOKGROUP = \"HELP:MEEVOFACEBOOKGROUP\";\r\n\t\tpublic static HELP_MEEVOINSPO = \"HELP:MEEVOINSPO\";\r\n\t\tpublic static HELP = \"HELP\";\r\n\t\tpublic static HELP_REFERAFRIEND = \"HELP:REFERAFRIEND\";\r\n\t\tpublic static HELP_RELEASENOTES = \"HELP:RELEASENOTES\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION = \"INTEGRATION:ADPINTEGRATION\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_COMMISSION = \"INTEGRATION:ADPINTEGRATION:TAB:COMMISSION\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_EMPLOYEES = \"INTEGRATION:ADPINTEGRATION:TAB:EMPLOYEES\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_MAIN_ADPMARKETPLACE = \"INTEGRATION:ADPINTEGRATION:TAB:MAIN:ADPMARKETPLACE\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_MAIN_CONSENTFORM = \"INTEGRATION:ADPINTEGRATION:TAB:MAIN:CONSENTFORM\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_MAIN_ENABLEADPINTEGRATION = \"INTEGRATION:ADPINTEGRATION:TAB:MAIN:ENABLEADPINTEGRATION\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_MAIN = \"INTEGRATION:ADPINTEGRATION:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_ADPINTEGRATION_TAB_WORKACTIVITIES = \"INTEGRATION:ADPINTEGRATION:TAB:WORKACTIVITIES\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION = \"INTEGRATION:ADPWFNINTEGRATION\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_COMMISSION = \"INTEGRATION:ADPWFNINTEGRATION:TAB:COMMISSION\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_EMPLOYEES_COMPANYCODES = \"INTEGRATION:ADPWFNINTEGRATION:TAB:EMPLOYEES:COMPANYCODES\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_EMPLOYEES = \"INTEGRATION:ADPWFNINTEGRATION:TAB:EMPLOYEES\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_MAIN_ADPMARKETPLACE = \"INTEGRATION:ADPWFNINTEGRATION:TAB:MAIN:ADPMARKETPLACE\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_MAIN_CONSENTFORM = \"INTEGRATION:ADPWFNINTEGRATION:TAB:MAIN:CONSENTFORM\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_MAIN_ENABLEADPWFNINTEGRATION = \"INTEGRATION:ADPWFNINTEGRATION:TAB:MAIN:ENABLEADPWFNINTEGRATION\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_MAIN = \"INTEGRATION:ADPWFNINTEGRATION:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_ADPWFNINTEGRATION_TAB_WORKACTIVITIES = \"INTEGRATION:ADPWFNINTEGRATION:TAB:WORKACTIVITIES\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION = \"INTEGRATION:ADPWISELYINTEGRATION\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION_TAB_EMPLOYEES = \"INTEGRATION:ADPWISELYINTEGRATION:TAB:EMPLOYEES\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION_TAB_LOG = \"INTEGRATION:ADPWISELYINTEGRATION:TAB:LOG\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION_TAB_MAIN_ADPMARKETPLACE = \"INTEGRATION:ADPWISELYINTEGRATION:TAB:MAIN:ADPMARKETPLACE\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION_TAB_MAIN_CONSENTFORM = \"INTEGRATION:ADPWISELYINTEGRATION:TAB:MAIN:CONSENTFORM\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION_TAB_MAIN_ENABLEADPWISELYINTEGRATION = \"INTEGRATION:ADPWISELYINTEGRATION:TAB:MAIN:ENABLEADPWISELYINTEGRATION\";\r\n\t\tpublic static INTEGRATION_ADPWISELYINTEGRATION_TAB_MAIN = \"INTEGRATION:ADPWISELYINTEGRATION:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_AVEDA = \"INTEGRATION:AVEDA\";\r\n\t\tpublic static INTEGRATION_AVEDA_TAB_MAIN = \"INTEGRATION:AVEDA:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_ACTION_SHOWWELCOMENOTIFICATIONSETTINGS = \"INTEGRATION:CLIENTAPP:ACTION:SHOWWELCOMENOTIFICATIONSETTINGS\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP = \"INTEGRATION:CLIENTAPP\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_BRANDING = \"INTEGRATION:CLIENTAPP:TAB:BRANDING\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_CHATWINDOW_DELETECONVERSATION = \"INTEGRATION:CLIENTAPP:TAB:CHATWINDOW:DELETECONVERSATION\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_CHATWINDOW = \"INTEGRATION:CLIENTAPP:TAB:CHATWINDOW\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_CHATWINDOW_UNDELETECONVERSATION = \"INTEGRATION:CLIENTAPP:TAB:CHATWINDOW:UNDELETECONVERSATION\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_CLIENTAPPSETTINGS = \"INTEGRATION:CLIENTAPP:TAB:CLIENTAPPSETTINGS\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_INAPPPROMOTIONS = \"INTEGRATION:CLIENTAPP:TAB:INAPPPROMOTIONS\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_MESSENGER = \"INTEGRATION:CLIENTAPP:TAB:MESSENGER\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_PACKAGEMENUCONFIG = \"INTEGRATION:CLIENTAPP:TAB:PACKAGEMENUCONFIG\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_SERVICEMENUCONFIG = \"INTEGRATION:CLIENTAPP:TAB:SERVICEMENUCONFIG\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_SETTINGS = \"INTEGRATION:CLIENTAPP:TAB:SETTINGS\";\r\n\t\tpublic static INTEGRATION_CLIENTAPP_TAB_VIEWBIOCONFIG = \"INTEGRATION:CLIENTAPP:TAB:VIEWBIOCONFIG\";\r\n\t\tpublic static INTEGRATION_FAMEADVANTAGE = \"INTEGRATION:FAMEADVANTAGE\";\r\n\t\tpublic static INTEGRATION_FAMEADVANTAGE_TAB_SETTINGS = \"INTEGRATION:FAMEADVANTAGE:TAB:SETTINGS\";\r\n\t\tpublic static INTEGRATION_FAMEADVANTAGE_TAB_STUDENTIMPORT = \"INTEGRATION:FAMEADVANTAGE:TAB:STUDENTIMPORT\";\r\n\t\tpublic static INTEGRATION_FAMEADVANTAGE_TAB_TIMECLOCKEXPORT = \"INTEGRATION:FAMEADVANTAGE:TAB:TIMECLOCKEXPORT\";\r\n\t\tpublic static INTEGRATION_MEEVOBI = \"INTEGRATION:MEEVOBI\";\r\n\t\tpublic static INTEGRATION_MEEVOBI_TAB_MAIN = \"INTEGRATION:MEEVOBI:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_OCTOPIREACH = \"INTEGRATION:OCTOPIREACH\";\r\n\t\tpublic static INTEGRATION_PAGING = \"INTEGRATION:PAGING\";\r\n\t\tpublic static INTEGRATION_PAGING_TAB_MAIN = \"INTEGRATION:PAGING:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKS_CONNECTION = \"INTEGRATION:QUICKBOOKS:CONNECTION\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKS = \"INTEGRATION:QUICKBOOKS\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKS_TAB_MAIN = \"INTEGRATION:QUICKBOOKS:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKSDESKTOP_CONNECTION = \"INTEGRATION:QUICKBOOKSDESKTOP:CONNECTION\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKSDESKTOP = \"INTEGRATION:QUICKBOOKSDESKTOP\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKSDESKTOP_SYNC = \"INTEGRATION:QUICKBOOKSDESKTOP:SYNC\";\r\n\t\tpublic static INTEGRATION_QUICKBOOKSDESKTOP_TAB_MAIN = \"INTEGRATION:QUICKBOOKSDESKTOP:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION = \"INTEGRATION\";\r\n\t\tpublic static INTEGRATION_SALONCLOUD = \"INTEGRATION:SALONCLOUD\";\r\n\t\tpublic static INTEGRATION_TECHSPHERE_INTERNAL = \"INTEGRATION:TECHSPHERE:INTERNAL\";\r\n\t\tpublic static INTEGRATION_TECHSPHERE = \"INTEGRATION:TECHSPHERE\";\r\n\t\tpublic static INTEGRATION_TECHSPHERE_TAB_MAIN = \"INTEGRATION:TECHSPHERE:TAB:MAIN\";\r\n\t\tpublic static INTEGRATION_TEXTEL = \"INTEGRATION:TEXTEL\";\r\n\t\tpublic static INTEGRATION_TEXTEL_TAB_CHATWINDOW_DELETECONVERSATION = \"INTEGRATION:TEXTEL:TAB:CHATWINDOW:DELETECONVERSATION\";\r\n\t\tpublic static INTEGRATION_TEXTEL_TAB_CHATWINDOW = \"INTEGRATION:TEXTEL:TAB:CHATWINDOW\";\r\n\t\tpublic static INTEGRATION_TEXTEL_TAB_CHATWINDOW_SENDMESSAGE = \"INTEGRATION:TEXTEL:TAB:CHATWINDOW:SENDMESSAGE\";\r\n\t\tpublic static INTEGRATION_TEXTEL_TAB_CHATWINDOW_UNDELETECONVERSATION = \"INTEGRATION:TEXTEL:TAB:CHATWINDOW:UNDELETECONVERSATION\";\r\n\t\tpublic static INTEGRATION_TEXTEL_TAB = \"INTEGRATION:TEXTEL:TAB\";\r\n\t\tpublic static INTEGRATION_TEXTEL_TAB_TEXTELSETTINGS = \"INTEGRATION:TEXTEL:TAB:TEXTELSETTINGS\";\r\n\t\tpublic static INTEGRATION_TEXTELMARKETING = \"INTEGRATION:TEXTELMARKETING\";\r\n\t\tpublic static INTEGRATION_TIPPY_INTERNAL = \"INTEGRATION:TIPPY:INTERNAL\";\r\n\t\tpublic static INTEGRATION_TIPPY = \"INTEGRATION:TIPPY\";\r\n\t\tpublic static INTEGRATION_TRANSWORLD = \"INTEGRATION:TRANSWORLD\";\r\n\t\tpublic static INTEGRATION_TRANSWORLD_TAB_MAIN = \"INTEGRATION:TRANSWORLD:TAB:MAIN\";\r\n\t\tpublic static INTERNAL = \"INTERNAL\";\r\n\t\tpublic static INVENTORY_COUNT_COMMIT = \"INVENTORY:COUNT:COMMIT\";\r\n\t\tpublic static INVENTORY_COUNT = \"INVENTORY:COUNT\";\r\n\t\tpublic static INVENTORY_COUNT_FIELD_ONHAND = \"INVENTORY:COUNT:FIELD:ONHAND\";\r\n\t\tpublic static INVENTORY_COUNT_LINEITEM = \"INVENTORY:COUNT:LINEITEM\";\r\n\t\tpublic static INVENTORY_EMPLOYEESUPPLYUSAGE = \"INVENTORY:EMPLOYEESUPPLYUSAGE\";\r\n\t\tpublic static INVENTORY_EMPLOYEESUPPLYUSAGE_TAB_HISTORY = \"INVENTORY:EMPLOYEESUPPLYUSAGE:TAB:HISTORY\";\r\n\t\tpublic static INVENTORY_EMPLOYEESUPPLYUSAGE_TAB_MAIN = \"INVENTORY:EMPLOYEESUPPLYUSAGE:TAB:MAIN\";\r\n\t\tpublic static INVENTORY_EMPLOYEESUPPLYUSAGE_TAB_MAIN_WHOLESALECOST = \"INVENTORY:EMPLOYEESUPPLYUSAGE:TAB:MAIN:WHOLESALECOST\";\r\n\t\tpublic static INVENTORY_FLOORLOCATION_FIELD_STATUS = \"INVENTORY:FLOORLOCATION:FIELD:STATUS\";\r\n\t\tpublic static INVENTORY_FLOORLOCATION = \"INVENTORY:FLOORLOCATION\";\r\n\t\tpublic static INVENTORY_FLOORLOCATION_TAB_MAIN = \"INVENTORY:FLOORLOCATION:TAB:MAIN\";\r\n\t\tpublic static INVENTORY_MISCSUPPLYDEFINITIONS = \"INVENTORY:MISCSUPPLYDEFINITIONS\";\r\n\t\tpublic static INVENTORY_MISCSUPPLYDEFINITIONS_TAB_MAIN = \"INVENTORY:MISCSUPPLYDEFINITIONS:TAB:MAIN\";\r\n\t\tpublic static INVENTORY_PRODUCTMODAL_INVENTORYDATA = \"INVENTORY:PRODUCTMODAL:INVENTORYDATA\";\r\n\t\tpublic static INVENTORY_PRODUCTMODAL = \"INVENTORY:PRODUCTMODAL\";\r\n\t\tpublic static INVENTORY_PRODUCTMODAL_SALESDATA = \"INVENTORY:PRODUCTMODAL:SALESDATA\";\r\n\t\tpublic static INVENTORY_PURCHASEORDER = \"INVENTORY:PURCHASEORDER\";\r\n\t\tpublic static INVENTORY_PURCHASEORDER_DISCOUNTS_ACTION = \"INVENTORY:PURCHASEORDER:DISCOUNTS:ACTION\";\r\n\t\tpublic static INVENTORY_PURCHASEORDER_SUBMITTOAVEDA_ACTION = \"INVENTORY:PURCHASEORDER:SUBMITTOAVEDA:ACTION\";\r\n\t\tpublic static INVENTORY_PURCHASEORDERNOTE = \"INVENTORY:PURCHASEORDERNOTE\";\r\n\t\tpublic static INVENTORY_PURCHASEORDERNOTE_EDIT = \"INVENTORY:PURCHASEORDERNOTE:EDIT\";\r\n\t\tpublic static INVENTORY_PURCHASEORDERRECEIVAL = \"INVENTORY:PURCHASEORDERRECEIVAL\";\r\n\t\tpublic static INVENTORY = \"INVENTORY\";\r\n\t\tpublic static INVENTORY_RETURNS = \"INVENTORY:RETURNS\";\r\n\t\tpublic static INVENTORY_RETURNS_TAB_MAIN = \"INVENTORY:RETURNS:TAB:MAIN\";\r\n\t\tpublic static INVENTORY_STOCKLEVEL_CENTRALOFFICEDEFAULTS = \"INVENTORY:STOCKLEVEL:CENTRALOFFICEDEFAULTS\";\r\n\t\tpublic static INVENTORY_STOCKLEVEL = \"INVENTORY:STOCKLEVEL\";\r\n\t\tpublic static INVENTORY_TRANSFER_ACTION_EXPORT = \"INVENTORY:TRANSFER:ACTION:EXPORT\";\r\n\t\tpublic static INVENTORY_TRANSFER_ACTION_RECALL = \"INVENTORY:TRANSFER:ACTION:RECALL\";\r\n\t\tpublic static INVENTORY_TRANSFER_ACTION_RECEIVE = \"INVENTORY:TRANSFER:ACTION:RECEIVE\";\r\n\t\tpublic static INVENTORY_TRANSFER_ACTION_RETURN = \"INVENTORY:TRANSFER:ACTION:RETURN\";\r\n\t\tpublic static INVENTORY_TRANSFER_ACTION_TRANSFEROUT = \"INVENTORY:TRANSFER:ACTION:TRANSFEROUT\";\r\n\t\tpublic static INVENTORY_TRANSFER = \"INVENTORY:TRANSFER\";\r\n\t\tpublic static INVENTORY_TRANSFER_RECEIVINGLOCATIONONHAND = \"INVENTORY:TRANSFER:RECEIVINGLOCATIONONHAND\";\r\n\t\tpublic static INVENTORY_TRANSFERNOTE = \"INVENTORY:TRANSFERNOTE\";\r\n\t\tpublic static INVENTORY_TRANSFERNOTE_EDIT = \"INVENTORY:TRANSFERNOTE:EDIT\";\r\n\t\tpublic static INVENTORY_USAGEREASON_FIELD_STATUS = \"INVENTORY:USAGEREASON:FIELD:STATUS\";\r\n\t\tpublic static INVENTORY_USAGEREASON = \"INVENTORY:USAGEREASON\";\r\n\t\tpublic static INVENTORY_USAGEREASON_TAB_MAIN = \"INVENTORY:USAGEREASON:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_ACTIVITYLOG = \"MANAGEMENT:ACTIVITYLOG\";\r\n\t\tpublic static MANAGEMENT_ALERTSLOG_FIELD_EMPLOYEEUSERFILTER = \"MANAGEMENT:ALERTSLOG:FIELD:EMPLOYEEUSERFILTER\";\r\n\t\tpublic static MANAGEMENT_ALERTSLOG = \"MANAGEMENT:ALERTSLOG\";\r\n\t\tpublic static MANAGEMENT_ALERTSMANAGER = \"MANAGEMENT:ALERTSMANAGER\";\r\n\t\tpublic static MANAGEMENT_ALERTSMANAGER_FIELD_EMPLOYEE = \"MANAGEMENT:ALERTSMANAGER:FIELD:EMPLOYEE\";\r\n\t\tpublic static MANAGEMENT_ALERTSMANAGER_FIELD_EMPLOYEEUSERFILTER = \"MANAGEMENT:ALERTSMANAGER:FIELD:EMPLOYEEUSERFILTER\";\r\n\t\tpublic static MANAGEMENT_CLIENTAPP = \"MANAGEMENT:CLIENTAPP\";\r\n\t\tpublic static MANAGEMENT_CLIENTAPP_TAB_CHATWINDOW_DELETECONVERSATION = \"MANAGEMENT:CLIENTAPP:TAB:CHATWINDOW:DELETECONVERSATION\";\r\n\t\tpublic static MANAGEMENT_CLIENTAPP_TAB_CHATWINDOW = \"MANAGEMENT:CLIENTAPP:TAB:CHATWINDOW\";\r\n\t\tpublic static MANAGEMENT_CLIENTAPP_TAB_CHATWINDOW_UNDELETECONVERSATION = \"MANAGEMENT:CLIENTAPP:TAB:CHATWINDOW:UNDELETECONVERSATION\";\r\n\t\tpublic static MANAGEMENT_CLIENTAPP_TAB_CLIENTAPPSETTINGS = \"MANAGEMENT:CLIENTAPP:TAB:CLIENTAPPSETTINGS\";\r\n\t\tpublic static MANAGEMENT_CLIENTAPP_TAB = \"MANAGEMENT:CLIENTAPP:TAB\";\r\n\t\tpublic static MANAGEMENT_AUDITHISTORY = \"MANAGEMENT:AUDITHISTORY\";\r\n\t\tpublic static MANAGEMENT_BASICMARKETING_ACTION_EXPORT = \"MANAGEMENT:BASICMARKETING:ACTION:EXPORT\";\r\n\t\tpublic static MANAGEMENT_BASICMARKETING = \"MANAGEMENT:BASICMARKETING\";\r\n\t\tpublic static MANAGEMENT_CLIENTINTAKEFORMBUILDER = \"MANAGEMENT:CLIENTINTAKEFORMBUILDER\";\r\n\t\tpublic static MANAGEMENT_CLIENTINTAKEFORMBUILDER_TAB_FORMBUILDER = \"MANAGEMENT:CLIENTINTAKEFORMBUILDER:TAB:FORMBUILDER\";\r\n\t\tpublic static MANAGEMENT_CLIENTINTAKEFORMBUILDER_TAB_MAIN = \"MANAGEMENT:CLIENTINTAKEFORMBUILDER:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_CLIENTMERGE = \"MANAGEMENT:CLIENTMERGE\";\r\n\t\tpublic static MANAGEMENT_CLIENTPOINT_ACTION_CLIENTPOINTSINDICATOR = \"MANAGEMENT:CLIENTPOINT:ACTION:CLIENTPOINTSINDICATOR\";\r\n\t\tpublic static MANAGEMENT_CLIENTPOINT_PAYMENTTYPE = \"MANAGEMENT:CLIENTPOINT:PAYMENTTYPE\";\r\n\t\tpublic static MANAGEMENT_CLIENTPOINT = \"MANAGEMENT:CLIENTPOINT\";\r\n\t\tpublic static MANAGEMENT_CLIENTPOINT_TAB_HISTORY = \"MANAGEMENT:CLIENTPOINT:TAB:HISTORY\";\r\n\t\tpublic static MANAGEMENT_CLIENTPOINT_TAB_MAIN = \"MANAGEMENT:CLIENTPOINT:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_CUSTOMBRANDING = \"MANAGEMENT:CUSTOMBRANDING\";\r\n\t\tpublic static MANAGEMENT_CUSTOMBRANDING_TAB_MAIN = \"MANAGEMENT:CUSTOMBRANDING:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_DASHBOARDS_LICENSES = \"MANAGEMENT:DASHBOARDS:LICENSES\";\r\n\t\tpublic static MANAGEMENT_DASHBOARDS_LICENSES_TAB_ASSIGNMENT = \"MANAGEMENT:DASHBOARDS:LICENSES:TAB:ASSIGNMENT\";\r\n\t\tpublic static MANAGEMENT_DASHBOARDS_LICENSES_TAB_MAIN = \"MANAGEMENT:DASHBOARDS:LICENSES:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_DOCSANDFORMS = \"MANAGEMENT:DOCSANDFORMS\";\r\n\t\tpublic static MANAGEMENT_EGIFT_ACTION_TRANSACTIONS_RESEND = \"MANAGEMENT:EGIFT:ACTION:TRANSACTIONS:RESEND\";\r\n\t\tpublic static MANAGEMENT_EGIFT = \"MANAGEMENT:EGIFT\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_GIFTCARDTEMPLATES = \"MANAGEMENT:EGIFT:TAB:GIFTCARDTEMPLATES\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_MAIN = \"MANAGEMENT:EGIFT:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_NOTIFICATIONS = \"MANAGEMENT:EGIFT:TAB:NOTIFICATIONS\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_PACKAGES = \"MANAGEMENT:EGIFT:TAB:PACKAGES\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_PROMOTIONS = \"MANAGEMENT:EGIFT:TAB:PROMOTIONS\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_SERVICES = \"MANAGEMENT:EGIFT:TAB:SERVICES\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_TEMPLATES_CUSTOM = \"MANAGEMENT:EGIFT:TAB:TEMPLATES:CUSTOM\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_TEMPLATES = \"MANAGEMENT:EGIFT:TAB:TEMPLATES\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_TEMPLATES_SYSTEM = \"MANAGEMENT:EGIFT:TAB:TEMPLATES:SYSTEM\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_TRANSACTIONS_NOTE = \"MANAGEMENT:EGIFT:TAB:TRANSACTIONS:NOTE\";\r\n\t\tpublic static MANAGEMENT_EGIFT_TAB_TRANSACTIONS = \"MANAGEMENT:EGIFT:TAB:TRANSACTIONS\";\r\n\t\tpublic static MANAGEMENT_INTEGRATION = \"MANAGEMENT:INTEGRATION\";\r\n\t\tpublic static MANAGEMENT_INTEGRATION_TAB_MAIN = \"MANAGEMENT:INTEGRATION:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_IPRESTRICTION_FIELD_STATUS = \"MANAGEMENT:IPRESTRICTION:FIELD:STATUS\";\r\n\t\tpublic static MANAGEMENT_IPRESTRICTION = \"MANAGEMENT:IPRESTRICTION\";\r\n\t\tpublic static MANAGEMENT_IPRESTRICTION_TAB_MAIN = \"MANAGEMENT:IPRESTRICTION:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_LOCATION_FIELD_EFTTOBEPROCESSEDSTATUS = \"MANAGEMENT:LOCATION:FIELD:EFTTOBEPROCESSEDSTATUS\";\r\n\t\tpublic static MANAGEMENT_LOCATION_FIELD_ENABLEAPPOINTMENTNOTIFICATION = \"MANAGEMENT:LOCATION:FIELD:ENABLEAPPOINTMENTNOTIFICATION\";\r\n\t\tpublic static MANAGEMENT_LOCATION_FIELD_ENABLEAUTOBILLINGSERVICE = \"MANAGEMENT:LOCATION:FIELD:ENABLEAUTOBILLINGSERVICE\";\r\n\t\tpublic static MANAGEMENT_LOCATION_FIELD_ENABLEMEMBERSHIPBILLING = \"MANAGEMENT:LOCATION:FIELD:ENABLEMEMBERSHIPBILLING\";\r\n\t\tpublic static MANAGEMENT_LOCATION_FIELD_ENABLEONLINEWALKINMANAGER = \"MANAGEMENT:LOCATION:FIELD:ENABLEONLINEWALKINMANAGER\";\r\n\t\tpublic static MANAGEMENT_LOCATION_FIELD_ENABLETHIRDPARTYINTEGRATION = \"MANAGEMENT:LOCATION:FIELD:ENABLETHIRDPARTYINTEGRATION\";\r\n\t\tpublic static MANAGEMENT_LOCATION = \"MANAGEMENT:LOCATION\";\r\n\t\tpublic static MANAGEMENT_LOCATION_TAB_MAIN = \"MANAGEMENT:LOCATION:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_MANUALMERGECLIENTS = \"MANAGEMENT:MANUALMERGECLIENTS\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_ACTION_SCHEDULELOCATIONTRANSFER = \"MANAGEMENT:MARKETPRICING:ACTION:SCHEDULELOCATIONTRANSFER\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING = \"MANAGEMENT:MARKETPRICING\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_DISCOUNTS = \"MANAGEMENT:MARKETPRICING:TAB:DISCOUNTS\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_GIFTCARDTYPES = \"MANAGEMENT:MARKETPRICING:TAB:GIFTCARDTYPES\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_HISTORY = \"MANAGEMENT:MARKETPRICING:TAB:HISTORY\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_LOCATIONS = \"MANAGEMENT:MARKETPRICING:TAB:LOCATIONS\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_MAIN = \"MANAGEMENT:MARKETPRICING:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_MEMBERBENEFITTEMPLATES = \"MANAGEMENT:MARKETPRICING:TAB:MEMBERBENEFITTEMPLATES\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_MEMBERSHIPS = \"MANAGEMENT:MARKETPRICING:TAB:MEMBERSHIPS\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_PACKAGES = \"MANAGEMENT:MARKETPRICING:TAB:PACKAGES\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_PRODUCTS = \"MANAGEMENT:MARKETPRICING:TAB:PRODUCTS\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_SERVICES = \"MANAGEMENT:MARKETPRICING:TAB:SERVICES\";\r\n\t\tpublic static MANAGEMENT_MARKETPRICING_TAB_SWAPGROUP = \"MANAGEMENT:MARKETPRICING:TAB:SWAPGROUP\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_ARRIVALS_CHATWINDOW_DELETECONVERSATION = \"MANAGEMENT:MEEVOMESSENGER:ARRIVALS:CHATWINDOW:DELETECONVERSATION\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_ARRIVALS_CHATWINDOW = \"MANAGEMENT:MEEVOMESSENGER:ARRIVALS:CHATWINDOW\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_ARRIVALS_CHATWINDOW_SENDEMESSAGE = \"MANAGEMENT:MEEVOMESSENGER:ARRIVALS:CHATWINDOW:SENDEMESSAGE\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_ARRIVALS_CHATWINDOW_UNDELETECONVERSATION = \"MANAGEMENT:MEEVOMESSENGER:ARRIVALS:CHATWINDOW:UNDELETECONVERSATION\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_ARRIVALS = \"MANAGEMENT:MEEVOMESSENGER:ARRIVALS\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_MEEVOMESSENGERSETTINGS_ARRIVALSSETTINGS = \"MANAGEMENT:MEEVOMESSENGER:MEEVOMESSENGERSETTINGS:ARRIVALSSETTINGS\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER_MEEVOMESSENGERSETTINGS = \"MANAGEMENT:MEEVOMESSENGER:MEEVOMESSENGERSETTINGS\";\r\n\t\tpublic static MANAGEMENT_MEEVOMESSENGER = \"MANAGEMENT:MEEVOMESSENGER\";\r\n\t\tpublic static MANAGEMENT_MEEVOTHEMING = \"MANAGEMENT:MEEVOTHEMING\";\r\n\t\tpublic static MANAGEMENT_MEEVOTHEMING_TAB_DATAMAINT = \"MANAGEMENT:MEEVOTHEMING:TAB:DATAMAINT\";\r\n\t\tpublic static MANAGEMENT_MEEVOTHEMING_TAB_SMARTCENTER = \"MANAGEMENT:MEEVOTHEMING:TAB:SMARTCENTER\";\r\n\t\tpublic static MANAGEMENT_MEEVOTHEMING_TAB_TASKBAR = \"MANAGEMENT:MEEVOTHEMING:TAB:TASKBAR\";\r\n\t\tpublic static MANAGEMENT_ONLINEBOOKINGSETTINGS_FIELD_WEBACCESS = \"MANAGEMENT:ONLINEBOOKINGSETTINGS:FIELD:WEBACCESS\";\r\n\t\tpublic static MANAGEMENT_ONLINEBOOKINGSETTINGS = \"MANAGEMENT:ONLINEBOOKINGSETTINGS\";\r\n\t\tpublic static MANAGEMENT_ONLINEBOOKINGSETTINGS_TAB_ANNOUNCEMENTS = \"MANAGEMENT:ONLINEBOOKINGSETTINGS:TAB:ANNOUNCEMENTS\";\r\n\t\tpublic static MANAGEMENT_ONLINEBOOKINGSETTINGS_TAB_EMPLOYEES = \"MANAGEMENT:ONLINEBOOKINGSETTINGS:TAB:EMPLOYEES\";\r\n\t\tpublic static MANAGEMENT_ONLINEBOOKINGSETTINGS_TAB_MAIN = \"MANAGEMENT:ONLINEBOOKINGSETTINGS:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_ONLINEBOOKINGSETTINGS_TAB_SERVICES = \"MANAGEMENT:ONLINEBOOKINGSETTINGS:TAB:SERVICES\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER = \"MANAGEMENT:PAYMENTPLANMANAGER\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER_TAB_CC = \"MANAGEMENT:PAYMENTPLANMANAGER:TAB:CC\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER_TAB_MAIN = \"MANAGEMENT:PAYMENTPLANMANAGER:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER_TAB_NOTES = \"MANAGEMENT:PAYMENTPLANMANAGER:TAB:NOTES\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER_TAB_PAYMENTS_ADJUSTEFTDAYOFTHEMONTH = \"MANAGEMENT:PAYMENTPLANMANAGER:TAB:PAYMENTS:ADJUSTEFTDAYOFTHEMONTH\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER_TAB_PAYMENTS_MANUALPAYEFT = \"MANAGEMENT:PAYMENTPLANMANAGER:TAB:PAYMENTS:MANUALPAYEFT\";\r\n\t\tpublic static MANAGEMENT_PAYMENTPLANMANAGER_TAB_PAYMENTS = \"MANAGEMENT:PAYMENTPLANMANAGER:TAB:PAYMENTS\";\r\n\t\tpublic static MANAGEMENT_PAYROLL_ACTION_ADPRUNLOGIN = \"MANAGEMENT:PAYROLL:ACTION:ADPRUNLOGIN\";\r\n\t\tpublic static MANAGEMENT_PAYROLL_ACTION_ADPRUNSUBMIT = \"MANAGEMENT:PAYROLL:ACTION:ADPRUNSUBMIT\";\r\n\t\tpublic static MANAGEMENT_PAYROLL_ACTION_ADPWFNLOGIN = \"MANAGEMENT:PAYROLL:ACTION:ADPWFNLOGIN\";\r\n\t\tpublic static MANAGEMENT_PAYROLL_ACTION_ADPWFNSUBMIT = \"MANAGEMENT:PAYROLL:ACTION:ADPWFNSUBMIT\";\r\n\t\tpublic static MANAGEMENT_PAYROLL_ACTION_RECALCULATE = \"MANAGEMENT:PAYROLL:ACTION:RECALCULATE\";\r\n\t\tpublic static MANAGEMENT_PAYROLL_ACTION_VIEWDETAILS = \"MANAGEMENT:PAYROLL:ACTION:VIEWDETAILS\";\r\n\t\tpublic static MANAGEMENT_PAYROLL = \"MANAGEMENT:PAYROLL\";\r\n\t\tpublic static MANAGEMENT_POINTPROMOTIONCAMPAIGN = \"MANAGEMENT:POINTPROMOTIONCAMPAIGN\";\r\n\t\tpublic static MANAGEMENT_POINTPROMOTIONCAMPAIGN_FIELD_STATUS = \"MANAGEMENT:POINTPROMOTIONCAMPAIGN:FIELD:STATUS\";\r\n\t\tpublic static MANAGEMENT_PRICEMANAGEMENT = \"MANAGEMENT:PRICEMANAGEMENT\";\r\n\t\tpublic static MANAGEMENT_PRICEMANAGEMENT_TAB_HISTORY = \"MANAGEMENT:PRICEMANAGEMENT:TAB:HISTORY\";\r\n\t\tpublic static MANAGEMENT_PRICEMANAGEMENT_TAB_PRODUCTS = \"MANAGEMENT:PRICEMANAGEMENT:TAB:PRODUCTS\";\r\n\t\tpublic static MANAGEMENT_PRICEMANAGEMENT_TAB_SCHEDULEPRICECHANGE = \"MANAGEMENT:PRICEMANAGEMENT:TAB:SCHEDULEPRICECHANGE\";\r\n\t\tpublic static MANAGEMENT_PRICEMANAGEMENT_TAB_SERVICES = \"MANAGEMENT:PRICEMANAGEMENT:TAB:SERVICES\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS_ACTION_CREATESALESFORCETICKET = \"MANAGEMENT:PROFILESETTINGS:ACTION:CREATESALESFORCETICKET\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS_ACTION_LIVECHATSUPPORT = \"MANAGEMENT:PROFILESETTINGS:ACTION:LIVECHATSUPPORT\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS_ACTION_REMOTEASSISTANCE = \"MANAGEMENT:PROFILESETTINGS:ACTION:REMOTEASSISTANCE\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS = \"MANAGEMENT:PROFILESETTINGS\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS_TAB_IMAGEGALLERY = \"MANAGEMENT:PROFILESETTINGS:TAB:IMAGEGALLERY\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS_TAB_MAIN = \"MANAGEMENT:PROFILESETTINGS:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_PROFILESETTINGS_TAB_SERVICES = \"MANAGEMENT:PROFILESETTINGS:TAB:SERVICES\";\r\n\t\tpublic static MANAGEMENT_RATINGSCONTROLPANEL_ACTION_EDITALLRATINGS = \"MANAGEMENT:RATINGSCONTROLPANEL:ACTION:EDITALLRATINGS\";\r\n\t\tpublic static MANAGEMENT_RATINGSCONTROLPANEL_ACTION_EDITMYRATINGS = \"MANAGEMENT:RATINGSCONTROLPANEL:ACTION:EDITMYRATINGS\";\r\n\t\tpublic static MANAGEMENT_RATINGSCONTROLPANEL_ACTION_VIEWALLEMPLOYEESRATINGS = \"MANAGEMENT:RATINGSCONTROLPANEL:ACTION:VIEWALLEMPLOYEESRATINGS\";\r\n\t\tpublic static MANAGEMENT_RATINGSCONTROLPANEL_FIELD_CLIENTNAME = \"MANAGEMENT:RATINGSCONTROLPANEL:FIELD:CLIENTNAME\";\r\n\t\tpublic static MANAGEMENT_RATINGSCONTROLPANEL_FIELD_COMMENT = \"MANAGEMENT:RATINGSCONTROLPANEL:FIELD:COMMENT\";\r\n\t\tpublic static MANAGEMENT_RATINGSCONTROLPANEL = \"MANAGEMENT:RATINGSCONTROLPANEL\";\r\n\t\tpublic static MANAGEMENT = \"MANAGEMENT\";\r\n\t\tpublic static MANAGEMENT_REPORTSCHEDULE = \"MANAGEMENT:REPORTSCHEDULE\";\r\n\t\tpublic static MANAGEMENT_REPORTSCHEDULE_TAB_MAIN = \"MANAGEMENT:REPORTSCHEDULE:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_ROYALTYEXPORTSETTINGS = \"MANAGEMENT:ROYALTYEXPORTSETTINGS\";\r\n\t\tpublic static MANAGEMENT_ROYALTYEXPORTSETTINGS_ROYALTY_EXPORT = \"MANAGEMENT:ROYALTYEXPORTSETTINGS:ROYALTY_EXPORT\";\r\n\t\tpublic static MANAGEMENT_ROYALTYEXPORTSETTINGS_TAB_EXCLUSIONS = \"MANAGEMENT:ROYALTYEXPORTSETTINGS:TAB:EXCLUSIONS\";\r\n\t\tpublic static MANAGEMENT_ROYALTYEXPORTSETTINGS_TAB_MAIN = \"MANAGEMENT:ROYALTYEXPORTSETTINGS:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_SALESRANKING = \"MANAGEMENT:SALESRANKING\";\r\n\t\tpublic static MANAGEMENT_SANDBOX = \"MANAGEMENT:SANDBOX\";\r\n\t\tpublic static MANAGEMENT_SANDBOX_REQUEST_ACTION_CANCEL = \"MANAGEMENT:SANDBOX:REQUEST:ACTION:CANCEL\";\r\n\t\tpublic static MANAGEMENT_SANDBOX_REQUEST_ACTION = \"MANAGEMENT:SANDBOX:REQUEST:ACTION\";\r\n\t\tpublic static MANAGEMENT_SANDBOX_REQUEST_ACTION_REFRESH = \"MANAGEMENT:SANDBOX:REQUEST:ACTION:REFRESH\";\r\n\t\tpublic static MANAGEMENT_SECURITYROLE_FIELD_STATUS = \"MANAGEMENT:SECURITYROLE:FIELD:STATUS\";\r\n\t\tpublic static MANAGEMENT_SECURITYROLE = \"MANAGEMENT:SECURITYROLE\";\r\n\t\tpublic static MANAGEMENT_SECURITYROLE_TAB_MAIN = \"MANAGEMENT:SECURITYROLE:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_SECURITYROLESMANAGER = \"MANAGEMENT:SECURITYROLESMANAGER\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTCOUNT = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTCOUNT\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTLIST = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTLIST\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTSBOOKEDTODAY = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTSBOOKEDTODAY\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTSERVICES = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTSERVICES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTSNOTCHECKEDIN = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTSNOTCHECKEDIN\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTSNOTCONFIRMED = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTSNOTCONFIRMED\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_APPOINTMENTSTORESCHEDULE = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:APPOINTMENTSTORESCHEDULE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_CLIENTBIRTHDAYORANNIVERSARY = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:CLIENTBIRTHDAYORANNIVERSARY\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_CLIENTSLATEFORAPPOINTMENTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:CLIENTSLATEFORAPPOINTMENTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_CLIENTSWITHAPPOINTMENTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:CLIENTSWITHAPPOINTMENTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_NEWCLIENTSWITHAPPOINTMENTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:NEWCLIENTSWITHAPPOINTMENTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_NOSHOWAPPOINTMENTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:NOSHOWAPPOINTMENTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_PERCENTAGEBOOKED = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:PERCENTAGEBOOKED\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_REBOOKEDAPPOINTMENTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:REBOOKEDAPPOINTMENTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_SERVICEADDONSTODAY = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:SERVICEADDONSTODAY\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_SERVICEPROVIDERREQUESTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:SERVICEPROVIDERREQUESTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_STANDINGCONFLICTS = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:STANDINGCONFLICTS\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_TODAYSWAITLIST = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:TODAYSWAITLIST\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_TOP5SERVICEBOOKEDMONTH = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:TOP5SERVICEBOOKEDMONTH\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_TOP5SERVICEBOOKEDTODAY = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:TOP5SERVICEBOOKEDTODAY\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_TOPSERVICESBOOKED = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:TOPSERVICESBOOKED\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_APPOINTMENTBOOK_TOPSERVICESPERFORMED = \"MANAGEMENT:SMARTCENTER:APPOINTMENTBOOK:TOPSERVICESPERFORMED\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_EMPLOYEE_BIRTHDAYANNIVERSARY = \"MANAGEMENT:SMARTCENTER:EMPLOYEE:BIRTHDAYANNIVERSARY\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_EMPLOYEE_HOURSNOTSOLD = \"MANAGEMENT:SMARTCENTER:EMPLOYEE:HOURSNOTSOLD\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_EMPLOYEE_LICENSEINSURANCE = \"MANAGEMENT:SMARTCENTER:EMPLOYEE:LICENSEINSURANCE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_EMPLOYEE_TIMECLOCKWHOISCLOCKEDIN = \"MANAGEMENT:SMARTCENTER:EMPLOYEE:TIMECLOCKWHOISCLOCKEDIN\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_EMPLOYEE_TIMECLOCKWHOISONBREAK = \"MANAGEMENT:SMARTCENTER:EMPLOYEE:TIMECLOCKWHOISONBREAK\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_EMPLOYEE_USERLOGGEDINTODAY = \"MANAGEMENT:SMARTCENTER:EMPLOYEE:USERLOGGEDINTODAY\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_CHURNMONTHLYRECURRINGREVENUE = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:CHURNMONTHLYRECURRINGREVENUE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_EXPANSIONMONTHLYRECURRINGREVENUE = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:EXPANSIONMONTHLYRECURRINGREVENUE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_GROWTHMONTHLYRECURRINGREVENUE = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:GROWTHMONTHLYRECURRINGREVENUE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_MEMBERSHIPCCEXPIRATION = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:MEMBERSHIPCCEXPIRATION\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_MEMBERSHIPCONVERSION = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:MEMBERSHIPCONVERSION\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_MEMBERSHIPSSOLD = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:MEMBERSHIPSSOLD\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_MEMBERSHIPSSUSPENDED = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:MEMBERSHIPSSUSPENDED\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_MEMBERSHIP_MONTHLYRECURRINGREVENUE = \"MANAGEMENT:SMARTCENTER:MEMBERSHIP:MONTHLYRECURRINGREVENUE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_AVERAGESALES = \"MANAGEMENT:SMARTCENTER:REGISTER:AVERAGESALES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_ESTIMATEDSALES = \"MANAGEMENT:SMARTCENTER:REGISTER:ESTIMATEDSALES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_FIVESTARRATING = \"MANAGEMENT:SMARTCENTER:REGISTER:FIVESTARRATING\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_GROSSSALES = \"MANAGEMENT:SMARTCENTER:REGISTER:GROSSSALES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_PRODUCTCATEGORYSALES = \"MANAGEMENT:SMARTCENTER:REGISTER:PRODUCTCATEGORYSALES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_RETAILUNITSSALES = \"MANAGEMENT:SMARTCENTER:REGISTER:RETAILUNITSSALES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_REGISTER_SERVICECATEGORYSALES = \"MANAGEMENT:SMARTCENTER:REGISTER:SERVICECATEGORYSALES\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_SYSTEM_CONVOSHORTCUT = \"MANAGEMENT:SMARTCENTER:SYSTEM:CONVOSHORTCUT\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_SYSTEM_DATECOUNTER = \"MANAGEMENT:SMARTCENTER:SYSTEM:DATECOUNTER\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_SYSTEM_IMAGE = \"MANAGEMENT:SMARTCENTER:SYSTEM:IMAGE\";\r\n\t\tpublic static MANAGEMENT_SMARTCENTER_SYSTEM_MENUSHORTCUT = \"MANAGEMENT:SMARTCENTER:SYSTEM:MENUSHORTCUT\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM_ACTION_ADJUSTMENTSPERDAYTIME = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM:ACTION:ADJUSTMENTSPERDAYTIME\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM_ACTION_EDITSERVICEOVERRIDES = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM:ACTION:EDITSERVICEOVERRIDES\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM_TAB_CLIENTS = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM:TAB:CLIENTS\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM_TAB_EMPLOYEES = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM:TAB:EMPLOYEES\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM_TAB_MAIN = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM:TAB:MAIN\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTPROGRAM_TAB_SERVICES = \"MANAGEMENT:YIELDMANAGEMENTPROGRAM:TAB:SERVICES\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTSTRATEGY = \"MANAGEMENT:YIELDMANAGEMENTSTRATEGY\";\r\n\t\tpublic static MANAGEMENT_YIELDMANAGEMENTSTRATEGY_TAB_MAIN = \"MANAGEMENT:YIELDMANAGEMENTSTRATEGY:TAB:MAIN\";\r\n\t\tpublic static MARKETING_BASICMARKETING_ACTION_EXPORT = \"MARKETING:BASICMARKETING:ACTION:EXPORT\";\r\n\t\tpublic static MARKETING_BASICMARKETING = \"MARKETING:BASICMARKETING\";\r\n\t\tpublic static MARKETING_EMMA = \"MARKETING:EMMA\";\r\n\t\tpublic static MARKETING_LOCALSEOPROFILESETTINGS = \"MARKETING:LOCALSEOPROFILESETTINGS\";\r\n\t\tpublic static MARKETING_ONLINELISTINGSMANAGEMENT = \"MARKETING:ONLINELISTINGSMANAGEMENT\";\r\n\t\tpublic static MARKETING_ONLINEPRESENCEANALYTICS = \"MARKETING:ONLINEPRESENCEANALYTICS\";\r\n\t\tpublic static MARKETING_ONLINEPRESENCENOTIFICATIONS = \"MARKETING:ONLINEPRESENCENOTIFICATIONS\";\r\n\t\tpublic static MARKETING_ONLINEPRESENCESETTINGS = \"MARKETING:ONLINEPRESENCESETTINGS\";\r\n\t\tpublic static MARKETING = \"MARKETING\";\r\n\t\tpublic static MARKETING_REPUTATIONMANAGEMENT = \"MARKETING:REPUTATIONMANAGEMENT\";\r\n\t\tpublic static MEEVOPAY = \"MEEVOPAY\";\r\n\t\tpublic static MEEVOPAY_ACTION_STARTANEWAPPLICATION = \"MEEVOPAY:ACTION:STARTANEWAPPLICATION\";\r\n\t\tpublic static MEEVOPAY_MEEVOPAY_INTERNAL = \"MEEVOPAY:MEEVOPAY:INTERNAL\";\r\n\t\tpublic static MEEVOSTORE_BUSINESSBOOSTERSIFRAME = \"MEEVOSTORE:BUSINESSBOOSTERSIFRAME\";\r\n\t\tpublic static MEEVOSTORE_HARDWAREPERIPHERALSIFRAME = \"MEEVOSTORE:HARDWAREPERIPHERALSIFRAME\";\r\n\t\tpublic static MEEVOSTORE_INTEGRATIONIFRAME = \"MEEVOSTORE:INTEGRATIONIFRAME\";\r\n\t\tpublic static MEEVOSTORE_MEEVOEXCHANGESSO = \"MEEVOSTORE:MEEVOEXCHANGESSO\";\r\n\t\tpublic static MEEVOSTORE_MEEVOSTORE = \"MEEVOSTORE:MEEVOSTORE\";\r\n\t\tpublic static MEEVOSTORE = \"MEEVOSTORE\";\r\n\t\tpublic static MEMBERSHIP_CANCELLATIONREASON_FIELD_STATUS = \"MEMBERSHIP:CANCELLATIONREASON:FIELD:STATUS\";\r\n\t\tpublic static MEMBERSHIP_CANCELLATIONREASON = \"MEMBERSHIP:CANCELLATIONREASON\";\r\n\t\tpublic static MEMBERSHIP_CANCELLATIONREASON_TAB_MAIN = \"MEMBERSHIP:CANCELLATIONREASON:TAB:MAIN\";\r\n\t\tpublic static MEMBERSHIP_EFTCONTROLPANEL_ACTION_PROCESSEFTS = \"MEMBERSHIP:EFTCONTROLPANEL:ACTION:PROCESSEFTS\";\r\n\t\tpublic static MEMBERSHIP_EFTCONTROLPANEL = \"MEMBERSHIP:EFTCONTROLPANEL\";\r\n\t\tpublic static MEMBERSHIP_MEMBERBENEFITTEMPLATE_FIELD_STATUS = \"MEMBERSHIP:MEMBERBENEFITTEMPLATE:FIELD:STATUS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERBENEFITTEMPLATE = \"MEMBERSHIP:MEMBERBENEFITTEMPLATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERBENEFITTEMPLATE_TAB_MAIN = \"MEMBERSHIP:MEMBERBENEFITTEMPLATE:TAB:MAIN\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP_ACTION_BENEFITOVERRIDE = \"MEMBERSHIP:MEMBERSHIP:ACTION:BENEFITOVERRIDE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP_FIELD_CHANGEFREEZEFEES = \"MEMBERSHIP:MEMBERSHIP:FIELD:CHANGEFREEZEFEES\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP_FIELD_STATUS = \"MEMBERSHIP:MEMBERSHIP:FIELD:STATUS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP = \"MEMBERSHIP:MEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP_TAB_COMMISSION = \"MEMBERSHIP:MEMBERSHIP:TAB:COMMISSION\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP_TAB_MAIN = \"MEMBERSHIP:MEMBERSHIP:TAB:MAIN\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIP_TAB_NOTES = \"MEMBERSHIP:MEMBERSHIP:TAB:NOTES\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_ADJUSTENROLLMENTDATE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:ADJUSTENROLLMENTDATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_ADJUSTFREEZEFEE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:ADJUSTFREEZEFEE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CANCELMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CANCELMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CHANGEACCRUEDSERVICEEXPIRATIONDATE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CHANGEACCRUEDSERVICEEXPIRATIONDATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CHANGECANCELLATIONDATE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CHANGECANCELLATIONDATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CHANGEMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CHANGEMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CHANGEPAYMENTDAY = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CHANGEPAYMENTDAY\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CHANGEPAYMENTSTATUS = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CHANGEPAYMENTSTATUS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_CHANGETERMINATIONDATE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:CHANGETERMINATIONDATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_DELETEPAYMENT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:DELETEPAYMENT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_EDITRECURRINGFEE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:EDITRECURRINGFEE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_EDITRENEWALFEE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:EDITRENEWALFEE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_FREEZEMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:FREEZEMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_IMMEDIATELYCANCELMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:IMMEDIATELYCANCELMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_MANUALLYINSERTPAYMENT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:MANUALLYINSERTPAYMENT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_MANUALLYPAYRECURRINGPAYMENT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:MANUALLYPAYRECURRINGPAYMENT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_OFFSITE_TRANSFERSERVICEOVERRIDE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:OFFSITE_TRANSFERSERVICEOVERRIDE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_OVERRIDEREACTIVATIONDATE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:OVERRIDEREACTIVATIONDATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_OVERRIDETERMINATIONDATE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:OVERRIDETERMINATIONDATE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_REFUNDPAYMENT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:REFUNDPAYMENT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_SWITCHTOINACTIVE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:SWITCHTOINACTIVE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_TRANSFERMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:TRANSFERMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_TRANSFERSERVICE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:TRANSFERSERVICE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_TRANSFERSERVICEOVERRIDE = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:TRANSFERSERVICEOVERRIDE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_TRANSFERSERVICESOFEXPIREDMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:TRANSFERSERVICESOFEXPIREDMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_UNDOMEMBERSHIPCANCELLATION = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:UNDOMEMBERSHIPCANCELLATION\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_UNFREEZEMEMBERSHIP = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:UNFREEZEMEMBERSHIP\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_UNWAIVEPAYMENT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:UNWAIVEPAYMENT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_VIEWPRINT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:VIEWPRINT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_ACTION_WAIVEPAYMENT = \"MEMBERSHIP:MEMBERSHIPMANAGER:ACTION:WAIVEPAYMENT\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER = \"MEMBERSHIP:MEMBERSHIPMANAGER\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_BENEFITS = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:BENEFITS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_CCACH = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:CCACH\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_CCACH_VIEWACHINFORMATION = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:CCACH:VIEWACHINFORMATION\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_DOCSFORMS = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:DOCSFORMS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_HISTORY = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:HISTORY\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_MAIN = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:MAIN\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_PAYMENTS = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:PAYMENTS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPMANAGER_TAB_TRANSFER = \"MEMBERSHIP:MEMBERSHIPMANAGER:TAB:TRANSFER\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPTYPE_FIELD_STATUS = \"MEMBERSHIP:MEMBERSHIPTYPE:FIELD:STATUS\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPTYPE = \"MEMBERSHIP:MEMBERSHIPTYPE\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPTYPE_TAB_MAIN = \"MEMBERSHIP:MEMBERSHIPTYPE:TAB:MAIN\";\r\n\t\tpublic static MEMBERSHIP_MEMBERSHIPTYPE_TAB_UNGRANDFATHERING = \"MEMBERSHIP:MEMBERSHIPTYPE:TAB:UNGRANDFATHERING\";\r\n\t\tpublic static MEMBERSHIP = \"MEMBERSHIP\";\r\n\t\tpublic static NOTIFICATIONS_SMS_ACTION_ALLOWTWOWAY = \"NOTIFICATIONS:SMS:ACTION:ALLOWTWOWAY\";\r\n\t\tpublic static POWERBIDASHBOARDS = \"POWERBIDASHBOARDS\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP_APPOINTMENTS = \"POWERBIDASHBOARDS:DATAGROUP:APPOINTMENTS\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP_CLIENTS = \"POWERBIDASHBOARDS:DATAGROUP:CLIENTS\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP_EMPLOYEES = \"POWERBIDASHBOARDS:DATAGROUP:EMPLOYEES\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP_MEMBERSHIPS = \"POWERBIDASHBOARDS:DATAGROUP:MEMBERSHIPS\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP_OWNERS = \"POWERBIDASHBOARDS:DATAGROUP:OWNERS\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP = \"POWERBIDASHBOARDS:DATAGROUP\";\r\n\t\tpublic static POWERBIDASHBOARDS_DATAGROUP_SALES = \"POWERBIDASHBOARDS:DATAGROUP:SALES\";\r\n\t\tpublic static REDIRECTSERVICE = \"REDIRECTSERVICE\";\r\n\t\tpublic static REGISTER_CARECREDITAPIGEE_INTERNAL = \"REGISTER:CARECREDITAPIGEE:INTERNAL\";\r\n\t\tpublic static REGISTER_DISCOUNTS_FIELD_APPLIESTOEMPLOYEESONLY = \"REGISTER:DISCOUNTS:FIELD:APPLIESTOEMPLOYEESONLY\";\r\n\t\tpublic static REGISTER_DISCOUNTS_FIELD_STATUS = \"REGISTER:DISCOUNTS:FIELD:STATUS\";\r\n\t\tpublic static REGISTER_DISCOUNTS = \"REGISTER:DISCOUNTS\";\r\n\t\tpublic static REGISTER_DISCOUNTS_TAB_MAIN = \"REGISTER:DISCOUNTS:TAB:MAIN\";\r\n\t\tpublic static REGISTER_DRAWER_FIELD_CASHAMOUNT = \"REGISTER:DRAWER:FIELD:CASHAMOUNT\";\r\n\t\tpublic static REGISTER_DRAWER_FIELD_RECEIPTMESSAGE = \"REGISTER:DRAWER:FIELD:RECEIPTMESSAGE\";\r\n\t\tpublic static REGISTER_DRAWER_FIELD_STATUS = \"REGISTER:DRAWER:FIELD:STATUS\";\r\n\t\tpublic static REGISTER_DRAWER = \"REGISTER:DRAWER\";\r\n\t\tpublic static REGISTER_DRAWER_TAB_MAIN = \"REGISTER:DRAWER:TAB:MAIN\";\r\n\t\tpublic static REGISTER_DRAWER_TAB_POSSTATION = \"REGISTER:DRAWER:TAB:POSSTATION\";\r\n\t\tpublic static REGISTER_DRAWER_TAB_RECEIPT = \"REGISTER:DRAWER:TAB:RECEIPT\";\r\n\t\tpublic static REGISTER_DRAWERHISTORY = \"REGISTER:DRAWERHISTORY\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_CLOSE = \"REGISTER:DRAWERMANAGER:ACTION:CLOSE\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_EDITCLOSING = \"REGISTER:DRAWERMANAGER:ACTION:EDITCLOSING\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_EDITCLOSINGCASH = \"REGISTER:DRAWERMANAGER:ACTION:EDITCLOSINGCASH\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_EDITOPENINGCASH = \"REGISTER:DRAWERMANAGER:ACTION:EDITOPENINGCASH\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_INSERTPAYINOUT = \"REGISTER:DRAWERMANAGER:ACTION:INSERTPAYINOUT\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_MANAGEPRIVATE = \"REGISTER:DRAWERMANAGER:ACTION:MANAGEPRIVATE\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_OPEN = \"REGISTER:DRAWERMANAGER:ACTION:OPEN\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_PAYIN = \"REGISTER:DRAWERMANAGER:ACTION:PAYIN\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_PAYOUT = \"REGISTER:DRAWERMANAGER:ACTION:PAYOUT\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_POPDRAWER = \"REGISTER:DRAWERMANAGER:ACTION:POPDRAWER\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_PRINTDEPOSITSLIP = \"REGISTER:DRAWERMANAGER:ACTION:PRINTDEPOSITSLIP\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_UNDOPREVIOUS = \"REGISTER:DRAWERMANAGER:ACTION:UNDOPREVIOUS\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_USEPUBLICDRAWERS = \"REGISTER:DRAWERMANAGER:ACTION:USEPUBLICDRAWERS\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_VIEWDRAWERSUMMARY = \"REGISTER:DRAWERMANAGER:ACTION:VIEWDRAWERSUMMARY\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER_ACTION_VIEWEXPECTEDCLOSINGTOTALS = \"REGISTER:DRAWERMANAGER:ACTION:VIEWEXPECTEDCLOSINGTOTALS\";\r\n\t\tpublic static REGISTER_DRAWERMANAGER = \"REGISTER:DRAWERMANAGER\";\r\n\t\tpublic static REGISTER_MERCHANTACCOUNT_FIELD_STATUS = \"REGISTER:MERCHANTACCOUNT:FIELD:STATUS\";\r\n\t\tpublic static REGISTER_MERCHANTACCOUNT = \"REGISTER:MERCHANTACCOUNT\";\r\n\t\tpublic static REGISTER_MERCHANTACCOUNT_TAB_ADMINSETTINGS = \"REGISTER:MERCHANTACCOUNT:TAB:ADMINSETTINGS\";\r\n\t\tpublic static REGISTER_MERCHANTACCOUNT_TAB_CARECREDIT = \"REGISTER:MERCHANTACCOUNT:TAB:CARECREDIT\";\r\n\t\tpublic static REGISTER_MERCHANTACCOUNT_TAB_DEVICES = \"REGISTER:MERCHANTACCOUNT:TAB:DEVICES\";\r\n\t\tpublic static REGISTER_MERCHANTACCOUNT_TAB_MAIN = \"REGISTER:MERCHANTACCOUNT:TAB:MAIN\";\r\n\t\tpublic static REGISTER_PAYINOUTREASON_FIELD_STATUS = \"REGISTER:PAYINOUTREASON:FIELD:STATUS\";\r\n\t\tpublic static REGISTER_PAYINOUTREASON = \"REGISTER:PAYINOUTREASON\";\r\n\t\tpublic static REGISTER_PAYINOUTREASON_TAB_MAIN = \"REGISTER:PAYINOUTREASON:TAB:MAIN\";\r\n\t\tpublic static REGISTER_POSHARDWARE = \"REGISTER:POSHARDWARE\";\r\n\t\tpublic static REGISTER_POSHARDWARE_TAB_POSSTATION = \"REGISTER:POSHARDWARE:TAB:POSSTATION\";\r\n\t\tpublic static REGISTER_POSHARDWARE_TAB_RECEIPTPRINTER = \"REGISTER:POSHARDWARE:TAB:RECEIPTPRINTER\";\r\n\t\tpublic static REGISTER = \"REGISTER\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_ACCOUNTOPTION = \"REGISTER:REGISTER:ACTION:ACCOUNTOPTION\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_ACCOUNTPAYMENT = \"REGISTER:REGISTER:ACTION:ACCOUNTPAYMENT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_ADDPAYMENT = \"REGISTER:REGISTER:ACTION:ADDPAYMENT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_ALLOWPAYMENTPLANREFUNDOVERRIDE = \"REGISTER:REGISTER:ACTION:ALLOWPAYMENTPLANREFUNDOVERRIDE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_ALTERPRICINGWITHOUTDISCOUNT = \"REGISTER:REGISTER:ACTION:ALTERPRICINGWITHOUTDISCOUNT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_APPLYDISCOUNT = \"REGISTER:REGISTER:ACTION:APPLYDISCOUNT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_CHECKOUT = \"REGISTER:REGISTER:ACTION:CHECKOUT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_CLIENTS = \"REGISTER:REGISTER:ACTION:CLIENTS\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_CREATEACCOUNTPAYMENT = \"REGISTER:REGISTER:ACTION:CREATEACCOUNTPAYMENT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_DISCOUNTAMOUNTOFF = \"REGISTER:REGISTER:ACTION:DISCOUNTAMOUNTOFF\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_DISCOUNTPERCENTOFF = \"REGISTER:REGISTER:ACTION:DISCOUNTPERCENTOFF\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_DISCOUNTPREDEFINED = \"REGISTER:REGISTER:ACTION:DISCOUNTPREDEFINED\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_DISCOUNTSPECIFICPRICE = \"REGISTER:REGISTER:ACTION:DISCOUNTSPECIFICPRICE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_GIFTCARDS = \"REGISTER:REGISTER:ACTION:GIFTCARDS\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_HOSTEDPAGE = \"REGISTER:REGISTER:ACTION:HOSTEDPAGE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_LOOKUPGIFTCARDBYCLIENTNAME = \"REGISTER:REGISTER:ACTION:LOOKUPGIFTCARDBYCLIENTNAME\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_MEMBERSHIP = \"REGISTER:REGISTER:ACTION:MEMBERSHIP\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_NOSALE = \"REGISTER:REGISTER:ACTION:NOSALE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_OVERRIDEMEMBERSHIPREFUNDPOLICY = \"REGISTER:REGISTER:ACTION:OVERRIDEMEMBERSHIPREFUNDPOLICY\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_OVERRIDEPRODUCTREFUNDPOLICY = \"REGISTER:REGISTER:ACTION:OVERRIDEPRODUCTREFUNDPOLICY\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_OVERRIDETIPREFUNDPOLICY = \"REGISTER:REGISTER:ACTION:OVERRIDETIPREFUNDPOLICY\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PACKAGES = \"REGISTER:REGISTER:ACTION:PACKAGES\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT11045139 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT11045139\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT11045147 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT11045147\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT2218 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT2218\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT2219 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT2219\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT2221 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT2221\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT2244 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT2244\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT2279 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT2279\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT30095 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT30095\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCAT30192 = \"REGISTER:REGISTER:ACTION:PAYMENTCAT30192\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCATCARDONFILE = \"REGISTER:REGISTER:ACTION:PAYMENTCATCARDONFILE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCATSELFPAY = \"REGISTER:REGISTER:ACTION:PAYMENTCATSELFPAY\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTCATSINGLECARD = \"REGISTER:REGISTER:ACTION:PAYMENTCATSINGLECARD\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PAYMENTTYPEACCESS = \"REGISTER:REGISTER:ACTION:PAYMENTTYPEACCESS\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_PRODUCTS = \"REGISTER:REGISTER:ACTION:PRODUCTS\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REDEEMEXPIREDPACKAGE = \"REGISTER:REGISTER:ACTION:REDEEMEXPIREDPACKAGE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUND = \"REGISTER:REGISTER:ACTION:REFUND\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDACCOUNTCREDIT = \"REGISTER:REGISTER:ACTION:REFUNDACCOUNTCREDIT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDBULKGIFTCARD = \"REGISTER:REGISTER:ACTION:REFUNDBULKGIFTCARD\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDEXPIREDGIFTCARD = \"REGISTER:REGISTER:ACTION:REFUNDEXPIREDGIFTCARD\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDEXPIREDPACKAGE = \"REGISTER:REGISTER:ACTION:REFUNDEXPIREDPACKAGE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDGIFTCARD = \"REGISTER:REGISTER:ACTION:REFUNDGIFTCARD\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDGIFTCARDCLIENTSEARCH = \"REGISTER:REGISTER:ACTION:REFUNDGIFTCARDCLIENTSEARCH\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDMEMBERSHIP = \"REGISTER:REGISTER:ACTION:REFUNDMEMBERSHIP\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDMEMBERSHIPPACKAGE = \"REGISTER:REGISTER:ACTION:REFUNDMEMBERSHIPPACKAGE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDPACKAGE = \"REGISTER:REGISTER:ACTION:REFUNDPACKAGE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDPRODUCT = \"REGISTER:REGISTER:ACTION:REFUNDPRODUCT\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDPRODUCTAMOUNTWRITE = \"REGISTER:REGISTER:ACTION:REFUNDPRODUCTAMOUNTWRITE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDPRODUCTCLIENTSEARCH = \"REGISTER:REGISTER:ACTION:REFUNDPRODUCTCLIENTSEARCH\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDSERVICE = \"REGISTER:REGISTER:ACTION:REFUNDSERVICE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDSERVICEAMOUNTWRITE = \"REGISTER:REGISTER:ACTION:REFUNDSERVICEAMOUNTWRITE\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDSERVICECLIENTSEARCH = \"REGISTER:REGISTER:ACTION:REFUNDSERVICECLIENTSEARCH\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REFUNDTIP = \"REGISTER:REGISTER:ACTION:REFUNDTIP\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_REGISTERBUTTONS = \"REGISTER:REGISTER:ACTION:REGISTERBUTTONS\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_SERVICES = \"REGISTER:REGISTER:ACTION:SERVICES\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_SPLITCOMMISSION = \"REGISTER:REGISTER:ACTION:SPLITCOMMISSION\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_TIPS = \"REGISTER:REGISTER:ACTION:TIPS\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_TRANSACTIONHISTORY = \"REGISTER:REGISTER:ACTION:TRANSACTIONHISTORY\";\r\n\t\tpublic static REGISTER_REGISTER_ACTION_USEEXPIREDGIFTCARD = \"REGISTER:REGISTER:ACTION:USEEXPIREDGIFTCARD\";\r\n\t\tpublic static REGISTER_REGISTER_DISCOUNT_FULLCOMMISSIONOVERRIDE = \"REGISTER:REGISTER:DISCOUNT:FULLCOMMISSIONOVERRIDE\";\r\n\t\tpublic static REGISTER_REGISTER_DISCOUNT_REPLACEITEMONSALE = \"REGISTER:REGISTER:DISCOUNT:REPLACEITEMONSALE\";\r\n\t\tpublic static REGISTER_REGISTER_EMPLOYEESERVICETIMESPRICING_ACTION_EXPORT = \"REGISTER:REGISTER:EMPLOYEESERVICETIMESPRICING:ACTION:EXPORT\";\r\n\t\tpublic static REGISTER_REGISTER_EMPLOYEESERVICETIMESPRICING = \"REGISTER:REGISTER:EMPLOYEESERVICETIMESPRICING\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARD_GIFTCARDTYPE = \"REGISTER:REGISTER:GIFTCARD:GIFTCARDTYPE\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDLOOKUP_ACTION_EDITGIFTCARDNOTE = \"REGISTER:REGISTER:GIFTCARDLOOKUP:ACTION:EDITGIFTCARDNOTE\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDLOOKUP_ACTION_LOGBUTTON = \"REGISTER:REGISTER:GIFTCARDLOOKUP:ACTION:LOGBUTTON\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDLOOKUP_ACTION_SHOWGIFTCARDNUMBER = \"REGISTER:REGISTER:GIFTCARDLOOKUP:ACTION:SHOWGIFTCARDNUMBER\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDLOOKUP = \"REGISTER:REGISTER:GIFTCARDLOOKUP\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDS_APPLYDISCOUNT = \"REGISTER:REGISTER:GIFTCARDS:APPLYDISCOUNT\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDS_CHANGEEXPIREDDATES = \"REGISTER:REGISTER:GIFTCARDS:CHANGEEXPIREDDATES\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDS_CHANGEVALIDFROMDATES = \"REGISTER:REGISTER:GIFTCARDS:CHANGEVALIDFROMDATES\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDS_SELLBULKGIFTCARDS = \"REGISTER:REGISTER:GIFTCARDS:SELLBULKGIFTCARDS\";\r\n\t\tpublic static REGISTER_REGISTER_GIFTCARDS_SELLGIFTCARDS = \"REGISTER:REGISTER:GIFTCARDS:SELLGIFTCARDS\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_ACTION_SELLMEMBERSHIP = \"REGISTER:REGISTER:MEMBERSHIP:ACTION:SELLMEMBERSHIP\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_ACTION_UPGRADEDOWNGRADE = \"REGISTER:REGISTER:MEMBERSHIP:ACTION:UPGRADEDOWNGRADE\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_APPLYDISCOUNT_OVERRIDEMINMAX = \"REGISTER:REGISTER:MEMBERSHIP:APPLYDISCOUNT:OVERRIDEMINMAX\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_APPLYDISCOUNT = \"REGISTER:REGISTER:MEMBERSHIP:APPLYDISCOUNT\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_FIELD_ENROLLMENTFEE = \"REGISTER:REGISTER:MEMBERSHIP:FIELD:ENROLLMENTFEE\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_FIELD_FIRSTPAYMENTDATE = \"REGISTER:REGISTER:MEMBERSHIP:FIELD:FIRSTPAYMENTDATE\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_FIELD_RECURRINGFEE = \"REGISTER:REGISTER:MEMBERSHIP:FIELD:RECURRINGFEE\";\r\n\t\tpublic static REGISTER_REGISTER_MEMBERSHIP_FIELD_RENEWALFEE = \"REGISTER:REGISTER:MEMBERSHIP:FIELD:RENEWALFEE\";\r\n\t\tpublic static REGISTER_REGISTER_PACKAGES_ACTION_ALLOWUNLIMITEDSERVICES = \"REGISTER:REGISTER:PACKAGES:ACTION:ALLOWUNLIMITEDSERVICES\";\r\n\t\tpublic static REGISTER_REGISTER_PACKAGES_ACTION_CREATECUSTOM = \"REGISTER:REGISTER:PACKAGES:ACTION:CREATECUSTOM\";\r\n\t\tpublic static REGISTER_REGISTER_PACKAGES_ACTION_CUSTOMIZE = \"REGISTER:REGISTER:PACKAGES:ACTION:CUSTOMIZE\";\r\n\t\tpublic static REGISTER_REGISTER_PACKAGES_CHANGEDATES = \"REGISTER:REGISTER:PACKAGES:CHANGEDATES\";\r\n\t\tpublic static REGISTER_REGISTER_PACKAGES_SELLPACKAGES = \"REGISTER:REGISTER:PACKAGES:SELLPACKAGES\";\r\n\t\tpublic static REGISTER_REGISTER_PRODUCTS_SELLRETAILPRODUCTS = \"REGISTER:REGISTER:PRODUCTS:SELLRETAILPRODUCTS\";\r\n\t\tpublic static REGISTER_REGISTER_PRODUCTS_SELLRETAILPRODUCTS_SELLSHOPSUPPLIES = \"REGISTER:REGISTER:PRODUCTS:SELLRETAILPRODUCTS:SELLSHOPSUPPLIES\";\r\n\t\tpublic static REGISTER_REGISTER = \"REGISTER:REGISTER\";\r\n\t\tpublic static REGISTER_REGISTER_REFUND_GIFTCARDS = \"REGISTER:REGISTER:REFUND:GIFTCARDS\";\r\n\t\tpublic static REGISTER_REGISTER_REFUND_MEMBERSHIPS = \"REGISTER:REGISTER:REFUND:MEMBERSHIPS\";\r\n\t\tpublic static REGISTER_REGISTER_REFUND_PACKAGES = \"REGISTER:REGISTER:REFUND:PACKAGES\";\r\n\t\tpublic static REGISTER_REGISTER_REFUND_PRODUCTS = \"REGISTER:REGISTER:REFUND:PRODUCTS\";\r\n\t\tpublic static REGISTER_REGISTER_REFUND_SERVICES = \"REGISTER:REGISTER:REFUND:SERVICES\";\r\n\t\tpublic static REGISTER_REGISTER_SALEHOLD_ACTION_ADD = \"REGISTER:REGISTER:SALEHOLD:ACTION:ADD\";\r\n\t\tpublic static REGISTER_REGISTER_SALEHOLD_ACTION_READLIST = \"REGISTER:REGISTER:SALEHOLD:ACTION:READLIST\";\r\n\t\tpublic static REGISTER_REGISTER_SALEHOLD_ACTION_VIEW = \"REGISTER:REGISTER:SALEHOLD:ACTION:VIEW\";\r\n\t\tpublic static REGISTER_REGISTER_SERVICES_SELLSERVICES = \"REGISTER:REGISTER:SERVICES:SELLSERVICES\";\r\n\t\tpublic static REGISTER_SALEPROGRAM = \"REGISTER:SALEPROGRAM\";\r\n\t\tpublic static REGISTER_SALEPROGRAM_FIELD_STATUS = \"REGISTER:SALEPROGRAM:FIELD:STATUS\";\r\n\t\tpublic static REGISTER_SALEPROGRAM_TAB_MAIN = \"REGISTER:SALEPROGRAM:TAB:MAIN\";\r\n\t\tpublic static REGISTER_SALEPROGRAM_TAB_PRODUCTS = \"REGISTER:SALEPROGRAM:TAB:PRODUCTS\";\r\n\t\tpublic static REGISTER_SALEPROGRAM_TAB_SERVICES = \"REGISTER:SALEPROGRAM:TAB:SERVICES\";\r\n\t\tpublic static REGISTER_SHIPPINGFEES = \"REGISTER:SHIPPINGFEES\";\r\n\t\tpublic static REGISTER_SHIPPINGFEES_TAB_MAIN = \"REGISTER:SHIPPINGFEES:TAB:MAIN\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_CLIENTWRITE = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:CLIENTWRITE\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_NOTEWRITE = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:NOTEWRITE\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_PAYMENTMETHODWRITE = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:PAYMENTMETHODWRITE\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_PRODUCTWRITE = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:PRODUCTWRITE\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_PRODUCTWRITE_EDITSHOPSUPPLIES = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:PRODUCTWRITE:EDITSHOPSUPPLIES\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_SERVICEWRITE = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:SERVICEWRITE\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_EDITTRANSACTION_VOIDTRANSACTION = \"REGISTER:TRANSACTIONEDITOR:ACTION:EDITTRANSACTION:VOIDTRANSACTION\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR_ACTION_INSERTTRANSACTION = \"REGISTER:TRANSACTIONEDITOR:ACTION:INSERTTRANSACTION\";\r\n\t\tpublic static REGISTER_TRANSACTIONEDITOR = \"REGISTER:TRANSACTIONEDITOR\";\r\n\t\tpublic static REPORTS_ANALYTICAL_COMA030 = \"REPORTS:ANALYTICAL:COMA030\";\r\n\t\tpublic static REPORTS_ANALYTICAL_COMA201 = \"REPORTS:ANALYTICAL:COMA201\";\r\n\t\tpublic static REPORTS_ANALYTICAL_COMA202 = \"REPORTS:ANALYTICAL:COMA202\";\r\n\t\tpublic static REPORTS_ANALYTICAL_CS000 = \"REPORTS:ANALYTICAL:CS000\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA030 = \"REPORTS:ANALYTICAL:MA030\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA045 = \"REPORTS:ANALYTICAL:MA045\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA050 = \"REPORTS:ANALYTICAL:MA050\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA060 = \"REPORTS:ANALYTICAL:MA060\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA065 = \"REPORTS:ANALYTICAL:MA065\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA075 = \"REPORTS:ANALYTICAL:MA075\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA200 = \"REPORTS:ANALYTICAL:MA200\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA201 = \"REPORTS:ANALYTICAL:MA201\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA202 = \"REPORTS:ANALYTICAL:MA202\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA210 = \"REPORTS:ANALYTICAL:MA210\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA215 = \"REPORTS:ANALYTICAL:MA215\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA225 = \"REPORTS:ANALYTICAL:MA225\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA235 = \"REPORTS:ANALYTICAL:MA235\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA240 = \"REPORTS:ANALYTICAL:MA240\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MA255 = \"REPORTS:ANALYTICAL:MA255\";\r\n\t\tpublic static REPORTS_ANALYTICAL_MSG01 = \"REPORTS:ANALYTICAL:MSG01\";\r\n\t\tpublic static REPORTS_ANALYTICAL = \"REPORTS:ANALYTICAL\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ000 = \"REPORTS:APPOINTMENTS:AQ000\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ010 = \"REPORTS:APPOINTMENTS:AQ010\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ020 = \"REPORTS:APPOINTMENTS:AQ020\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ022 = \"REPORTS:APPOINTMENTS:AQ022\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ025 = \"REPORTS:APPOINTMENTS:AQ025\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ030 = \"REPORTS:APPOINTMENTS:AQ030\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ065 = \"REPORTS:APPOINTMENTS:AQ065\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ070 = \"REPORTS:APPOINTMENTS:AQ070\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ150 = \"REPORTS:APPOINTMENTS:AQ150\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ150B = \"REPORTS:APPOINTMENTS:AQ150B\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ200 = \"REPORTS:APPOINTMENTS:AQ200\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ205 = \"REPORTS:APPOINTMENTS:AQ205\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ210 = \"REPORTS:APPOINTMENTS:AQ210\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ225 = \"REPORTS:APPOINTMENTS:AQ225\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ226 = \"REPORTS:APPOINTMENTS:AQ226\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ230 = \"REPORTS:APPOINTMENTS:AQ230\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ246 = \"REPORTS:APPOINTMENTS:AQ246\";\r\n\t\tpublic static REPORTS_APPOINTMENTS_AQ255 = \"REPORTS:APPOINTMENTS:AQ255\";\r\n\t\tpublic static REPORTS_APPOINTMENTS = \"REPORTS:APPOINTMENTS\";\r\n\t\tpublic static REPORTS_CLIENTS_CODC041 = \"REPORTS:CLIENTS:CODC041\";\r\n\t\tpublic static REPORTS_CLIENTS_DC000 = \"REPORTS:CLIENTS:DC000\";\r\n\t\tpublic static REPORTS_CLIENTS_DC025 = \"REPORTS:CLIENTS:DC025\";\r\n\t\tpublic static REPORTS_CLIENTS_DC041 = \"REPORTS:CLIENTS:DC041\";\r\n\t\tpublic static REPORTS_CLIENTS_DC042 = \"REPORTS:CLIENTS:DC042\";\r\n\t\tpublic static REPORTS_CLIENTS_DC055 = \"REPORTS:CLIENTS:DC055\";\r\n\t\tpublic static REPORTS_CLIENTS_DC065 = \"REPORTS:CLIENTS:DC065\";\r\n\t\tpublic static REPORTS_CLIENTS_DC080 = \"REPORTS:CLIENTS:DC080\";\r\n\t\tpublic static REPORTS_CLIENTS_DC090 = \"REPORTS:CLIENTS:DC090\";\r\n\t\tpublic static REPORTS_CLIENTS = \"REPORTS:CLIENTS\";\r\n\t\tpublic static REPORTS_DISPLAYCLIENTPHONE_EDIT = \"REPORTS:DISPLAYCLIENTPHONE:EDIT\";\r\n\t\tpublic static REPORTS_EMPLOYEE_CODE040 = \"REPORTS:EMPLOYEE:CODE040\";\r\n\t\tpublic static REPORTS_EMPLOYEE_DE001 = \"REPORTS:EMPLOYEE:DE001\";\r\n\t\tpublic static REPORTS_EMPLOYEE_DE005 = \"REPORTS:EMPLOYEE:DE005\";\r\n\t\tpublic static REPORTS_EMPLOYEE_DE005b = \"REPORTS:EMPLOYEE:DE005b\";\r\n\t\tpublic static REPORTS_EMPLOYEE_DE043 = \"REPORTS:EMPLOYEE:DE043\";\r\n\t\tpublic static REPORTS_EMPLOYEE_DE045 = \"REPORTS:EMPLOYEE:DE045\";\r\n\t\tpublic static REPORTS_EMPLOYEE_DE110 = \"REPORTS:EMPLOYEE:DE110\";\r\n\t\tpublic static REPORTS_EMPLOYEE = \"REPORTS:EMPLOYEE\";\r\n\t\tpublic static REPORTS_FRONTDESK = \"REPORTS:FRONTDESK\";\r\n\t\tpublic static REPORTS_INVENTORY_MI000 = \"REPORTS:INVENTORY:MI000\";\r\n\t\tpublic static REPORTS_INVENTORY_MI020 = \"REPORTS:INVENTORY:MI020\";\r\n\t\tpublic static REPORTS_INVENTORY_MI025 = \"REPORTS:INVENTORY:MI025\";\r\n\t\tpublic static REPORTS_INVENTORY_MI047 = \"REPORTS:INVENTORY:MI047\";\r\n\t\tpublic static REPORTS_INVENTORY_MI100 = \"REPORTS:INVENTORY:MI100\";\r\n\t\tpublic static REPORTS_INVENTORY_MI105 = \"REPORTS:INVENTORY:MI105\";\r\n\t\tpublic static REPORTS_INVENTORY_MI210 = \"REPORTS:INVENTORY:MI210\";\r\n\t\tpublic static REPORTS_INVENTORY_MI215 = \"REPORTS:INVENTORY:MI215\";\r\n\t\tpublic static REPORTS_INVENTORY = \"REPORTS:INVENTORY\";\r\n\t\tpublic static REPORTS_LIABILITIES_COCO000 = \"REPORTS:LIABILITIES:COCO000\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR000 = \"REPORTS:LIABILITIES:MR000\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR050 = \"REPORTS:LIABILITIES:MR050\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR055 = \"REPORTS:LIABILITIES:MR055\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR061 = \"REPORTS:LIABILITIES:MR061\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR118 = \"REPORTS:LIABILITIES:MR118\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR120 = \"REPORTS:LIABILITIES:MR120\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR126 = \"REPORTS:LIABILITIES:MR126\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR129 = \"REPORTS:LIABILITIES:MR129\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR129B = \"REPORTS:LIABILITIES:MR129B\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR205 = \"REPORTS:LIABILITIES:MR205\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR230 = \"REPORTS:LIABILITIES:MR230\";\r\n\t\tpublic static REPORTS_LIABILITIES_MR240 = \"REPORTS:LIABILITIES:MR240\";\r\n\t\tpublic static REPORTS_LIABILITIES = \"REPORTS:LIABILITIES\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_CO001 = \"REPORTS:MEMBERSHIPS:CO001\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB001 = \"REPORTS:MEMBERSHIPS:DB001\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB010 = \"REPORTS:MEMBERSHIPS:DB010\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB011 = \"REPORTS:MEMBERSHIPS:DB011\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB015 = \"REPORTS:MEMBERSHIPS:DB015\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB040 = \"REPORTS:MEMBERSHIPS:DB040\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB042 = \"REPORTS:MEMBERSHIPS:DB042\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_DB050 = \"REPORTS:MEMBERSHIPS:DB050\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS_MR245 = \"REPORTS:MEMBERSHIPS:MR245\";\r\n\t\tpublic static REPORTS_MEMBERSHIPS = \"REPORTS:MEMBERSHIPS\";\r\n\t\tpublic static REPORTS_PAYROLL_DE040 = \"REPORTS:PAYROLL:DE040\";\r\n\t\tpublic static REPORTS_PAYROLL_DE044 = \"REPORTS:PAYROLL:DE044\";\r\n\t\tpublic static REPORTS_PAYROLL_DE070 = \"REPORTS:PAYROLL:DE070\";\r\n\t\tpublic static REPORTS_PAYROLL = \"REPORTS:PAYROLL\";\r\n\t\tpublic static REPORTS_PAYROLL_WISE01 = \"REPORTS:PAYROLL:WISE01\";\r\n\t\tpublic static REPORTS_PRODUCT_DP005 = \"REPORTS:PRODUCT:DP005\";\r\n\t\tpublic static REPORTS_PRODUCTS = \"REPORTS:PRODUCTS\";\r\n\t\tpublic static REPORTS = \"REPORTS\";\r\n\t\tpublic static REPORTS_REFERRALS_DR020 = \"REPORTS:REFERRALS:DR020\";\r\n\t\tpublic static REPORTS_REFERRALS_DR030 = \"REPORTS:REFERRALS:DR030\";\r\n\t\tpublic static REPORTS_REFERRALS = \"REPORTS:REFERRALS\";\r\n\t\tpublic static REPORTS_REGISTERSALES_CF001 = \"REPORTS:REGISTERSALES:CF001\";\r\n\t\tpublic static REPORTS_REGISTERSALES_COMR010 = \"REPORTS:REGISTERSALES:COMR010\";\r\n\t\tpublic static REPORTS_REGISTERSALES_COMR080 = \"REPORTS:REGISTERSALES:COMR080\";\r\n\t\tpublic static REPORTS_REGISTERSALES_COMR085 = \"REPORTS:REGISTERSALES:COMR085\";\r\n\t\tpublic static REPORTS_REGISTERSALES_COMR110 = \"REPORTS:REGISTERSALES:COMR110\";\r\n\t\tpublic static REPORTS_REGISTERSALES_COMR140 = \"REPORTS:REGISTERSALES:COMR140\";\r\n\t\tpublic static REPORTS_REGISTERSALES_COMR145 = \"REPORTS:REGISTERSALES:COMR145\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR035 = \"REPORTS:REGISTERSALES:MR035\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR041 = \"REPORTS:REGISTERSALES:MR041\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR070 = \"REPORTS:REGISTERSALES:MR070\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR075 = \"REPORTS:REGISTERSALES:MR075\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR080 = \"REPORTS:REGISTERSALES:MR080\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR085 = \"REPORTS:REGISTERSALES:MR085\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR090 = \"REPORTS:REGISTERSALES:MR090\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR095 = \"REPORTS:REGISTERSALES:MR095\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR100 = \"REPORTS:REGISTERSALES:MR100\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR110 = \"REPORTS:REGISTERSALES:MR110\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR115 = \"REPORTS:REGISTERSALES:MR115\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR130 = \"REPORTS:REGISTERSALES:MR130\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR145 = \"REPORTS:REGISTERSALES:MR145\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR160 = \"REPORTS:REGISTERSALES:MR160\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR200 = \"REPORTS:REGISTERSALES:MR200\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR240 = \"REPORTS:REGISTERSALES:MR240\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR255 = \"REPORTS:REGISTERSALES:MR255\";\r\n\t\tpublic static REPORTS_REGISTERSALES_MR260 = \"REPORTS:REGISTERSALES:MR260\";\r\n\t\tpublic static REPORTS_REGISTERSALES = \"REPORTS:REGISTERSALES\";\r\n\t\tpublic static REPORTS_REPORTCONTROLS = \"REPORTS:REPORTCONTROLS\";\r\n\t\tpublic static REPORTS_SALES = \"REPORTS:SALES\";\r\n\t\tpublic static REPORTS_SCHEDULES_COMES10 = \"REPORTS:SCHEDULES:COMES10\";\r\n\t\tpublic static REPORTS_SCHEDULES_MES01 = \"REPORTS:SCHEDULES:MES01\";\r\n\t\tpublic static REPORTS_SCHEDULES_MES10 = \"REPORTS:SCHEDULES:MES10\";\r\n\t\tpublic static REPORTS_SCHEDULES_MES20 = \"REPORTS:SCHEDULES:MES20\";\r\n\t\tpublic static REPORTS_SCHEDULES_MES30 = \"REPORTS:SCHEDULES:MES30\";\r\n\t\tpublic static REPORTS_SCHEDULES_MES35 = \"REPORTS:SCHEDULES:MES35\";\r\n\t\tpublic static REPORTS_SCHEDULES = \"REPORTS:SCHEDULES\";\r\n\t\tpublic static REPORTS_SECURITY_MG000 = \"REPORTS:SECURITY:MG000\";\r\n\t\tpublic static REPORTS_SECURITY = \"REPORTS:SECURITY\";\r\n\t\tpublic static REPORTS_SHOWCLIENTNAMES_EDIT = \"REPORTS:SHOWCLIENTNAMES:EDIT\";\r\n\t\tpublic static REPORTS_TILE = \"REPORTS:TILE\";\r\n\t\tpublic static REPORTS_VIEWALLEMPLOYEES_EDIT = \"REPORTS:VIEWALLEMPLOYEES:EDIT\";\r\n\t\tpublic static REPORTS_VIEWONHANDCOUNT_EDIT = \"REPORTS:VIEWONHANDCOUNT:EDIT\";\r\n\t\tpublic static REPORTS_WALKINS = \"REPORTS:WALKINS\";\r\n\t\tpublic static REPORTS_WALKINS_WI005 = \"REPORTS:WALKINS:WI005\";\r\n\t\tpublic static REPORTS_WALKINS_WI010 = \"REPORTS:WALKINS:WI010\";\r\n\t\tpublic static REPORTS_WALKINS_WI015 = \"REPORTS:WALKINS:WI015\";\r\n\t\tpublic static SCHEDULES_ACTUALS = \"SCHEDULES:ACTUALS\";\r\n\t\tpublic static SCHEDULES_CALENDAR_ACTION = \"SCHEDULES:CALENDAR:ACTION\";\r\n\t\tpublic static SCHEDULES_CALENDAR_ACTION_COPYFORWARD = \"SCHEDULES:CALENDAR:ACTION:COPYFORWARD\";\r\n\t\tpublic static SCHEDULES_CALENDAR_ACTION_DELETEFORWARD = \"SCHEDULES:CALENDAR:ACTION:DELETEFORWARD\";\r\n\t\tpublic static SCHEDULES_CALENDAR = \"SCHEDULES:CALENDAR\";\r\n\t\tpublic static SCHEDULES = \"SCHEDULES\";\r\n\t\tpublic static SCHEDULES_TIMECLOCK = \"SCHEDULES:TIMECLOCK\";\r\n\t\tpublic static SMARTCENTER = \"SMARTCENTER\";\r\n\t\tpublic static SMARTCENTER_SMARTCENTER = \"SMARTCENTER:SMARTCENTER\";\r\n\t\tpublic static YIELDMANAGEMENT = \"YIELDMANAGEMENT\";\r\n\t\tpublic static YIELDMANAGEMENT_YIELDMANAGEMENT_INTERNAL = \"YIELDMANAGEMENT:YIELDMANAGEMENT:INTERNAL\";\r\n\t}\r\n}","module Meevo.Components.Common {\r\n\r\n/****************************************************************************************\r\n*\tContract that holds \"\"key parts\"\" which are basically repeated portions of keys to\t*\r\n*\trepresent the type of permission or area (tab, field, etc.)\t\t\t\t\t\t\t*\r\n*****************************************************************************************/\r\n export class SecurityParts {\r\n /**\r\n * Portion of key used for checking READ permission\r\n */\r\n static KEY_PART_READ: string = \":READ\";\r\n\r\n /**\r\n * Portion of key used for checking WRITE permission\r\n */\r\n static KEY_PART_WRITE: string = \":WRITE\";\r\n\r\n /**\r\n * Portion of key used for checking ADD permission\r\n */\r\n static KEY_PART_CREATE: string = \":CREATE\";\r\n\r\n /**\r\n * Portion of key used for checking WRITE permission\r\n */\r\n static KEY_PART_COPY: string = \":COPY\";\r\n\r\n /**\r\n * Portion of key used for checking EXCLUDE/UNEXCLUDE permission\r\n */\r\n static KEY_PART_CHANGEACCESS: string =\":CHANGEACCESS\";\r\n\r\n /**\r\n * Portion of key used for checking CHANGING OWNERSHIP permission\r\n */\r\n static KEY_PART_CHANGEOWNER: string =\":CHANGEOWNER\";\r\n\r\n /**\r\n * Portion of key used for checking AVAILABLE TO LOCATIONS permission\r\n */\r\n static KEY_PART_AVAILABLETOLOCATIONS: string =\":AVAILABLETOLOCATIONS\";\r\n\r\n /**\r\n * Portion of key used for checking DELETE permission\r\n */\r\n static KEY_PART_DELETE: string =\":DELETE\";\r\n\r\n /**\r\n * Portion of key used for checking UNDELETE permission\r\n */\r\n static KEY_PART_UNDELETE: string =\":UNDELETE\";\r\n\r\n /**\r\n * Portion of key used to indicate a TAB\r\n */\r\n static KEY_PART_TAB: string =\":TAB\";\r\n\r\n /**\r\n * Portion of key used to indicate a FIELD\r\n */\r\n static KEY_PART_FIELD: string =\":FIELD\";\r\n\r\n /**\r\n * Portion of key used to indicate a FIELD GROUP\r\n */\r\n static KEY_PART_FIELDGROUP: string =\":FIELDGROUP\";\r\n\r\n /**\r\n * Portion of key used to indicate an ACTION\r\n */\r\n static KEY_PART_ACTION: string =\":ACTION\";\r\n\r\n /**\r\n * Portion of key used to indicate an FILTER\r\n */\r\n static KEY_PART_FILTER: string = \":FILTER\";\r\n\r\n /**\r\n * Portion of key used to indicate an FILTER\r\n */\r\n static KEY_PART_COMMIT: string = \":COMMIT\";\r\n\r\n /**\r\n * Portion of key used for checking EDIT permission\r\n */\r\n static KEY_PART_EDIT: string = \":EDIT\";\r\n\r\n /**\r\n * Portion of key used for checking PURGE permission\r\n */\r\n static KEY_PART_PURGE: string = \":PURGE\";\r\n\r\n }\r\n}\r\n","/// \r\n///\r\n///\r\n///\r\n///\r\n\r\n\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n //#regionImports\r\n import SecurityParts = Meevo.Components.Common.SecurityParts;\r\n import SecurityKeys = Meevo.Components.Common.SecurityKeys;\r\n //#endregionImports\r\n\r\n //#regionVariableDeclarations\r\n export const mainKey: string = 'ctrl';\r\n export const macOsMainKeyDefault: string = 'ctrl';\r\n\r\n export const secondaryKey: string = 'alt';\r\n export const appointmentBookKeyDefault: string = 'shift';\r\n\r\n //#endregionVariableDeclarations\r\n\r\n\r\n //#regionShortKeysListService\r\n\r\n export class ShortCutsListService implements IShortCutsListService {\r\n\r\n private readonly combinations: ICombinationNames; // the list of all combinations\r\n\r\n static factory(): Function {\r\n let service = () => new ShortCutsListService();\r\n\r\n service.$inject = [];\r\n return service;\r\n }\r\n\r\n constructor() {\r\n this.combinations = {\r\n //#regionGlobal\r\n GLOBAL_MENU: new ShortCutCombination('z', {secondaryKey, mainKey, description: 'Meevo Menu'}),\r\n GLOBAL_FIND: new ShortCutCombination('f', {secondaryKey, mainKey, description: 'Client Find'}),\r\n GLOBAL_HELP: new ShortCutCombination('h', {secondaryKey, mainKey, description: 'Help'}),\r\n GLOBAL_LOCKOUT: new ShortCutCombination('o', { secondaryKey, mainKey, description: 'Lock Session' }),\r\n GLOBAL_LOCATION: new ShortCutCombination('l', { secondaryKey, mainKey, description: 'Location Search' }),\r\n //#rndregionGlobal\r\n\r\n //#regionDataMaitanance\r\n DATA_MAINTENANCE_SAVE: new ShortCutCombination('s', {secondaryKey, mainKey, description: 'Save'}),\r\n DATA_MAINTENANCE_ADD: new ShortCutCombination('n', {secondaryKey, mainKey, description: 'Add New'}),\r\n DATA_MAINTENANCE_CANCEL: new ShortCutCombination('c', {secondaryKey, mainKey, description: 'Cancel'}),\r\n DATA_MAINTENANCE_EDIT: new ShortCutCombination('e', {secondaryKey, mainKey, description: 'Edit'}),\r\n DATA_MAINTENANCE_DELETE: new ShortCutCombination('d', {secondaryKey, mainKey, description: 'Delete'}),\r\n DATA_MAINTENANCE_COPY: new ShortCutCombination('y', {secondaryKey, mainKey, description: 'Copy'}),\r\n DATA_MAINTENANCE_UNDELETE: new ShortCutCombination('u', {secondaryKey, mainKey, description: 'Undelete'}),\r\n DATA_MAINTENANCE_APPLY: new ShortCutCombination('a', { secondaryKey, mainKey, description: 'Apply' }),\r\n DATA_MAINTENANCE_BACK: new ShortCutCombination('b', { secondaryKey, mainKey, description: 'Back' }),\r\n //#endregionDataMaitanance\r\n\r\n //#regionRegister\r\n REGISTER_POP_DRAWER: new ShortCutCombination('d', {secondaryKey, mainKey, description: 'Pop drawer'}),\r\n REGISTER_PAY_NOW: new ShortCutCombination('p', { secondaryKey, mainKey, description: 'Pay now' }),\r\n REGISTER_REFUND: new ShortCutCombination('r', {secondaryKey, mainKey, description: 'Refund'}),\r\n REGISTER_NO_SALE: new ShortCutCombination('n', {secondaryKey, mainKey, description: 'No Sale'}),\r\n REGISTER_HOLD: new ShortCutCombination('h', {secondaryKey, mainKey, description: 'Hold'}),\r\n REGISTER_CANCEL: new ShortCutCombination('c', {secondaryKey, mainKey, description: 'Cancel'}),\r\n REGISTER_BACK_TO_SALE: new ShortCutCombination('b', {secondaryKey, mainKey, description: 'Back to sale'}),\r\n REGISTER_RETURN_TRANSACTION: new ShortCutCombination('r', { secondaryKey, mainKey, description: 'Return Transaction' }),\r\n REGISTER_LAST_CLIENT_USED: new ShortCutCombination('alt+l', {description: 'Last Client Used' }),\r\n //#endregionRegister\r\n\r\n //#regionAppointmentBook\r\n APPOINTMENT_BOOK_TODAY: new ShortCutCombination('h', { secondaryKey: appointmentBookKeyDefault, mainKey: secondaryKey, description: 'Appointment Book: Today' }),\r\n APPOINTMENT_BOOK_EDITOR: new ShortCutCombination('e', { secondaryKey: appointmentBookKeyDefault, mainKey: secondaryKey, description: 'Appointment Book: Editor' }),\r\n APPOINTMENT_BOOK_SAVE: new ShortCutCombination('s', {secondaryKey, mainKey, description: 'Appointment Book: Save'}),\r\n APPOINTMENT_BOOK_CANCEL: new ShortCutCombination('c', {secondaryKey, mainKey, description: 'Appointment Book: Cancel'}),\r\n APPOINTMENT_BOOK_DELETE: new ShortCutCombination('d', { secondaryKey, mainKey, description: 'Appointment Book: Delete' }),\r\n APPOINTMENT_BOOK_CLEAR_FILTERS: new ShortCutCombination('a', { secondaryKey: appointmentBookKeyDefault, mainKey: secondaryKey, description: 'Appointment Book: Clear filters' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_1: new ShortCutCombination('1', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 1 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_2: new ShortCutCombination('2', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 2 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_3: new ShortCutCombination('3', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 3 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_4: new ShortCutCombination('4', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 4 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_5: new ShortCutCombination('5', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 5 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_6: new ShortCutCombination('6', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 6 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_7: new ShortCutCombination('7', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 7 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_8: new ShortCutCombination('8', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 8 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_9: new ShortCutCombination('9', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 9 week' }),\r\n APPOINTMENT_BOOK_NUMBER_OF_WEEKS_10: new ShortCutCombination('0', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Go ahead 10 week' }),\r\n APPOINTMENT_BOOK_APPLY_CUSTOM_FILTER: new ShortCutCombination('x', { secondaryKey: appointmentBookKeyDefault, mainKey: 'alt', description: 'Apply custom defined employee category filter' }),\r\n APPOINTMENT_BOOK_PRECISION_TIMING: new ShortCutCombination('p', { secondaryKey: appointmentBookKeyDefault, mainKey: secondaryKey, description: 'Appointment Book: Precising Timing' }),\r\n //#endregionAppointmentBook\r\n\r\n //#regionAppointmentBookEditor\r\n APPT_EDITOR_TA_LAST_CLIENT: new ShortCutCombination('alt+l', { description: 'Last Client Used' }),\r\n APPT_EDITOR_SAVE: new ShortCutCombination('s', { secondaryKey, mainKey, description: 'Save' }),\r\n APPT_EDITOR_CANCEL: new ShortCutCombination('c', { secondaryKey, mainKey, description: 'Cancel' }),\r\n APPT_EDITOR_DELETE: new ShortCutCombination('d', { secondaryKey, mainKey, description: 'Delete' }),\r\n\r\n\r\n //#endregionAppointmentBookEditor\r\n\r\n //#regionNavMenu\r\n NAV_MENU_DATA: new ShortCutCombination('d', {securityKey: SecurityKeys.DATA + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_DATA_CLIENTS: new ShortCutCombination('c', {securityKey: SecurityKeys.DATA_CLIENT + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_DATA_EMPLOYEE: new ShortCutCombination('e', {securityKey: SecurityKeys.DATA_EMPLOYEE + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_DATA_PACKAGE: new ShortCutCombination('k', {securityKey: SecurityKeys.DATA_PACKAGETYPE + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_DATA_PRODUCT: new ShortCutCombination('p', {securityKey: SecurityKeys.DATA_PRODUCT + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_DATA_SERVICE: new ShortCutCombination('s', {securityKey: SecurityKeys.DATA_SERVICE + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_SCHEDULES: new ShortCutCombination('s', {securityKey: SecurityKeys.SCHEDULES + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_SCHEDULES_SCHEDULES: new ShortCutCombination('s', {securityKey: SecurityKeys.SCHEDULES_CALENDAR + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_SCHEDULES_TIME_CLOCK: new ShortCutCombination('t', {securityKey: SecurityKeys.SCHEDULES_TIMECLOCK + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_SCHEDULES_WORK_ACTIVITIES: new ShortCutCombination('w', {securityKey: SecurityKeys.DATA_WORKACTIVITY + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_APPOINTMENT: new ShortCutCombination('a', {securityKey: SecurityKeys.APPOINTMENTS + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_APPOINTMENT_APPOINTMENT_BOOK: new ShortCutCombination('a', {securityKey: SecurityKeys.APPOINTMENTS_APPOINTMENTBOOK + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_APPOINTMENT_CONFIRMATION_MANAGER: new ShortCutCombination('c', {securityKey: SecurityKeys.APPOINTMENTS_CONFIRMATIONMANAGER + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_APPOINTMENT_STANDING_APPOINTMENTS: new ShortCutCombination('s', {securityKey: SecurityKeys.APPOINTMENTS_STANDINGDEFINITION + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_APPOINTMENT_WAIT_LIST: new ShortCutCombination('w', {securityKey: SecurityKeys.APPOINTMENTS_WAITLIST + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_REGISTER: new ShortCutCombination('r', {securityKey: SecurityKeys.REGISTER + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_REGISTER_REGISTER: new ShortCutCombination('r', {securityKey: SecurityKeys.REGISTER_REGISTER + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_REGISTER_DRAWER_HISTORY: new ShortCutCombination('h', {securityKey: SecurityKeys.REGISTER_DRAWERHISTORY + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_REGISTER_DRAWER_MANAGER: new ShortCutCombination('d', {securityKey: SecurityKeys.REGISTER_DRAWERMANAGER + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_REGISTER_TRANSACTION_EDITOR: new ShortCutCombination('t', { securityKey: SecurityKeys.REGISTER_TRANSACTIONEDITOR + SecurityParts.KEY_PART_READ }),\r\n NAV_MENU_REGISTER_EMPLOYEE_SERVICE_TIMES_PRICING: new ShortCutCombination('p', { securityKey: SecurityKeys.REGISTER_REGISTER_EMPLOYEESERVICETIMESPRICING + SecurityParts.KEY_PART_READ }),\r\n\r\n NAV_MENU_MANAGEMENT: new ShortCutCombination('g', {securityKey: SecurityKeys.MANAGEMENT + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MANAGEMENT_ACTIVITY_LOG: new ShortCutCombination('a', {securityKey: SecurityKeys.MANAGEMENT_ACTIVITYLOG + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MANAGEMENT_ALERTS_LOG: new ShortCutCombination('l', {securityKey: SecurityKeys.MANAGEMENT_ALERTSLOG + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MANAGEMENT_CLIENT_POINTS_MANAGER: new ShortCutCombination('c', {securityKey: SecurityKeys.MANAGEMENT_CLIENTPOINT + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MANAGEMENT_PAYROLL: new ShortCutCombination('p', {securityKey: SecurityKeys.MANAGEMENT_PAYROLL + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MANAGEMENT_SALES_RANKINGS: new ShortCutCombination('s', { securityKey: SecurityKeys.MANAGEMENT_SALESRANKING + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_INVENTORY: new ShortCutCombination('i', {securityKey: SecurityKeys.INVENTORY + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_INVENTORY_EMPLOYEE_SUPPLY_USAGE: new ShortCutCombination('e', {securityKey: SecurityKeys.INVENTORY_EMPLOYEESUPPLYUSAGE + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_INVENTORY_INVENTORY_COUNT: new ShortCutCombination('c', {securityKey: SecurityKeys.INVENTORY_COUNT + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_INVENTORY_INVENTORY_RETURNS: new ShortCutCombination('r', {securityKey: SecurityKeys.INVENTORY_RETURNS + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_INVENTORY_PURCHASE_ORDERS: new ShortCutCombination('p', {securityKey: SecurityKeys.INVENTORY_PURCHASEORDER + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_INVENTORY_STOCK_LEVELS: new ShortCutCombination('s', {securityKey: SecurityKeys.INVENTORY_STOCKLEVEL + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_MEMBERSHIP: new ShortCutCombination('m', {securityKey: SecurityKeys.MEMBERSHIP + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MEMBERSHIP_EFT_CONTROL_PANEL: new ShortCutCombination('e', {securityKey: SecurityKeys.MEMBERSHIP_EFTCONTROLPANEL + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_MEMBERSHIP_MEMBERSHIP_MANAGER: new ShortCutCombination('m', {securityKey: SecurityKeys.MEMBERSHIP_MEMBERSHIPMANAGER + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_BUSINFO: new ShortCutCombination('b', {securityKey: SecurityKeys.BUSINESSINFO + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_BUSINFO_BUSINFO: new ShortCutCombination('b', {securityKey: SecurityKeys.DATA_BUSINESSINFO + SecurityParts.KEY_PART_READ}),\r\n NAV_MENU_BUSINFO_EVENTS: new ShortCutCombination('e', {securityKey: SecurityKeys.BUSINESSINFO_EVENTSCHEDULE + SecurityParts.KEY_PART_READ}),\r\n\r\n NAV_MENU_SMART_CENTER: new ShortCutCombination('c', { securityKey: SecurityKeys.SMARTCENTER + SecurityParts.KEY_PART_READ }),\r\n NAV_MENU_SMART_CENTER_SMART_CENTER: new ShortCutCombination('s', { securityKey: SecurityKeys.SMARTCENTER_SMARTCENTER + SecurityParts.KEY_PART_READ }),\r\n\r\n NAV_MENU_HELP: new ShortCutCombination('h', {securityKey: SecurityKeys.HELP + SecurityParts.KEY_PART_READ}),\r\n //#endregionNavMenu\r\n\r\n //#regionTypeAhead\r\n TA_LAST_CLIENT: new ShortCutCombination('alt+l', {description: 'Last Client', allowIn: ['INPUT']}),\r\n //#endregionTypeAhead\r\n\r\n //#regionHotkeyCombo\r\n HOTKEY_COMBO_CLIENTS: new ShortCutCombination('ctrl+alt+z,d,c', { description: 'Clients' }),\r\n HOTKEY_COMBO_EMPLOYEES: new ShortCutCombination('ctrl+alt+z,d,e', { description: 'Employees' }),\r\n HOTKEY_COMBO_PACKAGES: new ShortCutCombination('ctrl+alt+z,d,k', { description: 'Packages' }),\r\n HOTKEY_COMBO_PRODUCTS: new ShortCutCombination('ctrl+alt+z,d,p', { description: 'Products' }),\r\n HOTKEY_COMBO_SERVICE: new ShortCutCombination('ctrl+alt+z,d,s', { description: 'Services' }),\r\n HOTKEY_COMBO_SCHEDULES: new ShortCutCombination('ctrl+alt+z,s,s', { description: 'Schedules' }),\r\n HOTKEY_COMBO_TIME_CLOCK: new ShortCutCombination('ctrl+alt+z,s,t', { description: 'Time Clock' }),\r\n HOTKEY_COMBO_WORK_ACTIVITIES: new ShortCutCombination('ctrl+alt+z,s,w', { description: 'Work Activities' }),\r\n HOTKEY_COMBO_APPOINTMENT_BOOK: new ShortCutCombination('ctrl+alt+z,a,a', { description: 'Appointment Book' }),\r\n HOTKEY_COMBO_CONFIRMATION_MANAGER: new ShortCutCombination('ctrl+alt+z,a,c', { description: 'Confirmation Manager' }),\r\n HOTKEY_COMBO_STANDING_APPOINTMENTS: new ShortCutCombination('ctrl+alt+z,a,s', { description: 'Standing Appointments' }),\r\n HOTKEY_COMBO_WAITLIST: new ShortCutCombination('ctrl+alt+z,a,w', { description: 'Wait List' }),\r\n HOTKEY_COMBO_REGISTER: new ShortCutCombination('ctrl+alt+z,r,r', { description: 'Register' }),\r\n HOTKEY_COMBO_DRAWER_MANAGER: new ShortCutCombination('ctrl+alt+z,r,d', { description: 'Drawer Manager' }),\r\n HOTKEY_COMBO_DRAWER_HISTORY: new ShortCutCombination('ctrl+alt+z,r,h', { description: 'Drawer History' }),\r\n HOTKEY_COMBO_TRANSACTION_EDITOR: new ShortCutCombination('ctrl+alt+z,r,t', { description: 'Transaction Editor' }),\r\n HOTKEY_COMBO_ACTIVITY_LOG: new ShortCutCombination('ctrl+alt+z,g,a', { description: 'Activity Log' }),\r\n HOTKEY_COMBO_ALERTS_LOG: new ShortCutCombination('ctrl+alt+z,g,l', { description: 'Alerts Log' }),\r\n HOTKEY_COMBO_CLIENT_POINTS_MANAGER: new ShortCutCombination('ctrl+alt+z,g,c', { description: 'Client Points Manager' }),\r\n HOTKEY_COMBO_PAYROLL: new ShortCutCombination('ctrl+alt+z,g,p', { description: 'Payroll' }),\r\n HOTKEY_COMBO_SALES: new ShortCutCombination('ctrl+alt+z,g,s', { description: 'Sales Rankings & Export' }),\r\n HOTKEY_COMBO_EMPLOYEE_SUPPLY_USAGE: new ShortCutCombination('ctrl+alt+z,i,e', { description: 'Employee Supply Usage' }),\r\n HOTKEY_COMBO_INVENTORY_COUNT: new ShortCutCombination('ctrl+alt+z,i,c', { description: 'Inventory Count' }),\r\n HOTKEY_COMBO_INVENTORY_RETURNS: new ShortCutCombination('ctrl+alt+z,i,r', { description: 'Inventory Returns' }),\r\n HOTKEY_COMBO_PURCHASE_ORDERS: new ShortCutCombination('ctrl+alt+z,i,p', { description: 'Purchase Orders' }),\r\n HOTKEY_COMBO_STOCK_LEVELS: new ShortCutCombination('ctrl+alt+z,i,s', { description: 'Stock Levels' }),\r\n HOTKEY_COMBO_EFT_CONTROL_PANEL: new ShortCutCombination('ctrl+alt+z,m,e', { description: 'EFT Control Panel' }),\r\n HOTKEY_COMBO_MEMBERSHIP_MANAGER: new ShortCutCombination('ctrl+alt+z,m,m', { description: 'Membership Manager' }),\r\n HOTKEY_COMBO_BUSINESS_INFORMATION: new ShortCutCombination('ctrl+alt+z,b,b', { description: 'Business Information' }),\r\n HOTKEY_COMBO_EVENTS: new ShortCutCombination('ctrl+alt+z,b,e', { description: 'Events' }),\r\n HOTKEY_COMBO_EMPLOYEE_SERVICE_TIMES_PRICING: new ShortCutCombination('ctrl+alt+z,r,p', { description: 'SHORTCUT_LABEL_EMPLOYEESERVICETIMESPRICING' }),\r\n\r\n\r\n //#endregionHotkeyCombo\r\n\r\n //#region modals\r\n MODAL_OK_BUTTON: new ShortCutCombination('k', {description: 'Ok', allowIn: []}),\r\n MODAL_APPLY_BUTTON: new ShortCutCombination('a', {description: 'Apply', allowIn: []}),\r\n MODAL_CANCEL_BUTTON: new ShortCutCombination('c', {description: 'Cancel', allowIn: []}),\r\n MODAL_YES_BUTTON: new ShortCutCombination('y', {description: 'Yes', allowIn: []}),\r\n MODAL_NO_BUTTON: new ShortCutCombination('n', {description: 'No', allowIn: []}),\r\n MODAL_SAVE_BUTTON: new ShortCutCombination('s', {description: 'Save', allowIn: []}),\r\n MODAL_DISMISS: new ShortCutCombination('enter', {description: 'Dismiss Modal', allowIn: []}),\r\n //#endregion region\r\n }\r\n }\r\n\r\n /**\r\n * @param keys\r\n * @returns the ShortKeyCombination instance or object of instances\r\n */\r\n get(keys: keyof ICombinationNames): IShortCutCombination;\r\n get(keys: T[]): { [key in T]: IShortCutCombination };\r\n get(keys: T[] | keyof ICombinationNames): { [key in T]: IShortCutCombination } | IShortCutCombination {\r\n\r\n if (!(keys instanceof Array)) {\r\n return this.combinations[keys as keyof ICombinationNames] as IShortCutCombination;\r\n }\r\n\r\n return keys.reduce((res, row: T) => {\r\n res[row] = this.combinations[row as keyof ICombinationNames];\r\n\r\n return res;\r\n }, <{ [key in T]: IShortCutCombination }>{})\r\n }\r\n\r\n getByType(subType: string): any {\r\n let that = this;\r\n var keyList = Object.keys(that.combinations);\r\n var currentSubTypes = [];\r\n _.each(keyList, function (combo: string, index) {\r\n //hotkey type must be in the beginning of the string\r\n if (combo.indexOf(subType) == 0) {\r\n currentSubTypes.push(that.combinations[combo]);\r\n }\r\n //if (test.includes(subType)) {\r\n // console.log(\"added string\");\r\n //}\r\n });\r\n return currentSubTypes;\r\n }\r\n\r\n /**\r\n * Method updates the combination list with new hotkeys.\r\n * @example\r\n * shortKeysListService.update('DATA_MAINTENANCE_ADD', 'ctrl+alt+delete');\r\n * @example\r\n * shortKeysListService.update([{\r\n * key : 'DATA_MAINTENANCE_ADD',\r\n * hotKey : 'ctrl+alt+delete'\r\n * },{\r\n * key : 'DATA_MAINTENANCE_CANCEL',\r\n * hotKey : 'ctrl+alt+t'\r\n * }]);\r\n * @param combinationName\r\n * @param hotKey\r\n */\r\n update(combinationName: keyof ICombinationNames, hotKey: string): void;\r\n update(combinationName: keyof ICombinationNames, hotKey: IShortCutCombination): void;\r\n update(combinations: { key: keyof ICombinationNames; hotKey: string; }[]): void;\r\n update(combinations: { key: keyof ICombinationNames; hotKey: IShortCutCombination; }[]): void;\r\n update(combinationName: keyof ICombinationNames | IShortCutsListUpdateItem[], hotKey?: string | IShortCutCombination): void {\r\n if (!(combinationName instanceof Array)) {\r\n combinationName = [{key: combinationName, hotKey: hotKey}];\r\n }\r\n\r\n combinationName.forEach(row => {\r\n if (row.hotKey instanceof ShortCutCombination) {\r\n this.combinations[row.key] = row.hotKey;\r\n } else if (!this.combinations[row.key] && typeof row.hotKey === 'string') {\r\n this.combinations[row.key] = new ShortCutCombination(row.hotKey);\r\n } else {\r\n this.combinations[row.key].update(row.hotKey as string);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @param keys\r\n * @returns {string[]} array of hotkeys combinations for given combination keys\r\n */\r\n getHotKeys(keys: T[]): string[] {\r\n const res = this.get(keys);\r\n\r\n return Object\r\n .keys(res)\r\n .map((row: T) => this.combinations[row as keyof ICombinationNames].combination)\r\n }\r\n }\r\n\r\n //#endregionShortKeysListService\r\n\r\n angular.module('meevo.components.short-cuts')\r\n .factory('meevo.components.short-cuts.ShortCutsListService', ShortCutsListService.factory());\r\n}\r\n","module Meevo.Model {\r\n /**\r\n * Simple DTO to represent a set of tracking data that will be stored in the database.\r\n */\r\n export class TrackingItem {\r\n details: any;\r\n\r\n constructor(public noun: Meevo.Model.NounEnum, public verb: Meevo.Model.VerbEnum, payload: any, public mainEntityId?: any, public shortDescription?: string) {\r\n this.details = this.formatPayload(payload);\r\n }\r\n\r\n /**\r\n * Determines if the supplied payload is already in JSON or needs to be string-ified and formats it as needed.\r\n * @param data\r\n */\r\n private formatPayload(data: any): any {\r\n let ret: any = data;\r\n\r\n try {\r\n JSON.parse(data);\r\n } catch (e) {\r\n ret = JSON.stringify(data);\r\n }\r\n\r\n return ret;\r\n }\r\n }\r\n}","///\r\n///\r\n///\r\n\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n import IShortCutGroup = Meevo.Components.ShortCuts.IShortCutGroup;\r\n\r\n export abstract class ShortCutsStateManagerController {\r\n protected abstract shortCutGroup: IShortCutGroup | { [key: number]: IShortCutGroup };\r\n\r\n private _noun: Meevo.Model.NounEnum;\r\n protected get noun(): Meevo.Model.NounEnum {\r\n return this._noun;\r\n }\r\n protected set noun(value: Meevo.Model.NounEnum) {\r\n this._noun = value;\r\n }\r\n\r\n get mode(): Meevo.Model.MaintenanceFormState {\r\n return Meevo.Model.MaintenanceFormState.Readonly;\r\n }\r\n\r\n protected get currentModeGroup(): IShortCutGroup {\r\n if (this.shortCutGroup instanceof ShortCutGroup) {\r\n return this.shortCutGroup;\r\n }\r\n\r\n if (typeof this.mode === 'number') {\r\n return this.shortCutGroup[this.mode];\r\n }\r\n\r\n return new ShortCutGroup([]);\r\n }\r\n\r\n constructor(protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected shortCutsService: IShortCutsService) {\r\n const stateName: string = $state.current.name;\r\n\r\n $scope.$on('$stateChangeSuccess',\r\n (event, toState, toParams, fromState) => {\r\n if (fromState.name === stateName) {\r\n this.unbindHotkeys();\r\n } else if (toState.name === stateName) {\r\n this.bindHotkeys();\r\n }\r\n });\r\n\r\n $scope.$watch(() => this.mode, () => {\r\n this.bindHotkeys();\r\n });\r\n\r\n this.bindHotkeys = _.debounce(this.bindHotkeys, 300);\r\n }\r\n\r\n protected bindHotkeys() {\r\n this.shortCutsService.activateGroup(this.currentModeGroup, this.noun);\r\n }\r\n\r\n protected unbindHotkeys() {\r\n this.shortCutsService.deactivateGroup(this.currentModeGroup);\r\n }\r\n }\r\n}\r\n","///\r\n///\r\n///\r\n///\r\n\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n import IShortCutGroup = Meevo.Components.ShortCuts.IShortCutGroup;\r\n import MaintenanceFormState = Meevo.Model.MaintenanceFormState;\r\n\r\n export abstract class MaintenanceShortCutsController extends ShortCutsStateManagerController implements IMaintenanceShortCutsController {\r\n protected abstract context: T;\r\n protected visualState: Model.MaintenanceFormVisualState;\r\n\r\n protected shortCutGroup: IShortCutGroup | { [key: number]: IShortCutGroup };\r\n\r\n get noun() {\r\n const hasSelectedSection = (this.context || {}).selectedSection || null;\r\n\r\n return !!hasSelectedSection ? this.context.selectedSection.noun : null;\r\n }\r\n\r\n get mode() {\r\n return this.context ? (this.context).mode : null;\r\n }\r\n\r\n constructor(protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected shortCutsService: IShortCutsService) {\r\n super($scope, $state, shortCutsService);\r\n\r\n const undeleteGroup = new ShortCutGroup([{\r\n shortCutName: 'DATA_MAINTENANCE_UNDELETE',\r\n callback: this.shortCutsService.contextMethodsWrapper>(this, 'undelete')\r\n }]);\r\n\r\n this.shortCutGroup = {\r\n [MaintenanceFormState.Readonly]: new ShortCutGroup([{\r\n shortCutName: 'DATA_MAINTENANCE_EDIT',\r\n callback: this.shortCutsService.contextMethodsWrapper>(this, 'edit')\r\n }])\r\n };\r\n\r\n const unbind = this.$scope.$watch(() => this.context, (newValue) => {\r\n if (newValue) {\r\n unbind();\r\n\r\n if (typeof this.context.showDeleteLogic === 'function') {\r\n this.shortCutGroup[MaintenanceFormState.Readonly].removeShortCuts([\r\n 'DATA_MAINTENANCE_DELETE',\r\n 'DATA_MAINTENANCE_COPY',\r\n 'DATA_MAINTENANCE_ADD'\r\n ]);\r\n this.shortCutGroup[MaintenanceFormState.Readonly].addShortCuts([{\r\n shortCutName: 'DATA_MAINTENANCE_DELETE',\r\n callback: this.shortCutsService.contextMethodsWrapper>(this, 'delete')\r\n }, {\r\n shortCutName: 'DATA_MAINTENANCE_COPY',\r\n callback: this.shortCutsService.contextMethodsWrapper>(this, 'copy')\r\n }, {\r\n shortCutName: 'DATA_MAINTENANCE_ADD',\r\n callback: this.shortCutsService.contextMethodsWrapper>(this, 'add')\r\n }]);\r\n }\r\n\r\n this.$scope.$watch(() => this.context.canUndelete, (newValue: boolean, oldValue: boolean) => {\r\n if (newValue) {\r\n this.shortCutsService.activateGroup(undeleteGroup, this.context.selectedSection.noun);\r\n } else if (oldValue) {\r\n this.bindHotkeys();\r\n }\r\n });\r\n\r\n this.$scope.$watch(() => this.context.selectedSection, (newSection: Section) => {\r\n const hasSelectedSection = (this.context || {}).selectedSection || null;\r\n if (!!hasSelectedSection && newSection.hasOwnProperty('shortCutGroup')) {\r\n this.shortCutsService.activateGroup(newSection.shortCutGroup, newSection.noun);\r\n } else {\r\n this.bindHotkeys();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected bindHotkeys() {\r\n if (this.context && this.visualState !== Model.MaintenanceFormVisualState.Search && this.currentModeGroup) {\r\n this.shortCutsService.activateGroup(this.currentModeGroup, this.noun, false);\r\n }\r\n }\r\n\r\n protected unbindHotkeys() {\r\n this.shortCutsService.deactivateGroup(this.currentModeGroup);\r\n }\r\n\r\n abstract getContext(): T;\r\n }\r\n}\r\n","///\r\n\r\nmodule Meevo.Components.BaseClasses {\r\n\r\n import MaintenanceShortCutsController = Meevo.Components.ShortCuts.MaintenanceShortCutsController;\r\n import ICustomDataContextConfig = Meevo.Model.ICustomDataContextConfig;\r\n\r\n interface ICustomDataControllerConfig {\r\n use: boolean,\r\n udfNoun?: Meevo.Model.NounEnum,\r\n appAreaEnum: Meevo.Model.AppAreaEnum\r\n }\r\n\r\n export abstract class DataMaintenanceControllerBase extends MaintenanceShortCutsController, IDataMaintenanceContext> implements IDataMaintenanceController {\r\n protected selectedItemId: Guid;\r\n protected preValidationPromise: ng.IPromise = null;\r\n protected asLocationId: number;\r\n protected context: IDataMaintenanceContext;\r\n protected searchContext: any;\r\n protected searchContextCriteria: any;\r\n protected visualState: Model.MaintenanceFormVisualState;\r\n protected initialEditSection: string;\r\n protected initialEditSubSection: string;\r\n protected targetView: any;\r\n protected searchFallbackCriteria: any;\r\n protected customDataControllerConfig: ICustomDataControllerConfig;\r\n public customDataContextConfig: ICustomDataContextConfig = null;\r\n\r\n protected meevoSecurityKeys = Meevo.Components.Common.SecurityKeys;\r\n public atLocationIdWatcher = null;\r\n /**\r\n * The state/route/context name associated with this controller\r\n * It is derived from the current state that is active when the controller is instantiated.\r\n * If the child class doesn't supply $state to this base constructor, then this is never populated.\r\n */\r\n protected associatedStateName: string = '';\r\n\r\n constructor(protected appSettings: Meevo.Components.Common.IAppSettings,\r\n protected dataService: Meevo.Components.BaseClasses.IDataService,\r\n protected modalService: Meevo.Components.Modal.IModalService,\r\n protected identityService: Meevo.Components.Common.IIdentityService,\r\n protected loggingService: Meevo.Components.Logging.ILoggingService,\r\n protected $scope: angular.IScope,\r\n protected contextParams: IContextParams,\r\n protected $state: any,\r\n protected $rootScope: angular.IRootScopeService,\r\n protected shortCutsService: Meevo.Components.ShortCuts.IShortCutsService,\r\n customDataControllerConfig?: ICustomDataControllerConfig\r\n ) {\r\n super($scope, $state, shortCutsService);\r\n\r\n /********************************************************************************\r\n * State/route/context monitoring\r\n * 1. Get the state/route name associated with this controller\r\n * 2. Hook the state change success listener to the handlers\r\n ********************************************************************************/\r\n // If $state is passed in by the child, we assign a local member to hold the state name.\r\n // The $state.current property holds the current state name that is active as this constructor runs\r\n // so we take that to be the state associated with this controller for active/inactive purposes.\r\n if (!_.isEmpty($state)) {\r\n this.associatedStateName = $state.current.name;\r\n }\r\n\r\n //// Apply state params if they are present.\r\n //if (!_.isEmpty(contextParams.params)) {\r\n this.applyParams(this.contextParams.params);\r\n //}\r\n\r\n // Hook the listener to $rootScope, if it is available\r\n if (!_.isEmpty($scope)) {\r\n $scope.$on('$stateChangeSuccess',\r\n (event, toState, toParams, fromState, fromParams) => {\r\n if (fromState.name === this.associatedStateName) {\r\n this.onRouteInactive();\r\n } else if (toState.name === this.associatedStateName) {\r\n this.onRouteActive();\r\n // Prevent Access To SelectedSection If Unauthorized User Logs In Thru MeevoLockout Feature\r\n let hasSelectedSection = (this.context || {}).selectedSection || null;\r\n let hasAccessToSelectedSection = !!hasSelectedSection && (!this.context.selectedSection.sectionSecurityKey || (this.context).securityChecker.hasSecurity(this.context.selectedSection.sectionSecurityKey));\r\n if (!hasAccessToSelectedSection && Model.Guard.isSomething(this.selectedItemId)) {\r\n if ((this.context).navigationBlocked) {\r\n this.modalService.alert('Oops ... you are not supposed to be here. Please click cancel to discard changes and move to another screen')\r\n } else {\r\n let index = _.findIndex(this.context.sections, (s: any) => s.sectionSecurityKey ? (this.context).securityChecker.hasSecurity(s.sectionSecurityKey) : true);\r\n this.context.selectedSection = this.context.sections[index] || this.context.selectedSection\r\n let hasModel = this.context.selectedSection.model || (this.context).reloadSelectedSection(); // reloadSelectedSection Only If this.selectedItemId && !this.context.selectedSection.model\r\n }\r\n }\r\n }\r\n });\r\n }\r\n // Run onRouteActive here since this also counts as entering this state (and the stateChangeSuccess message has already happened for this first load\r\n this.onRouteActive();\r\n\r\n this.customDataControllerConfig = customDataControllerConfig;\r\n if (this.customDataControllerConfig && this.customDataControllerConfig.use) {\r\n this.getCustomDataInfo()\r\n .then(() => this.addWatchers());\r\n } else {\r\n this.addWatchers();\r\n }\r\n\r\n /**\r\n * Subscribes to the ApplyParamsToContext message which will\r\n * take the params received and take the necessary action on the current context.\r\n */\r\n $scope.$on(Meevo.Components.Common.Messages.APPLY_PARAMS_TO_CONTEXT,\r\n (event, state, params) => {\r\n if (state.name === this.associatedStateName) {\r\n this.applyParams(params);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get custom tabs list for specific app area and business type\r\n * */\r\n private getCustomDataInfo(): ng.IPromise {\r\n\r\n return this.dataService.getListPaged('CustomData/Tab', {\r\n criteria: {\r\n objectStateEnums: [Meevo.Model.ObjectStateEnum.Active],\r\n appAreaEnum: this.customDataControllerConfig.appAreaEnum,\r\n businessType_TId: this.identityService.businessTypeId\r\n }\r\n })\r\n .then((data: any) => {\r\n this.customDataContextConfig = {\r\n use: this.customDataControllerConfig.use,\r\n udfNoun: this.customDataControllerConfig.udfNoun,\r\n appAreaEnum: this.customDataControllerConfig.appAreaEnum,\r\n appAreaTabs: data[this.customDataControllerConfig.appAreaEnum],\r\n $controllersScope: this.$scope\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * Add watchers to $scope\r\n * */\r\n private addWatchers(): void {\r\n /**\r\n * Handles changing of the VisualState from the search page to the detail page.\r\n * @return {}\r\n */\r\n this.$scope.$watch(() => this.visualState, (newState: Model.MaintenanceFormVisualState) => {\r\n if (newState === Model.MaintenanceFormVisualState.Detail && this.selectedItemId == null) {\r\n this.createContext();\r\n }\r\n\r\n if (newState === Model.MaintenanceFormVisualState.Detail) {\r\n this.bindHotkeys();\r\n }\r\n\r\n if (newState === Model.MaintenanceFormVisualState.Search) {\r\n this.selectedItemId = null;\r\n this.cleanup();\r\n }\r\n });\r\n\r\n /**\r\n * Handles creating a context for an item when the selectedItemId changes\r\n * *AND* we are in the Detail state. This will happen if the user\r\n * chooses an item from the 'Search Results' dropdown that is available\r\n * on the 'Detail' screen.\r\n * @return {}\r\n */\r\n this.$scope.$watch(() => this.selectedItemId, (newItemId: Guid) => {\r\n if (this.visualState === Model.MaintenanceFormVisualState.Detail && this.selectedItemId != null) {\r\n this.createContext();\r\n }\r\n });\r\n\r\n /**\r\n * Handles creating a context for an item when the initialEditSection (TABs) changes\r\n * *AND* we are in the Detail state.\r\n * @return {}\r\n */\r\n //this.$scope.$watch(() => this.initialEditSection, (newInitialEditSection: any) => {\r\n // if (this.visualState === Model.MaintenanceFormVisualState.Detail && this.initialEditSection) {\r\n // this.createContext();\r\n // }\r\n //});\r\n\r\n /**\r\n * Handles changing of the VisualState from the search page to the detail page.\r\n * @return {}\r\n */\r\n //$scope.$watch(() => this.asLocationId, (newAsLocation: number) => {\r\n // if (this.visualState === Model.MaintenanceFormVisualState.Detail && this.selectedItemId != null && newAsLocation != null) {\r\n // this.createContext();\r\n // }\r\n //});\r\n }\r\n\r\n /**\r\n * Determines whether or not to showSearch in a format that is usable by the\r\n * UI (Can't get enum evaluation to work in UI)\r\n * @return {boolean}\r\n */\r\n get showSearch(): boolean {\r\n return this.visualState === Model.MaintenanceFormVisualState.Search;\r\n }\r\n\r\n /**\r\n * Function which handles creation of the context for the matainenance form,\r\n * activation, and additional initialization.\r\n * @return {}\r\n */\r\n public createContext(): void {\r\n this.context.closeCallback = this.processCallback;\r\n if (this.identityService.inCentralOfficeMode()) {\r\n if (!this.atLocationIdWatcher) {\r\n this.atLocationIdWatcher = this.$scope.$watch(() => this.context.atLocationId, (newAtLocationId: number) => {\r\n if (this.visualState === Model.MaintenanceFormVisualState.Detail && this.selectedItemId != null && newAtLocationId != null) {\r\n this.asLocationId = newAtLocationId;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n public cleanup(): void {\r\n if (this.context) {\r\n this.context.cleanup();\r\n }\r\n }\r\n\r\n /**\r\n * Handles processing a call back if one was supplied in the contextParams.\r\n * this will enable other areas to navigate to the client, and then redirect\r\n * back to themselves upon an event (i.e. postAdd, postUpdate, postCancel...)\r\n * @return{}\r\n */\r\n protected processCallback = (model: any, executeCallback: boolean) => {\r\n var cb = Model.Guard.isSomething(this.contextParams) ? this.contextParams.params : null; //this may be overwritten during closecontext, so cache it temporarily here.\r\n if (cb && cb.callback) {\r\n this.$rootScope.$broadcast('closeContext', this.$state.current, cb.callbackState);\r\n if (executeCallback && cb.callback) {\r\n if (Model.Guard.isSomething(cb.callbackController) && cb.callbackController) {\r\n cb.callback({ model: model, callbackData: cb.callbackData, callbackContext: cb });\r\n }\r\n else {\r\n cb.callback(model, cb);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Should be overridden when necessary to validate the 'incoming' entity id\r\n * @return{}\r\n */\r\n public preValidation(id): ng.IPromise {\r\n return null;\r\n }\r\n\r\n /**\r\n * Initializes the visual state based on the presence of params.\r\n * @param params\r\n */\r\n applyParams(params) {\r\n if (!_.isEmpty(params) && params.targetState != null) {\r\n this.contextParams.params = params;\r\n if (params.actionState != null) {\r\n if (params.actionState === Model.MaintenanceFormState.Editing || (params.actionState === Model.MaintenanceFormState.Readonly && params.id)) {\r\n // check pre validation before setting the id\r\n var promise = this.preValidation(params.id);\r\n if (promise != null) {\r\n promise.then((result) => {\r\n if (result) {\r\n this.selectedItemId = params.id;\r\n this.initialEditSection = params.initialEditSection;\r\n this.initialEditSubSection = params.initialEditSubSection;\r\n this.visualState = params.targetState;\r\n }\r\n else {\r\n this.selectedItemId = null;\r\n this.visualState = Model.MaintenanceFormVisualState.Search;\r\n }\r\n });\r\n }\r\n else {\r\n this.selectedItemId = params.id;\r\n this.initialEditSection = params.initialEditSection;\r\n this.initialEditSubSection = params.initialEditSubSection;\r\n this.visualState = params.targetState;\r\n }\r\n }\r\n else if (params.actionState === Model.MaintenanceFormState.Adding) {\r\n this.selectedItemId = null;\r\n this.visualState = params.targetState;\r\n }\r\n }\r\n else {\r\n this.selectedItemId = null;\r\n this.visualState = params.targetState;\r\n }\r\n }\r\n else {\r\n this.selectedItemId = null;\r\n this.visualState = Model.MaintenanceFormVisualState.Search;\r\n }\r\n }\r\n\r\n /**\r\n * Runs when this route becomes active, either due to initial creation\r\n * or by being navigated to as a sticky state\r\n */\r\n onRouteActive() {\r\n }\r\n\r\n /**\r\n * Runs when the route becomes inactive (i.e. another route is navigated to\r\n * from this one.\r\n */\r\n onRouteInactive() {\r\n if (this.atLocationIdWatcher) {\r\n this.atLocationIdWatcher();\r\n }\r\n }\r\n\r\n public getContext(): IDataMaintenanceContext {\r\n return this.context;\r\n }\r\n\r\n public isSingleLocation(): boolean {\r\n if (Model.Guard.isSomething(this.identityService.current().isSingleLocation))\r\n return this.identityService.current().isSingleLocation;\r\n else\r\n return false;\r\n }\r\n }\r\n}","/// \r\n/// \r\n\r\n\r\n\r\nmodule Meevo.Components.Common {\r\n 'use strict';\r\n\r\n import SecurityAccessEnum = Meevo.Model.SecurityAccessEnum;\r\n\r\n export interface ISecurityService {\r\n checkSection(section: string): ng.IPromise;\r\n checkSecurityKey(key: string): ng.IPromise;\r\n checkSecurityItem(key: string): ng.IPromise;\r\n checkSecurityItemWithElevation(key: string, elevateIfHidden?: boolean): ng.IPromise;\r\n\r\n checkAndCache(keys: Array): ng.IPromise>;\r\n hasSecurity(key: string): boolean;\r\n hasSecurity(key: string, access: SecurityAccessEnum): boolean;\r\n hasSecurityDenyOrGrant(key: string): boolean;\r\n docsAndFormsClientTabCheck(key: string): boolean;\r\n canExecute(key: string, $scope: angular.IScope): ng.IPromise<{}>;\r\n checkCachedSecurityKey(key: string): number;\r\n setRootKeytoHide(key: string): void;\r\n refreshSecurityKeys(): void;\r\n refreshSecurityKeys(async: boolean): ng.IPromise>;\r\n emulateLocationSecurity(emulatedSecurity: Array);\r\n showDenyWarning(securityKeyPath: string, securityKey?: string, denyMessage?: string): void;\r\n checkModuleAccess(securityKey: string): ng.IPromise;\r\n checkMany(keys: string[]): ng.IPromise ;\r\n checkMultipleKeys(...keys: string[]): ng.IPromise;\r\n }\r\n\r\n interface ISectionGroup { [section: string]: T }\r\n\r\n\r\n\r\n // SecurityKeys have this format -\r\n // Section:Command\r\n // Section may contain : separated fields for nested sections.\r\n // i.e. DATA:Client:Main\r\n // Command is a verb like 'New', 'Add', 'Delete', 'View'\r\n // * will indicate that all SecurityKeys matching this structure should be returned.\r\n export class SecurityService implements ISecurityService {\r\n\r\n constructor(\r\n private $http: angular.IHttpService,\r\n private $q: angular.IQService,\r\n private loggingService: Meevo.Components.Logging.ILoggingService,\r\n private $rootScope: angular.IRootScopeService,\r\n private appSettings: Meevo.Components.Common.IAppSettings,\r\n private modalService: Meevo.Components.Modal.IModalService,\r\n private $translate: angular.translate.ITranslateService) {\r\n }\r\n\r\n // Cache entire sections here to know that a section has been requested.\r\n private static sections: ISectionGroup> = {};\r\n\r\n // Map from SecurityKey to access here. For quick lookup.\r\n private static securityKeys: ISectionGroup = {};\r\n\r\n\r\n private log(msg: string): void {\r\n this.loggingService.trace(\"SecurityService: \" + msg);\r\n }\r\n\r\n /**\r\n * Get all SecurityKeys related to a specified section, or look up the specific ones specified as commands.\r\n * @param section\r\n * @param commands\r\n */\r\n public checkSection(sectionKeyBase: string): ng.IPromise {\r\n\r\n let sectionKeyWildcard = sectionKeyBase;\r\n if (sectionKeyBase.charAt(sectionKeyBase.length - 1) !== \"%\")\r\n sectionKeyWildcard = sectionKeyBase.concat(':%');\r\n\r\n /* SecurityKeysReview Are Actually Caching Now. TODO:Review/Delete SecurityService.sections[section] */\r\n\r\n // Check if this section has actually been requested before, in which case we'll already have all the relevant SecurityKeys\r\n if (SecurityService.sections[sectionKeyBase] != null) {\r\n this.log(\"Use cached values for section \" + sectionKeyBase);\r\n return this.$q.when(); //use cached values\r\n }\r\n\r\n // If not cached, send to the server\r\n return this.check([sectionKeyWildcard]).then((resp: Array) => {\r\n SecurityService.sections[sectionKeyBase] = resp;\r\n resp.forEach((r) => {\r\n SecurityService.securityKeys[r.key] = r;\r\n });\r\n return;\r\n });\r\n }\r\n\r\n /**\r\n * Function from ISecurityService. Looks at cached values only and returns bool indicating if the SecurityKey is Grant versus anything else\r\n * this function is synchronize on purpose we needed one for quick checking when we are guaranteed it exists already, so we dont have to do promises\r\n * everytime\r\n * @param SecurityKey\r\n * @param access\r\n */\r\n public hasSecurity(key: string, access: SecurityAccessEnum = SecurityAccessEnum.Grant): boolean {\r\n\r\n if (Model.Guard.isNothing(SecurityService.securityKeys[key])) {\r\n this.log(`SecurityKey=${key} missing from cache`);\r\n return false;\r\n } else\r\n return SecurityService.securityKeys[key].securityAccess == access;\r\n\r\n }\r\n public hasSecurityDenyOrGrant(key: string): boolean {\r\n\r\n if (Model.Guard.isNothing(SecurityService.securityKeys[key])) {\r\n this.log(`SecurityKey=${key} missing from cache`);\r\n return false;\r\n }\r\n else if (SecurityService.securityKeys[key].securityAccess == SecurityAccessEnum.Grant) {\r\n return true;\r\n } else if (SecurityService.securityKeys[key].securityAccess == SecurityAccessEnum.Deny) {\r\n return true;\r\n } else\r\n return false;\r\n }\r\n\r\n public docsAndFormsClientTabCheck(key: string): boolean {\r\n if (Model.Guard.isNothing(SecurityService.securityKeys[key])) {\r\n this.log(`SecurityKey=${key} missing from cache`);\r\n return false;\r\n } else if (SecurityService.securityKeys[key].moduleTenantSecurityAccess !== SecurityAccessEnum.Grant) {\r\n SecurityService.securityKeys[key].securityAccess = SecurityService.securityKeys[key].roleSecurityAccess;\r\n }\r\n\r\n return SecurityService.securityKeys[key].securityAccess === SecurityAccessEnum.Grant;\r\n }\r\n\r\n public checkCachedSecurityKey(key: string): number {\r\n let cachedSecurityItem = SecurityService.securityKeys[key];\r\n if (_.isUndefined(cachedSecurityItem))\r\n return 2054;\r\n return cachedSecurityItem.securityAccess;\r\n }\r\n\r\n public setRootKeytoHide(key: string): void {\r\n SecurityService.securityKeys[key].securityAccess = SecurityAccessEnum.Hide;\r\n }\r\n\r\n public checkModuleAccess(key: string): ng.IPromise {\r\n return this.checkSecurityItem(key).then((securityItem : Model.SecurityItem) => {\r\n return securityItem.moduleSecurityAccess;\r\n });\r\n }\r\n\r\n /**\r\n * Returns a promise that resolves with the SecurityKey for a given key\r\n * Resolves with the cached value if it is available otherwise makes a request to the server.\r\n * @param SecurityKeyKey\r\n */\r\n public checkSecurityKey(key: string): ng.IPromise {\r\n let deferred = this.$q.defer();\r\n let cachedSecurityItem = SecurityService.securityKeys[key];\r\n if (_.isUndefined(cachedSecurityItem)) {\r\n this.check([key]).then(data => {\r\n let securityItem = _.findWhere(data, { key: key });\r\n if (!_.isEmpty(securityItem)) {\r\n // Add to cache\r\n this.addSecurityItemToCache(securityItem);\r\n deferred.resolve(securityItem.securityAccess);\r\n } else {\r\n deferred.reject(null);\r\n }\r\n });\r\n } else {\r\n deferred.resolve(cachedSecurityItem.securityAccess);\r\n }\r\n return deferred.promise;\r\n }\r\n\r\n public checkSecurityItem(key: string): ng.IPromise {\r\n let deferred = this.$q.defer();\r\n let cachedSecurityItem = SecurityService.securityKeys[key];\r\n if (_.isUndefined(cachedSecurityItem)) {\r\n this.check([key]).then(data => {\r\n let securityItem = _.findWhere(data, { key: key });\r\n if (!_.isEmpty(securityItem)) {\r\n // Add to cache\r\n this.addSecurityItemToCache(securityItem);\r\n deferred.resolve(securityItem);\r\n } else {\r\n // Key was never found most likely does not exist in DB\r\n let hide: Model.SecurityItem = { key: key, securityAccess: Model.SecurityAccessEnum.Hide}\r\n deferred.reject(hide);\r\n }\r\n });\r\n } else {\r\n deferred.resolve(cachedSecurityItem);\r\n }\r\n return deferred.promise;\r\n }\r\n\r\n public checkSecurityItemWithElevation(key: string, elevateIfHidden: boolean = false): ng.IPromise {\r\n let deferred = this.$q.defer();\r\n this.checkSecurityItem(key)\r\n .then((securityItem: Model.SecurityItem) => {\r\n if (securityItem.securityAccess == Meevo.Model.SecurityAccessEnum.Grant) {\r\n deferred.resolve(securityItem);\r\n } else if (securityItem.securityAccess == Meevo.Model.SecurityAccessEnum.Deny && securityItem.canElevate) {\r\n this.$rootScope.$emit(Meevo.Components.Common.Messages.ELEVATION_CHALLENGE, deferred, key.replace(/:/gi, '_'), null, null, securityItem.securityKeyPath);\r\n } else {\r\n if(elevateIfHidden) {\r\n this.$rootScope.$emit(Meevo.Components.Common.Messages.ELEVATION_CHALLENGE, deferred, key.replace(/:/gi, '_'), null, null, securityItem.securityKeyPath);\r\n } else {\r\n deferred.reject(securityItem);\r\n }\r\n }\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n public checkMany(keys: string[]): ng.IPromise {\r\n return this.check(keys);\r\n }\r\n\r\n\r\n /**\r\n * Adds an individual SecurityKey to the cache.\r\n * @param SecurityKey\r\n */\r\n private addSecurityItemToCache(securityItem: Model.SecurityItem) {\r\n if (!_.isEmpty(securityItem)) {\r\n let existing = SecurityService.securityKeys[securityItem.key];\r\n if (_.isEmpty(existing)) {\r\n SecurityService.securityKeys[securityItem.key] = securityItem;\r\n }\r\n }\r\n }\r\n\r\n //refreshSecurityKeys() {\r\n // this.$http.post(\"/api/Security/Check\", { keys: \"%\" })\r\n // .then((resp: angular.IHttpPromiseCallbackArg>) => {\r\n // resp.data.forEach((securityItem) => {\r\n // SecurityService.securityKeys[securityItem.key] = securityItem;\r\n // });\r\n // });\r\n //}\r\n\r\n refreshSecurityKeys(): void\r\n refreshSecurityKeys(async: boolean): angular.IPromise>\r\n refreshSecurityKeys(async: boolean = false): angular.IPromise> {\r\n let keys = [\"%\"]\r\n SecurityService.securityKeys = {};\r\n let promise = this.$http.post(\"/api/Security/Check\", { keys: keys })\r\n .then((response: angular.IHttpPromiseCallbackArg>) => {\r\n response.data.forEach((securityItem) => {\r\n SecurityService.securityKeys[securityItem.key] = securityItem;\r\n });\r\n /* TODO: Review/Delete SecurityService.sections[section] in this.checkSection. */\r\n for (let section in SecurityService.sections)\r\n SecurityService.sections[section] = response.data\r\n\r\n if (async)\r\n return response\r\n });\r\n\r\n if (async)\r\n return promise\r\n\r\n }\r\n\r\n emulateLocationSecurity(emulatedSecurity: Array) {\r\n if (Model.Guard.isNothing(emulatedSecurity))\r\n return;\r\n\r\n emulatedSecurity.forEach(securityItem => SecurityService.securityKeys[securityItem.key] = securityItem);\r\n for (let section in SecurityService.sections)\r\n SecurityService.sections[section] = emulatedSecurity;\r\n }\r\n\r\n /**\r\n * This will not do caching, but it will unwrap the http result of a successful response and return the data.\r\n * @param commands\r\n */\r\n private check(keys: Array): ng.IPromise {\r\n this.log(\"Check SecurityKeys for \" + keys.toString());\r\n var deffered = this.$q.defer();\r\n var customKeys = keys.filter(k => k.toLowerCase().indexOf(\"custom_entity\") >= 0);\r\n if (customKeys.length > 0) {\r\n let json = { keys: customKeys };\r\n this.$http.post(\"/api/Security/Check\", json)\r\n .then((resp: angular.IHttpPromiseCallbackArg) => {\r\n _.forEach(resp.data,\r\n item => {\r\n item.key = item.key.toLowerCase();\r\n this.addSecurityItemToCache(item);\r\n });\r\n deffered.resolve(resp.data);\r\n return resp.data;\r\n }).catch((err) => {\r\n console.log(err);\r\n return deffered.reject();\r\n });\r\n } else {\r\n var response = this.appSettings.SECURITY_ACCESS_KEYS.then((keysItem) => {\r\n _.forEach(keysItem,\r\n item => {\r\n this.addSecurityItemToCache(item);\r\n });\r\n deffered.resolve(keysItem);\r\n return keysItem;\r\n\r\n });\r\n }\r\n return deffered.promise;\r\n }\r\n /**\r\n * Retrieves the SecurityKey for a collection of keys AND attempts to add them to the cache\r\n * once they're retrieved. This is an alternative to checkSection where it can be any ad hoc\r\n * list of keys that don't have to belong to the same section and the request isn't included in the\r\n * section-level caching mechanism. Internally calls check().\r\n * @param commands\r\n */\r\n public checkAndCache(keys: Array): ng.IPromise> {\r\n\r\n //could iterate through and rebuild only ones we need for cache, but from where we use it, its not worth it\r\n\r\n return this.check(keys).then(response => {\r\n //_.forEach(response, item => {\r\n // this.addSecurityItemToCache(item);\r\n //});\r\n return response;\r\n });\r\n };\r\n\r\n canExecute(key: string, $scope: angular.IScope): ng.IPromise<{}> {\r\n let defer = this.$q.defer();\r\n\r\n this.checkSecurityItem(key).then((securityItem: Model.SecurityItem) => {\r\n if (securityItem.securityAccess === Model.SecurityAccessEnum.Grant) {\r\n defer.resolve();\r\n }\r\n else if (securityItem.canElevate) {\r\n $scope.$emit(Meevo.Components.Common.Messages.ELEVATION_CHALLENGE, defer, key.replace(/:/gi, '_'), securityItem.displayName);\r\n }\r\n });\r\n\r\n return defer.promise;\r\n }\r\n\r\n public showDenyWarning(securityKeyPath: string, securityKey?: string, denyMessage: string = 'ERROR_HTTP_403'): void {\r\n let errorMessage = `${this.$translate.instant(denyMessage)}${securityKeyPath}`;\r\n this.modalService.alert(errorMessage);\r\n if (securityKey) {\r\n this.$http.post('/api/Alert/Trigger/AccessDenied', { securityKey: securityKey });\r\n }\r\n }\r\n\r\n /**\r\n * Method checks multiple security keys and returns first key with securityAccess !== Grant\r\n * Returns null if all keys have Grant access\r\n * @param keys\r\n */\r\n public checkMultipleKeys(...keys: string[]): ng.IPromise {\r\n return this.$q.all(keys.map(key => this.checkSecurityItem(key))).then(result => {\r\n for (const securityItem of result) {\r\n if (securityItem.securityAccess !== Model.SecurityAccessEnum.Grant) {\r\n return securityItem;\r\n }\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n static factory(): Function {\r\n let svc = ($http: angular.IHttpService,\r\n $q: angular.IQService,\r\n loggingService: Meevo.Components.Logging.ILoggingService,\r\n $rootScope: angular.IRootScopeService,\r\n appSettings: Meevo.Components.Common.IAppSettings,\r\n modalService: Meevo.Components.Modal.IModalService,\r\n $translate: angular.translate.ITranslateService) => {\r\n return new SecurityService($http, $q, loggingService, $rootScope, appSettings, modalService, $translate);\r\n };\r\n svc.$inject = [\r\n '$http',\r\n '$q',\r\n 'meevo.components.logging.LoggingService',\r\n '$rootScope',\r\n 'meevo.AppSettings',\r\n 'meevo.components.modal.ModalService',\r\n '$translate'\r\n ];\r\n return svc;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"meevo.components.common\")\r\n .factory(\"meevo.components.common.SecurityService\", SecurityService.factory());\r\n}\r\n","/// \r\n///\r\n///\r\n///\r\n///\r\n///\r\n///\r\n///\r\n///\r\n\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n import IDataMaintenanceContext = Meevo.Components.BaseClasses.IDataMaintenanceContext;\r\n import ICombinationNames = Meevo.Components.ShortCuts.ICombinationNames;\r\n import MaintenanceFormState = Meevo.Model.MaintenanceFormState;\r\n import SecurityAccessEnum = Meevo.Model.SecurityAccessEnum;\r\n //#endregionImports\r\n\r\n //#regionShortCutsService\r\n export class ShortCutsService implements IShortCutsService {\r\n private activeGroups: IShortCutGroup[];\r\n\r\n static factory() {\r\n const service = (shortKeysListService: IShortCutsListService,\r\n trackingService: Meevo.Components.Tracking.ITrackingService,\r\n securityService: Meevo.Components.Common.ISecurityService,\r\n $q: angular.IQService,\r\n hotkeys: angular.hotkeys.HotkeysProvider) => new ShortCutsService(shortKeysListService, trackingService, securityService, $q, hotkeys);\r\n\r\n service.$inject = [\r\n 'meevo.components.short-cuts.ShortCutsListService',\r\n 'meevo.components.tracking.TrackingService',\r\n 'meevo.components.common.SecurityService',\r\n '$q',\r\n 'hotkeys'\r\n ];\r\n\r\n return service;\r\n }\r\n\r\n constructor(private shortKeysListService: IShortCutsListService,\r\n private trackingService: Meevo.Components.Tracking.ITrackingService,\r\n private securityService: Meevo.Components.Common.ISecurityService,\r\n private $q: angular.IQService,\r\n private hotkeys: angular.hotkeys.HotkeysProvider) {\r\n this.activeGroups = [];\r\n }\r\n\r\n private checkSecure(securityKey: string): ng.IPromise {\r\n if (securityKey) {\r\n return this.securityService\r\n .checkSecurityItem(securityKey)\r\n .catch(() => {\r\n return null;\r\n });\r\n }\r\n\r\n return this.$q.resolve(null);\r\n }\r\n\r\n public isIEorEDGE(): boolean {\r\n return navigator.appName == 'Microsoft Internet Explorer' || navigator.appName == 'Netscape' || navigator.appVersion.indexOf('Edge') > -1;\r\n }\r\n\r\n /**\r\n * Method adds the hotkey to the global area and produce it with the middleware function.\r\n * @example\r\n * shortKeysService.add('DATA_MAINTENANCE_ADD', (event: Event, hotkey: ng.hotkeys.Hotkey) => {\r\n * // Do something there on callback\r\n * })\r\n * @example\r\n * shortKeysService.add('DATA_MAINTENANCE_DELETE', (event: Event, hotkey: ng.hotkeys.Hotkey) => {\r\n * // Do something there on callback\r\n * }, $scope);\r\n * @param keyName\r\n * @param callback\r\n * @param options\r\n */\r\n public add(keyName: keyof ICombinationNames, callback: TShortCutCallback, options?: IAddShortCutOptions): IShortCutsService {\r\n const {noun, scope, securityKey} = options;\r\n const combo: IShortCutCombination = this.shortKeysListService.get(keyName);\r\n const hickeys = scope ? this.hotkeys.bindTo(scope) : this.hotkeys;\r\n let lastEvent: Event = null;\r\n\r\n this.checkSecure(securityKey || combo.securityKey)\r\n .then((securityItem) => {\r\n if (securityItem && securityItem.securityAccess === SecurityAccessEnum.Hide) {\r\n return;\r\n }\r\n\r\n hickeys\r\n .add({\r\n combo: combo.combination,\r\n description: combo.description,\r\n allowIn: combo.allowIn,\r\n callback: (event: Event, hotkey: ng.hotkeys.Hotkey) => {\r\n event.preventDefault();\r\n\r\n // show error message if access is Deny\r\n if (securityItem && securityItem.securityAccess === SecurityAccessEnum.Deny) {\r\n this.securityService.showDenyWarning(securityItem.securityKeyPath, securityKey || combo.securityKey);\r\n\r\n return;\r\n }\r\n\r\n // don't keep calling UsageTracking when keys are held down as javascript events keeps firing\r\n if (!this.isIEorEDGE()) {\r\n if (event['repeat'] === true) {\r\n return;\r\n }\r\n } else {\r\n // ie fallback\r\n const lastEventTimeStamp = lastEvent ? angular.copy(lastEvent.timeStamp) : 0;\r\n lastEvent = event;\r\n // if the events are less then a second apart\r\n if (event.timeStamp - lastEventTimeStamp < 1000) {\r\n return;\r\n }\r\n }\r\n\r\n if (noun || combo.noun) {\r\n // UsageTracking\r\n const trackingItem = new Meevo.Model.TrackingItem(noun || combo.noun, Meevo.Model.VerbEnum.KeyboardShortcutPressed, {combo: hotkey.combo});\r\n this.trackingService.saveTrackingInfo(trackingItem);\r\n }\r\n\r\n callback(event, hotkey);\r\n }\r\n });\r\n });\r\n\r\n return this;\r\n }\r\n\r\n public del(combinationNames: keyof ICombinationNames | (keyof ICombinationNames)[]): void {\r\n if (typeof combinationNames === 'string') {\r\n combinationNames = [combinationNames];\r\n }\r\n\r\n this.hotkeys.del(this.shortKeysListService.getHotKeys(combinationNames));\r\n }\r\n\r\n public getGroupByIndex(index: GroupLevels): IShortCutGroup | null {\r\n return this.activeGroups[index];\r\n }\r\n\r\n /**\r\n * Method activates a group of short keys and deactivates the other groups on the other levels.\r\n * @param {Meevo.Components.ShortCuts.IShortCutGroup} group\r\n * @param noun\r\n * @param hard\r\n */\r\n public activateGroup(group: IShortCutGroup, noun?: Meevo.Model.NounEnum, hard: boolean = true) {\r\n if (!group) return;\r\n\r\n if (hard) {\r\n // we have a cases when we have to deactivate the global shortcuts like modal/menu/etc\r\n this.deactivateGroups(group.deactivateGlobal ? GroupLevels.Global : GroupLevels.Plugin);\r\n\r\n this.activeGroups = this.activeGroups.slice(0, group.groupLevel);\r\n }\r\n\r\n if (noun) {\r\n group.noun = noun;\r\n }\r\n\r\n if (!hard && this.activeGroups.length > group.groupLevel + 1) {\r\n if (this.activeGroups[group.groupLevel]) {\r\n this.del(this.activeGroups[group.groupLevel].shortCutCombinationNames);\r\n }\r\n this.activeGroups[group.groupLevel] = group;\r\n\r\n return this;\r\n }\r\n\r\n group.shortCuts\r\n .forEach((combinationName) => {\r\n this.add(combinationName.shortCutName, combinationName.callback, {\r\n scope: group.scope,\r\n noun: group.noun,\r\n securityKey: combinationName.securityKey\r\n });\r\n });\r\n\r\n this.activeGroups[group.groupLevel] = group;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * method deactivate a group of short keys\r\n * @param {Meevo.Components.ShortCuts.IShortCutGroup} group\r\n */\r\n public deactivateGroup(group: IShortCutGroup) {\r\n if (!group) return;\r\n // if group id is not the same as the current active group id\r\n // we do nothing because we already deactivate this group\r\n if (this.activeGroups[group.groupLevel] && group.id !== this.activeGroups[group.groupLevel].id) {\r\n return this;\r\n }\r\n\r\n this.deactivateGroups();\r\n\r\n this.activeGroups = this.activeGroups.slice(0, group.groupLevel);\r\n\r\n this.activateGroups();\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Activates all existing groups\r\n */\r\n public activateGroups() {\r\n this.activeGroups\r\n .forEach((group) => {\r\n if (group) {\r\n this.activateGroup(group);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * method deactivate all active groups of short keys\r\n */\r\n public deactivateGroups(startLevel: GroupLevels = GroupLevels.Plugin) {\r\n this.activeGroups\r\n .slice(startLevel)\r\n .forEach((group) => {\r\n this.del(group.shortCutCombinationNames);\r\n });\r\n\r\n return this;\r\n }\r\n\r\n public contextMethodsWrapper(controller: Controller, fnName: keyof Context): TShortCutCallback {\r\n\r\n return (event: Event, hotkey: ng.hotkeys.Hotkey) => {\r\n let context: Context;\r\n\r\n if (controller.hasOwnProperty('getContext')) {\r\n context = controller.getContext();\r\n } else {\r\n context = controller.context;\r\n }\r\n\r\n if (typeof context[fnName] === 'function') {\r\n context.preventUsageTracking = true;\r\n (context[fnName]).call(context);\r\n context.preventUsageTracking = false;\r\n }\r\n };\r\n }\r\n\r\n public maintenanceFormDirectiveWrapper(scope: IMaintenencaFormWrapreScope): void {\r\n if (scope.shortCutGroup instanceof ShortCutGroup) {\r\n scope.shortCutGroup.removeShortCuts([\r\n 'DATA_MAINTENANCE_SAVE', \r\n 'DATA_MAINTENANCE_CANCEL'\r\n ]);\r\n scope.shortCutGroup.addShortCuts({\r\n shortCutName: 'DATA_MAINTENANCE_SAVE',\r\n callback: (event: Event, hotkey: ng.hotkeys.Hotkey) => {\r\n scope.context.preventUsageTracking = true;\r\n scope.submitForm();\r\n scope.context.preventUsageTracking = false;\r\n }\r\n });\r\n scope.shortCutGroup.addShortCuts({\r\n shortCutName: 'DATA_MAINTENANCE_CANCEL',\r\n callback: this.contextMethodsWrapper(scope, 'cancel')\r\n });\r\n } else {\r\n const SaveShortCutGroup = new ShortCutGroup([{\r\n shortCutName: 'DATA_MAINTENANCE_SAVE',\r\n callback: (event: Event, hotkey: ng.hotkeys.Hotkey) => {\r\n scope.context.preventUsageTracking = true;\r\n scope.submitForm();\r\n scope.context.preventUsageTracking = false;\r\n }\r\n }, {\r\n shortCutName: 'DATA_MAINTENANCE_CANCEL',\r\n callback: this.contextMethodsWrapper(scope, 'cancel')\r\n }]);\r\n\r\n scope.shortCutGroup[MaintenanceFormState.Adding] = SaveShortCutGroup;\r\n scope.shortCutGroup[MaintenanceFormState.Editing] = SaveShortCutGroup;\r\n scope.shortCutGroup[MaintenanceFormState.Copying] = SaveShortCutGroup;\r\n }\r\n }\r\n }\r\n\r\n //#endregionShortCutsService\r\n\r\n angular.module('meevo.components.short-cuts')\r\n .factory('meevo.components.short-cuts.ShortCutsService', ShortCutsService.factory());\r\n}\r\n","///\r\n///\r\n///\r\n\r\nmodule Meevo.Components.ShortCuts {\r\n export class ShortCutGroup implements IShortCutGroup {\r\n public readonly id: string;\r\n public readonly deactivateGlobal: boolean;\r\n public readonly groupLevel: GroupLevels;\r\n public readonly scope?: ng.IScope;\r\n public noun: Meevo.Model.NounEnum;\r\n private _shortCuts: IShortCutGroupItem[];\r\n\r\n /**\r\n * @returns array of short Keys of group\r\n */\r\n public get shortCuts(): IShortCutGroupItem[] {\r\n return this._shortCuts;\r\n }\r\n\r\n /**\r\n *\r\n * @returns array of combination names of group\r\n */\r\n public get shortCutCombinationNames(): (keyof ICombinationNames)[] {\r\n return this._shortCuts.map(shortKey => shortKey.shortCutName)\r\n }\r\n\r\n constructor(groupOptions: IShortCutGroupItem[], options?: IShortCutsGroupOptions) {\r\n const {scope, groupLevel, deactivateGlobal, noun} = options || {};\r\n\r\n this._shortCuts = groupOptions;\r\n this.scope = scope;\r\n this.id = `${Math.ceil(Math.random() * 1000)}-${new Date().getTime()}`;\r\n this.groupLevel = groupLevel === undefined ? GroupLevels.Plugin : groupLevel;\r\n this.deactivateGlobal = deactivateGlobal === undefined ? false : deactivateGlobal;\r\n this.noun = noun;\r\n }\r\n\r\n /**\r\n * method adds short key to group\r\n * @param {Meevo.Components.ShortCuts.IShortCutGroupItem} shortCuts\r\n */\r\n public addShortCuts(shortCuts: IShortCutGroupItem | IShortCutGroupItem[]) {\r\n if (!(shortCuts instanceof Array)) {\r\n shortCuts = [shortCuts];\r\n }\r\n\r\n shortCuts.forEach(shortCut => {\r\n this._shortCuts.push({\r\n ...shortCut\r\n })\r\n });\r\n }\r\n\r\n /**\r\n * method removes a short key from group\r\n * @param {item} shortKeyNames\r\n */\r\n public removeShortCuts(shortKeyNames: keyof ICombinationNames | (keyof ICombinationNames)[]) {\r\n if (!(shortKeyNames instanceof Array)) {\r\n shortKeyNames = [shortKeyNames];\r\n }\r\n\r\n shortKeyNames.forEach(shortKeyName => {\r\n this._shortCuts = this._shortCuts.filter(shortKey => shortKey.shortCutName !== shortKeyName);\r\n });\r\n }\r\n }\r\n}\r\n","/// \r\n/// \r\n/// \r\n\r\nmodule Meevo {\r\n \"use strict\";\r\n\r\n const ShortCutGroup = Meevo.Components.ShortCuts.ShortCutGroup;\r\n\r\n config.$inject = [\r\n \"$windowProvider\",\r\n \"meevo.AppSettings\",\r\n \"$httpProvider\",\r\n \"$stateProvider\",\r\n \"$stickyStateProvider\",\r\n \"$urlRouterProvider\",\r\n \"$locationProvider\",\r\n \"$translateProvider\",\r\n \"$mdDateLocaleProvider\",\r\n \"$mdAriaProvider\",\r\n \"$sceDelegateProvider\",\r\n \"tmhDynamicLocaleProvider\",\r\n \"ngIntlTelInputProvider\",\r\n \"$provide\"\r\n ];\r\n\r\n let regexIso8601 = /^(\\d{4}|\\+\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d{1,})(Z|([\\-+])(\\d{2}):(\\d{2}))?)?)?)?$/;\r\n\r\n function config(\r\n $windowProvider: any,\r\n appSettings: Meevo.Components.Common.IAppSettings,\r\n $httpProvider: any,\r\n $stateProvider: ng.ui.IStateProvider,\r\n $stickyStateProvider: any,\r\n $urlRouterProvider: ng.ui.IUrlRouterProvider,\r\n $locationProvider: ng.ILocationProvider,\r\n $translateProvider: any,\r\n $mdDateLocaleProvider: any,\r\n $mdAriaProvider: any,\r\n $sceDelegateProvider: any,\r\n tmhDynamicLocaleProvider: any,\r\n ngIntlTelInputProvider: any,\r\n $provide): void {\r\n\r\n $httpProvider.interceptors.push(\"meevo.components.interceptors.JwtInterceptor\");\r\n\r\n let routeNames = appSettings.ROUTE_NAMES;\r\n let auditNames = appSettings.AUDIT_NAMES;\r\n\r\n $stickyStateProvider.enableDebug(true);\r\n\r\n var $window = $windowProvider.$get();\r\n var meevoCdn = $window.MEEVOCDN || '';\r\n\r\n ngIntlTelInputProvider.set({\r\n initialCountry: 'us',\r\n utilsScript: meevoCdn + '/lib/utils.js',\r\n autoPlaceholder: \"off\",\r\n nationalMode: true\r\n });\r\n\r\n //ngIntlTelInputProvider.set({\r\n // geoIpLookup: function (callback) {\r\n // $.get('http://ipinfo.io', function () { }, \"jsonp\").always(function (resp) {\r\n // var countryCode = (resp && resp.country) ? resp.country : \"sg\";\r\n // callback(countryCode);\r\n // });\r\n // }\r\n //});\r\n\r\n var serverEventsApiRootURL = $window.SERVEREVENTSAPIROOTURL || ''\r\n appSettings.SERVER_EVENTS_API_URL = serverEventsApiRootURL;\r\n appSettings.SERVER_EVENTS_ENABLED = $window.SERVEREVENTSENABLED.toBoolean();\r\n\r\n configureTranslations($translateProvider, meevoCdn, appSettings.APP_COUNTRYID);\r\n $translateProvider.addInterpolation('$translateMessageFormatInterpolation');\r\n $translateProvider.useInterpolation('meevoTranslateInterpolation');\r\n\r\n configuretmhDynamicLocaleProvider(tmhDynamicLocaleProvider, appSettings.APP_COUNTRYID);\r\n configureDateLocaleProvider($mdDateLocaleProvider);\r\n $mdAriaProvider.disableWarnings();\r\n\r\n /* https://docs.angularjs.org/api/ng/provider/$sceDelegateProvider\r\n ** $sceDelegateProvider get/set the whitelists and blacklists used to ensure that the URLs used\r\n ** for sourcing AngularJS templates and other script-running URLs are safe\r\n */\r\n //var AwsCdnWhitelist =\r\n //$sceDelegateProvider.resourceUrlWhitelist([\r\n // // Allow same origin resource loads.\r\n // 'self',\r\n // //Allow loading from our assets domain. '**' includes sub folder contents\r\n // '*:' + MEEVOCDN.split(':')[1] + '/**'\r\n //]);\r\n\r\n var contexts = [\r\n {\r\n name: routeNames.home,\r\n title: 'HERO_SUB_SMARTCENTER',\r\n templateUrl: 'app/plugins/smartCenter/smartCenterTemplate.html',\r\n specialName: \"'\" + routeNames.home + \"'\",\r\n auditName: auditNames.home,\r\n isHomeContext: false,\r\n noun: Meevo.Model.NounEnum.Home,\r\n params: {\r\n timeStamp: null\r\n },\r\n close: function (): void\r\n {\r\n const backgroundElem: HTMLElement = document.getElementById('default-background');\r\n const smartCenterElem: HTMLElement = document.getElementById('smart-center-content');\r\n\r\n if (backgroundElem && smartCenterElem) {\r\n smartCenterElem.setAttribute('style', 'display: none');\r\n backgroundElem.setAttribute('style', 'display: ');\r\n\r\n this.title = \"LABEL_HOME\";\r\n this.isHomeContext = true;\r\n\r\n //remove X button on home.\r\n const xButton = document.getElementsByClassName('homeTileClose')[0];\r\n if (xButton) {\r\n xButton.setAttribute('style', 'display: none');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: routeNames.appointmentBook,\r\n title: 'HERO_SUB_APPOINTMENTBOOK',\r\n specialName: \"'\" + routeNames.appointmentBook + \"'\",\r\n sticky: true,\r\n params: {\r\n actionState: null,\r\n actionStatePayload: null,\r\n employeeAction: null,\r\n filters: null,\r\n employees: null,\r\n dates: null\r\n //dateAction: null\r\n },\r\n views: {\r\n appointmentBook: {\r\n templateUrl: 'app/plugins/AppointmentBook/views/index.html',\r\n controller: ''\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.AppointmentBookPage\r\n },\r\n {\r\n name: routeNames.register,\r\n title: 'HERO_SUB_REGISTER',\r\n specialName: \"'\" + routeNames.register + \"'\",\r\n sticky: true,\r\n views: {\r\n register: {\r\n templateUrl: 'app/plugins/register/index.html',\r\n controller: 'meevo.plugins.register.RegisterController',\r\n controllerAs: 'register'\r\n }\r\n },\r\n warnUponClose: true,\r\n noun: Meevo.Model.NounEnum.RegisterPage\r\n },\r\n {\r\n name: routeNames.discounts,\r\n title: 'HERO_SUB_DISCOUNTS',\r\n specialName: \"'\" + routeNames.discounts + \"'\",\r\n auditName: auditNames.discounts,\r\n sticky: true,\r\n views: {\r\n discounts: {\r\n templateUrl: 'app/plugins/discounts/index.html',\r\n controller: 'meevo.plugins.discounts.DiscountsController',\r\n controllerAs: 'discounts'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.DiscountSearchPage\r\n },\r\n {\r\n name: routeNames.posHardware,\r\n specialName: \"'\" + routeNames.posHardware + \"'\",\r\n title: 'HERO_SUB_POS_HARDWARE',\r\n sticky: true,\r\n views: {\r\n posHardware: {\r\n templateUrl: 'app/plugins/posHardware/index.html',\r\n controller: 'meevo.plugins.posHardware.PosHardwareController',\r\n controllerAs: 'posHardware'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PosHardwareReceiptPrinter\r\n },\r\n {\r\n name: routeNames.drawer,\r\n title: \"HERO_SUB_DRAWER\",\r\n specialName: \"'\" + routeNames.drawer + \"'\",\r\n auditName: auditNames.drawer,\r\n sticky: true,\r\n views: {\r\n drawer: {\r\n templateUrl: \"app/plugins/drawer/index.html\",\r\n controller: \"meevo.plugins.drawer.DrawerController\",\r\n controllerAs: \"drawer\"\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.DrawerSearchPage\r\n },\r\n {\r\n name: routeNames.floorLocation,\r\n title: \"HERO_SUB_FLOOR_LOCATION\",\r\n specialName: \"'\" + routeNames.floorLocation + \"'\",\r\n auditName: auditNames.floorLocation,\r\n sticky: true,\r\n views: {\r\n floorLocation: {\r\n templateUrl: \"app/plugins/floorLocation/index.html\",\r\n controller: \"meevo.plugins.floorLocation.FloorLocationController\",\r\n controllerAs: \"floorLocation\"\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.FloorLocationSearchPage\r\n },\r\n {\r\n name: routeNames.drawerHistory,\r\n title: \"HERO_SUB_DRAWER_HISTORY\",\r\n specialName: \"'\" + routeNames.drawerHistory + \"'\",\r\n auditName: auditNames.drawerHistory,\r\n sticky: true,\r\n views: {\r\n drawerHistory: {\r\n templateUrl: \"app/plugins/drawerManager/index.html\",\r\n controller: \"meevo.plugins.drawerManager.DrawerManagerController\",\r\n controllerAs: \"drawerManager\"\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: \"DrawerHistory\",\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.DrawerHistoryPage\r\n },\r\n {\r\n name: routeNames.drawerManager,\r\n title: \"HERO_SUB_DRAWER_MANAGER\",\r\n specialName: \"'\" + routeNames.drawerManager + \"'\",\r\n auditName: auditNames.drawerManager,\r\n sticky: true,\r\n views: {\r\n drawerManager: {\r\n templateUrl: \"app/plugins/drawerManager/index.html\",\r\n controller: \"meevo.plugins.drawerManager.DrawerManagerController\",\r\n controllerAs: \"drawerManager\"\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.DrawerManagerPage\r\n },\r\n {\r\n name: routeNames.transactionEditor,\r\n title: 'HERO_SUB_TRANSACTION_EDITOR',\r\n specialName: \"'\" + routeNames.transactionEditor + \"'\",\r\n auditName: auditNames.transactionEditor,\r\n sticky: true,\r\n views: {\r\n transactionEditor: {\r\n templateUrl: 'app/plugins/transactionEditor/index.html',\r\n controller: 'meevo.plugins.transactionEditor.TransactionEditorController',\r\n controllerAs: 'transactionEditor'\r\n }\r\n },\r\n warnUponClose: false,\r\n noun: Meevo.Model.NounEnum.TransactionEditorPage\r\n },\r\n {\r\n name: routeNames.saleProgram,\r\n title: 'HERO_SUB_MARK_ITEMS_ON_SALE',\r\n specialName: \"'\" + routeNames.saleProgram + \"'\",\r\n auditName: auditNames.saleProgram,\r\n sticky: true,\r\n views: {\r\n saleProgram: {\r\n templateUrl: 'app/plugins/saleProgram/index.html',\r\n controller: 'meevo.plugins.saleProgram.SaleProgramController',\r\n controllerAs: 'saleProgram'\r\n }\r\n },\r\n warnUponClose: false,\r\n noun: Meevo.Model.NounEnum.MarkItemsOnSaleSearchPage\r\n },\r\n {\r\n name: routeNames.businessInfo,\r\n specialName: \"'\" + routeNames.businessInfo + \"'\",\r\n title: 'Business Information',\r\n sticky: true,\r\n views: {\r\n businessInfo: {\r\n templateUrl: 'app/plugins/businessInfo/index.html',\r\n controller: 'meevo.plugins.businessInfo.BusinessInfoController',\r\n controllerAs: 'businessInfo'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.BusinessInfoMain\r\n },\r\n {\r\n name: routeNames.businessTypes,\r\n specialName: \"'\" + routeNames.businessTypes + \"'\",\r\n auditName: auditNames.businessTypes,\r\n title: 'Business Types',\r\n sticky: true,\r\n views: {\r\n businessTypes: {\r\n templateUrl: 'app/plugins/businessTypes/index.html',\r\n controller: 'meevo.plugins.businessTypes.BusinessTypesController',\r\n controllerAs: 'businessTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.BusinessTypeSearchPage\r\n },\r\n {\r\n name: routeNames.locationGroups,\r\n specialName: \"'\" + routeNames.locationGroups + \"'\",\r\n auditName: auditNames.locationGroups,\r\n title: 'Location Groups',\r\n sticky: true,\r\n views: {\r\n locationGroups: {\r\n templateUrl: 'app/plugins/locationGroups/index.html',\r\n controller: 'meevo.plugins.locationGroups.LocationGroupsController',\r\n controllerAs: 'locationGroups'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.LocationGroupSearchPage\r\n },\r\n {\r\n name: routeNames.location,\r\n specialName: \"'\" + routeNames.location + \"'\",\r\n auditName: auditNames.location,\r\n title: 'Locations',\r\n sticky: true,\r\n views: {\r\n location: {\r\n templateUrl: 'app/plugins/location/index.html',\r\n controller: 'meevo.plugins.location.LocationController',\r\n controllerAs: 'location'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.LocationMaintenanceSearchPage\r\n },\r\n //{\r\n // name: routeNames.onlineBooking,\r\n // specialName: \"'\" + routeNames.onlineBooking + \"'\",\r\n // title: 'Online Booking',\r\n // //url: '/onlineBooking',\r\n // sticky: true,\r\n // views: {\r\n // onlineBooking: {\r\n // templateUrl: './app/components/contentHost/contentHost.html',\r\n // controller: 'ContentHostCtrl as hostController'\r\n // }\r\n // },\r\n // data: {\r\n // url: 'https://mdev.meevoqa.com/onlinebooking/'\r\n // }\r\n //},\r\n {\r\n name: routeNames.styleGallery,\r\n specialName: \"'\" + routeNames.styleGallery + \"'\",\r\n title: 'StyleGuide',\r\n // url: '/styleGuide',\r\n templateUrl: 'app/plugins/styleGallery/styleGallery.html',\r\n controller: 'meevo.plugins.styleGallery.StyleGalleryController',\r\n controllerAs: 'style'\r\n },\r\n {\r\n name: routeNames.controlGallery,\r\n specialName: \"'\" + routeNames.controlGallery + \"'\",\r\n title: 'Control Gallery',\r\n //url: '/plugins/controlgallery',\r\n templateUrl: 'app/plugins/controlgallery/controlGallery.html',\r\n controller: 'meevo.plugins.controlgallery.ControlGalleryController',\r\n controllerAs: 'controlGallery',\r\n params: {\r\n callback: null,\r\n callbackState: null\r\n }\r\n },\r\n {\r\n name: routeNames.callCenter,\r\n specialName: \"'\" + routeNames.callCenter + \"'\",\r\n title: 'Booking Agent',\r\n sticky: true,\r\n views: {\r\n bookingAgent: {\r\n templateUrl: 'app/plugins/callCenter/index.html',\r\n controller: 'meevo.plugins.callCenter.CallCenterController',\r\n controllerAs: 'bookingAgent',\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.BookingAgent\r\n },\r\n {\r\n name: routeNames.client,\r\n specialName: \"'\" + routeNames.client + \"'\",\r\n auditName: auditNames.client,\r\n title: 'HERO_SUB_CLIENTS',\r\n sticky: true,\r\n views: {\r\n client: {\r\n templateUrl: 'app/plugins/client/index.html',\r\n controller: 'meevo.plugins.client.ClientController',\r\n controllerAs: 'client',\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null,\r\n initialEditSection: null\r\n },\r\n noun: Meevo.Model.NounEnum.ClientSearchPage\r\n },\r\n {\r\n name: routeNames.clientClientType,\r\n specialName: \"'\" + routeNames.clientClientType + \"'\",\r\n auditName: auditNames.clientClientType,\r\n title: 'HERO_SUB_CLIENTCLIENTTYPE',\r\n sticky: true,\r\n views: {\r\n clientClientType: {\r\n templateUrl: 'app/plugins/clientClientType/index.html',\r\n controller: 'meevo.plugins.clientClientType.ClientClientTypeController',\r\n controllerAs: 'clientClientType',\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ClientTypeSearchPage\r\n },\r\n {\r\n name: routeNames.employee,\r\n specialName: \"'\" + routeNames.employee + \"'\",\r\n auditName: auditNames.employee,\r\n title: 'HERO_SUB_EMPLOYEES',\r\n sticky: true,\r\n views: {\r\n employee: {\r\n templateUrl: 'app/plugins/employee/index.html',\r\n controller: 'meevo.plugins.employee.EmployeeController',\r\n controllerAs: 'employee'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EmployeeSearchPage\r\n },\r\n {\r\n name: routeNames.teachers,\r\n specialName: \"'\" + routeNames.teachers + \"'\",\r\n auditName: auditNames.teachers,\r\n title: 'HERO_SUB_TEACHERS',\r\n sticky: true,\r\n views: {\r\n teachers: {\r\n templateUrl: 'app/plugins/teachers/index.html',\r\n controller: 'meevo.plugins.teachers.TeachersController',\r\n controllerAs: 'teachers'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.TeacherSearchPage\r\n },\r\n {\r\n name: routeNames.payinoutreasons,\r\n specialName: \"'\" + routeNames.payinoutreasons + \"'\",\r\n auditName: auditNames.payinoutreasons,\r\n title: 'HERO_SUB_PAYINOUT_REASON',\r\n sticky: true,\r\n views: {\r\n payinoutreasons: {\r\n templateUrl: 'app/plugins/payinoutreasons/index.html',\r\n controller: 'meevo.plugins.payinoutreasons.PayInOutReasonsController',\r\n controllerAs: 'PayInOutReasons'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PayInOutReasonSearchPage\r\n },\r\n {\r\n name: routeNames.memberships,\r\n specialName: \"'\" + routeNames.memberships + \"'\",\r\n auditName: auditNames.memberships,\r\n title: 'Memberships',\r\n sticky: true,\r\n views: {\r\n memberships: {\r\n templateUrl: 'app/plugins/memberships/index.html',\r\n controller: 'meevo.plugins.memberships.MembershipsController',\r\n controllerAs: 'memberships'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MembershipSearchPage\r\n },\r\n {\r\n name: routeNames.memberBenefitTemplates,\r\n specialName: \"'\" + routeNames.memberBenefitTemplates + \"'\",\r\n auditName: auditNames.memberBenefitTemplates,\r\n title: 'Member Benefits Templates',\r\n sticky: true,\r\n views: {\r\n memberBenefitTemplates: {\r\n templateUrl: 'app/plugins/memberBenefitTemplates/index.html',\r\n controller: 'meevo.plugins.memberBenefitTemplates.memberBenefitTemplatesController',\r\n controllerAs: 'memberBenefitTemplates'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MemberBenefitTemplateSearchPage\r\n },\r\n {\r\n name: routeNames.membershipCancellation,\r\n specialName: \"'\" + routeNames.membershipCancellation + \"'\",\r\n auditName: auditNames.membershipCancellation,\r\n title: 'Membership Cancellation Reasons',\r\n sticky: true,\r\n views: {\r\n membershipCancellation: {\r\n templateUrl: 'app/plugins/membershipCancellation/index.html',\r\n controller: 'meevo.plugins.membershipCancellation.membershipCancellationController',\r\n controllerAs: 'membershipCancellation'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MembershipCancellationReasonSearchPage\r\n },\r\n {\r\n name: routeNames.membershipManager,\r\n specialName: \"'\" + routeNames.membershipManager + \"'\",\r\n auditName: auditNames.membershipManager,\r\n title: 'Membership Manager',\r\n sticky: true,\r\n warnUponClose: true,\r\n views: {\r\n membershipManager: {\r\n templateUrl: 'app/plugins/membershipManager/index.html',\r\n controller: 'meevo.plugins.membershipManager.membershipManagerController',\r\n controllerAs: 'membershipManager'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MembershipManagerPage\r\n },\r\n {\r\n name: routeNames.membershipTypes,\r\n specialName: \"'\" + routeNames.membershipTypes + \"'\",\r\n auditName: auditNames.membershipTypes,\r\n title: 'Membership Types',\r\n sticky: true,\r\n views: {\r\n membershipTypes: {\r\n templateUrl: 'app/plugins/membershipTypes/index.html',\r\n controller: 'meevo.plugins.membershipTypes.MembershipTypesController',\r\n controllerAs: 'membershipTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MembershipTypeSearchPage\r\n },\r\n {\r\n name: routeNames.eftControlPanel,\r\n specialName: \"'\" + routeNames.eftControlPanel + \"'\",\r\n auditName: auditNames.eftControlPanel,\r\n title: 'EFT Control Panel',\r\n sticky: true,\r\n views: {\r\n eftControlPanel: {\r\n templateUrl: 'app/plugins/eftControlPanel/index.html',\r\n controller: 'meevo.plugins.eftControlPanel.EftControlPanelController',\r\n controllerAs: 'eftControlPanel'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EftControlPanelPage\r\n },\r\n {\r\n name: routeNames.membershipDefinitions,\r\n specialName: \"'\" + routeNames.membershipDefinitions + \"'\",\r\n title: 'Membership Definitions',\r\n sticky: true,\r\n views: {\r\n membershipDefinitions: {\r\n templateUrl: 'app/plugins/membershipDefinitions/index.html',\r\n controller: 'meevo.plugins.membershipDefinitions.MembershipDefinitionsController',\r\n controllerAs: 'membershipDefinitions'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: \"\"\r\n },\r\n {\r\n name: routeNames.product,\r\n specialName: \"'\" + routeNames.product + \"'\",\r\n auditName: auditNames.product,\r\n title: 'HERO_SUB_PRODUCTS',\r\n sticky: true,\r\n views: {\r\n product: {\r\n templateUrl: 'app/plugins/product/index.html',\r\n controller: 'meevo.plugins.product.ProductController',\r\n controllerAs: 'product'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ProductSearchPage\r\n },\r\n //{\r\n // name: routeNames.productBulkUpdate,\r\n // specialName: \"'\" + routeNames.productBulkUpdate + \"'\",\r\n // auditName: auditNames.productBulkUpdate,\r\n // title: 'HERO_SUB_PRODUCT_BULK_UPDATE',\r\n // sticky: true,\r\n // views: {\r\n // productBulkUpdate: {\r\n // templateUrl: 'app/plugins/productBulkUpdate/index.html',\r\n // controller: 'meevo.plugins.productBulkUpdate.ProductBulkUpdateController',\r\n // controllerAs: 'productBulkUpdate'\r\n // }\r\n // },\r\n // params: {\r\n // callback: null,\r\n // callbackState: null,\r\n // targetState: null,\r\n // actionState: null,\r\n // id: null\r\n // },\r\n // noun: Meevo.Model.NounEnum.ProductBulkUpdateSearchPage\r\n //},\r\n {\r\n name: routeNames.cancellationReasons,\r\n specialName: \"'\" + routeNames.cancellationReasons + \"'\",\r\n auditName: auditNames.cancellationReasons,\r\n title: 'HERO_SUB_CANCELLATION_REASONS',\r\n sticky: true,\r\n views: {\r\n cancellationReasons: {\r\n templateUrl: 'app/plugins/cancellationReasons/index.html',\r\n controller: 'meevo.plugins.cancellationReasons.CancellationReasonsController',\r\n controllerAs: 'cancellationReasons'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.CancellationReaonSearchPage\r\n },\r\n {\r\n name: routeNames.services,\r\n specialName: \"'\" + routeNames.services + \"'\",\r\n auditName: auditNames.services,\r\n title: 'HERO_SUB_SERVICES',\r\n sticky: true,\r\n views: {\r\n services: {\r\n templateUrl: 'app/plugins/services/index.html',\r\n controller: 'meevo.plugins.services.ServicesController',\r\n controllerAs: 'services'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ServiceSearchPage\r\n },\r\n {\r\n name: routeNames.swapGroups,\r\n specialName: \"'\" + routeNames.swapGroups + \"'\",\r\n auditName: auditNames.swapGroups,\r\n title: 'Swap Groups',\r\n sticky: true,\r\n views: {\r\n swapGroups: {\r\n templateUrl: 'app/plugins/swapGroups/index.html',\r\n controller: 'meevo.plugins.swapGroups.SwapGroupsController',\r\n controllerAs: 'swapGroups'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SwapGroupSearchPage\r\n },\r\n {\r\n name: routeNames.referralTypes,\r\n specialName: \"'\" + routeNames.referralTypes + \"'\",\r\n auditName: auditNames.referralTypes,\r\n title: 'Referral Types',\r\n sticky: true,\r\n views: {\r\n referralTypes: {\r\n templateUrl: 'app/plugins/referralTypes/index.html',\r\n controller: 'meevo.plugins.referralTypes.ReferralTypesController',\r\n controllerAs: 'referralTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ReferralTypeSearchPage\r\n },\r\n {\r\n name: routeNames.resourceCategory,\r\n specialName: \"'\" + routeNames.resourceCategory + \"'\",\r\n auditName: auditNames.resourceCategory,\r\n title: 'HERO_SUB_RESOURCE_CATEGORIES',\r\n sticky: true,\r\n views: {\r\n resourceCategory: {\r\n templateUrl: 'app/plugins/resourceCategories/index.html',\r\n controller: 'meevo.plugins.resourceCategories.ResourceCategoriesController',\r\n controllerAs: 'resourceCategories'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ResourceCategorySearchPage\r\n },\r\n {\r\n name: routeNames.resources,\r\n specialName: \"'\" + routeNames.resources + \"'\",\r\n auditName: auditNames.resources,\r\n title: 'HERO_SUB_RESOURCES',\r\n sticky: true,\r\n views: {\r\n resources: {\r\n templateUrl: 'app/plugins/resources/index.html',\r\n controller: 'meevo.plugins.resources.ResourcesController',\r\n controllerAs: 'resources'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ResourceSearchPage\r\n },\r\n {\r\n name: routeNames.appointmentCategories,\r\n specialName: \"'\" + routeNames.appointmentCategories + \"'\",\r\n auditName: auditNames.appointmentCategories,\r\n title: 'HERO_SUB_APPOINTMENT_CATEGORY',\r\n sticky: true,\r\n views: {\r\n appointmentCategories: {\r\n templateUrl: 'app/plugins/appointmentCategories/index.html',\r\n controller: 'meevo.plugins.appointmentCategories.AppointmentCategoriesController',\r\n controllerAs: 'appointmentCategories'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.AppointmentCategorySearchPage\r\n },\r\n {\r\n name: routeNames.blockTypes,\r\n specialName: \"'\" + routeNames.blockTypes + \"'\",\r\n auditName: auditNames.blockTypes,\r\n title: 'HERO_SUB_BLOCK_TYPES',\r\n sticky: true,\r\n views: {\r\n blockTypes: {\r\n templateUrl: 'app/plugins/blockTypes/index.html',\r\n controller: 'meevo.plugins.blockTypes.BlockTypesController',\r\n controllerAs: 'blockTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.BlockTypeSearchPage\r\n },\r\n {\r\n name: routeNames.miscSupplyDefinitions,\r\n specialName: \"'\" + routeNames.miscSupplyDefinitions + \"'\",\r\n auditName: auditNames.miscSupplyDefinitions,\r\n title: 'Misc. Supply',\r\n sticky: true,\r\n views: {\r\n miscSupplyDefinitions: {\r\n templateUrl: 'app/plugins/miscSupplyDefinitions/index.html',\r\n controller: 'meevo.plugins.miscSupplyDefinitions.MiscSupplyDefinitionsController',\r\n controllerAs: 'miscSupplyDefinitions'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MiscellaneousSupplySearchPage\r\n },\r\n {\r\n name: routeNames.workActivities,\r\n specialName: \"'\" + routeNames.workActivities + \"'\",\r\n auditName: auditNames.workActivities,\r\n title: 'Work Activities',\r\n sticky: true,\r\n views: {\r\n workActivities: {\r\n templateUrl: 'app/plugins/workActivities/index.html',\r\n controller: 'meevo.plugins.workActivities.WorkActivitiesController',\r\n controllerAs: 'workActivities'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.WorkActivitySearchPage\r\n },\r\n {\r\n name: routeNames.reports,\r\n specialName: \"'\" + routeNames.reports + \"'\",\r\n title: 'HERO_SUB_REPORTS',\r\n sticky: true,\r\n views: {\r\n reports: {\r\n templateUrl: 'app/plugins/reports/index.html',\r\n controller: 'meevo.plugins.reports.ReportsController',\r\n controllerAs: 'reports'\r\n }\r\n },\r\n params: {\r\n categoryId: null,\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ReportPage\r\n },\r\n {\r\n name: routeNames.reportScheduler,\r\n specialName: \"'\" + routeNames.reportScheduler + \"'\",\r\n title: 'HERO_SUB_REPORT_SCHEDULER',\r\n sticky: true,\r\n views: {\r\n reportScheduler: {\r\n templateUrl: 'app/plugins/reportScheduler/index.html',\r\n controller: 'meevo.plugins.reportScheduler.ReportSchedulerController',\r\n controllerAs: 'reportScheduler'\r\n }\r\n },\r\n params: {\r\n categoryId: null,\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ReportPage\r\n },\r\n {\r\n name: routeNames.visitNoteTypes,\r\n specialName: \"'\" + routeNames.visitNoteTypes + \"'\",\r\n auditName: auditNames.visitNoteTypes,\r\n title: 'Visit Notes',\r\n sticky: true,\r\n views: {\r\n visitNoteTypes: {\r\n templateUrl: 'app/plugins/visitNoteTypes/index.html',\r\n controller: 'meevo.plugins.visitNoteTypes.VisitNoteTypesController',\r\n controllerAs: 'visitNoteTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.VisitNoteTypeSearchPage\r\n },\r\n {\r\n name: routeNames.standingAppointments,\r\n specialName: \"'\" + routeNames.standingAppointments + \"'\",\r\n auditName: auditNames.standingAppointments,\r\n title: 'HERO_SUB_STANDING_APPOINTMENTS',\r\n sticky: true,\r\n views: {\r\n standingAppointments: {\r\n templateUrl: 'app/plugins/standingAppointments/index.html',\r\n controller: 'meevo.plugins.standingAppointments.StandingAppointmentsController',\r\n controllerAs: 'standingAppointments'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.StandingDefinitionSearchPage\r\n },\r\n {\r\n name: routeNames.standingBlocks,\r\n specialName: \"'\" + routeNames.standingBlocks + \"'\",\r\n auditName: auditNames.standingBlocks,\r\n title: 'HERO_SUB_STANDING_BLOCKS',\r\n sticky: true,\r\n views: {\r\n standingBlocks: {\r\n templateUrl: 'app/plugins/standingBlocks/index.html',\r\n controller: 'meevo.plugins.standingBlocks.StandingBlocksController',\r\n controllerAs: 'standingBlocks'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.BlockScheduleSearchPage\r\n },\r\n {\r\n name: routeNames.login,\r\n specialName: \"'\" + routeNames.login + \"'\",\r\n title: 'Login',\r\n //url: '/login',\r\n templateUrl: 'app/plugins/login/login.html',\r\n controller: 'meevo.plugins.login.LoginController',\r\n controllerAs: 'login',\r\n noun: Meevo.Model.NounEnum.Login\r\n },\r\n\r\n {\r\n name: routeNames.schedules,\r\n specialName: \"'\" + routeNames.schedules + \"'\",\r\n title: 'HERO_SUB_SCHEDULES',\r\n sticky: true,\r\n views: {\r\n schedules: {\r\n templateUrl: 'app/plugins/schedules/index.html',\r\n controller: 'meevo.plugins.schedules.SchedulesController',\r\n controllerAs: 'schedules'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SchedulesPage\r\n },\r\n {\r\n name: routeNames.confirmationManager,\r\n specialName: \"'\" + routeNames.confirmationManager + \"'\",\r\n auditName: auditNames.confirmationManager,\r\n title: 'HERO_SUB_CONFIRMATION_MANAGER',\r\n sticky: true,\r\n views: {\r\n confirmationManager: {\r\n templateUrl: 'app/plugins/confirmationManager/index.html',\r\n controller: 'meevo.plugins.confirmationManager.ConfirmationManagerController',\r\n controllerAs: 'confirmationManager'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ConfirmationManagerPage\r\n },\r\n {\r\n name: routeNames.serviceCategories,\r\n specialName: \"'\" + routeNames.serviceCategories + \"'\",\r\n title: 'HERO_SUB_SERVICE_CAT',\r\n sticky: true,\r\n views: {\r\n serviceCategories: {\r\n templateUrl: 'app/plugins/serviceCategories/index.html',\r\n controller: 'meevo.plugins.serviceCategories.ServiceCategoriesController',\r\n controllerAs: 'serviceCategories'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ServiceCategorySearchPage\r\n },\r\n {\r\n name: routeNames.productCategories,\r\n specialName: \"'\" + routeNames.productCategories + \"'\",\r\n auditName: auditNames.productCategories,\r\n title: 'HERO_SUB_PRODUCT_CAT',\r\n sticky: true,\r\n views: {\r\n productCategories: {\r\n templateUrl: 'app/plugins/productCategories/index.html',\r\n controller: 'meevo.plugins.productCategories.ProductCategoriesController',\r\n controllerAs: 'productCategories'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ProductCategorySearchPage\r\n },\r\n {\r\n name: routeNames.distributors,\r\n specialName: \"'\" + routeNames.distributors + \"'\",\r\n auditName: auditNames.distributors,\r\n title: 'HERO_SUB_DISTRIBUTORS',\r\n sticky: true,\r\n views: {\r\n distributors: {\r\n templateUrl: 'app/plugins/distributors/index.html',\r\n controller: 'meevo.plugins.distributors.DistributorsController',\r\n controllerAs: 'distributors'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.DistributorSearchPage\r\n },\r\n {\r\n name: routeNames.manufacturers,\r\n specialName: \"'\" + routeNames.manufacturers + \"'\",\r\n auditName: auditNames.manufacturers,\r\n title: 'HERO_SUB_MANUFACTURERS',\r\n sticky: true,\r\n views: {\r\n manufacturers: {\r\n templateUrl: 'app/plugins/manufacturers/index.html',\r\n controller: 'meevo.plugins.manufacturers.ManufacturersController',\r\n controllerAs: 'manufacturers'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ManufacturerSearchPage\r\n },\r\n {\r\n name: routeNames.employeeTemplates,\r\n specialName: \"'\" + routeNames.employeeTemplates + \"'\",\r\n auditName: auditNames.employeeTemplates,\r\n title: 'HERO_SUB_EMPLOYEE_TEMPLATE',\r\n sticky: true,\r\n views: {\r\n employeeTemplates: {\r\n templateUrl: 'app/plugins/employeeTemplates/index.html',\r\n controller: 'meevo.plugins.employeeTemplates.EmployeeTemplatesController',\r\n controllerAs: 'employeeTemplates'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EmployeeTemplateSearchPage\r\n },\r\n {\r\n name: routeNames.employeeTemplatePromotions,\r\n specialName: \"'\" + routeNames.employeeTemplatePromotions + \"'\",\r\n auditName: auditNames.employeeTemplatePromotions,\r\n title: 'HERO_SUB_EMPLOYEE_TEMPLATE_PROMOTIONS',\r\n sticky: true,\r\n views: {\r\n employeeTemplatePromotions: {\r\n templateUrl: 'app/plugins/employeeTemplatePromotions/index.html',\r\n controller: 'meevo.plugins.employeeTemplatePromotions.EmployeeTemplatePromotionsController',\r\n controllerAs: 'employeeTemplatePromotions'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EmployeePromotionSearchPage\r\n },\r\n {\r\n name: routeNames.employeeCategories,\r\n specialName: \"'\" + routeNames.employeeCategories + \"'\",\r\n auditName: auditNames.employeeCategories,\r\n title: 'HERO_SUB_EMPLOYEE_CATEGORY',\r\n sticky: true,\r\n views: {\r\n employeeCategories: {\r\n templateUrl: 'app/plugins/employeeCategories/index.html',\r\n controller: 'meevo.plugins.employeeCategories.EmployeeCategoriesController',\r\n controllerAs: 'employeeCategories'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EmployeeCategorySearchPage\r\n },\r\n {\r\n name: routeNames.securityRoles,\r\n specialName: \"'\" + routeNames.securityRoles + \"'\",\r\n auditName: auditNames.securityRoles,\r\n title: 'Security Roles',\r\n sticky: true,\r\n views: {\r\n securityRoles: {\r\n templateUrl: 'app/plugins/securityRoles/index.html',\r\n controller: 'meevo.plugins.securityRoles.SecurityRolesController',\r\n controllerAs: 'securityRoles'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SecurityRoleSearchPage\r\n },\r\n {\r\n name: routeNames.securityRolesManager,\r\n specialName: \"'\" + routeNames.securityRolesManager + \"'\",\r\n auditName: auditNames.securityRolesManager,\r\n title: 'Security Administration',\r\n sticky: true,\r\n views: {\r\n securityRolesManager: {\r\n templateUrl: 'app/plugins/securityRolesManager/index.html',\r\n controller: 'meevo.plugins.securityRolesManager.SecurityRolesManagerController',\r\n controllerAs: 'securityRolesManager'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SecurityRolesManagerPage\r\n },\r\n {\r\n name: routeNames.waitList,\r\n specialName: \"'\" + routeNames.waitList + \"'\",\r\n title: 'Wait List',\r\n sticky: true,\r\n views: {\r\n waitList: {\r\n templateUrl: 'app/plugins/waitList/index.html',\r\n controller: 'meevo.plugins.waitList.WaitListController',\r\n controllerAs: 'waitList'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.WaitListPage\r\n },\r\n {\r\n name: routeNames.clientMerge,\r\n specialName: \"'\" + routeNames.clientMerge + \"'\",\r\n auditName: auditNames.clientMerge,\r\n title: 'Intelli-Merge Clients',\r\n sticky: true,\r\n views: {\r\n clientMerge: {\r\n templateUrl: 'app/plugins/clientMerge/index.html',\r\n controller: 'meevo.plugins.clientMerge.ClientMergeController',\r\n controllerAs: 'clientMerge'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.IntelliMergePage\r\n },\r\n {\r\n name: routeNames.clientManualMerge,\r\n specialName: \"'\" + routeNames.clientManualMerge + \"'\",\r\n auditName: auditNames.clientManualMerge,\r\n title: 'Manual Merge Clients',\r\n sticky: true,\r\n views: {\r\n clientManualMerge: {\r\n templateUrl: 'app/plugins/clientManualMerge/index.html',\r\n controller: 'meevo.plugins.clientManualMerge.ClientManualMergeController',\r\n controllerAs: 'clientManualMerge'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ClientManualMerge\r\n },\r\n {\r\n name: routeNames.sandbox,\r\n specialName: \"'\" + routeNames.sandbox + \"'\",\r\n title: 'Sandbox',\r\n sticky: true,\r\n views: {\r\n sandbox: {\r\n templateUrl: 'app/plugins/sandbox/index.html',\r\n controller: 'meevo.plugins.sandbox.SandboxController',\r\n controllerAs: 'sandbox'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ClientNote // TODO: Replace with Correct Noun\r\n },\r\n {\r\n name: routeNames.customBranding,\r\n specialName: \"'\" + routeNames.customBranding + \"'\",\r\n title: 'Custom Branding',\r\n sticky: true,\r\n views: {\r\n customBranding: {\r\n templateUrl: 'app/plugins/customBranding/index.html',\r\n controller: 'meevo.plugins.customBranding.CustomBrandingController',\r\n controllerAs: 'customBranding'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.CustomBranding\r\n },\r\n {\r\n name: routeNames.integrations,\r\n title: 'Integrations',\r\n specialName: \"'\" + routeNames.integrations + \"'\",\r\n sticky: true,\r\n views: {\r\n integrations: {\r\n templateUrl: 'app/plugins/integrations/index.html',\r\n controller: 'meevo.plugins.integrations.IntegrationsController',\r\n controllerAs: 'integrations'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Integration\r\n },\r\n {\r\n name: routeNames.addOnGroup,\r\n title: 'HERO_SUB_SERVICE_ADD_ON_MAPPINGS',\r\n specialName: \"'\" + routeNames.addOnGroup + \"'\",\r\n auditName: auditNames.addOnGroup,\r\n sticky: true,\r\n views: {\r\n addOnGroup: {\r\n templateUrl: 'app/plugins/addOnGroup/index.html',\r\n controller: 'meevo.plugins.addOnGroup.AddOnGroupController',\r\n controllerAs: 'addOnGroup'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ServiceAddOnMappingSearchPage\r\n },\r\n {\r\n name: routeNames.productBundles,\r\n title: 'HERO_SUB_PRODUCT_BUNDLES',\r\n specialName: \"'\" + routeNames.productBundles + \"'\",\r\n auditName: auditNames.productBundles,\r\n sticky: true,\r\n views: {\r\n productBundles: {\r\n templateUrl: 'app/plugins/productBundles/index.html',\r\n controller: 'meevo.plugins.productBundles.ProductBundlesController',\r\n controllerAs: 'productBundles'\r\n }\r\n },\r\n // todo: use appropriate enum\r\n noun: Meevo.Model.NounEnum.ProductBundleSearchPage\r\n },\r\n {\r\n name: routeNames.onlineBookingSettings,\r\n specialName: \"'\" + routeNames.onlineBookingSettings + \"'\",\r\n title: 'Online Booking Settings',\r\n sticky: true,\r\n views: {\r\n onlineBookingSettings: {\r\n templateUrl: 'app/plugins/onlineBookingSettings/index.html',\r\n controller: 'meevo.plugins.onlineBookingSettings.OnlineBookingSettingsController',\r\n controllerAs: 'onlineBookingSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.OnlineBookingSetting\r\n },\r\n {\r\n name: routeNames.paymentType,\r\n specialName: \"'\" + routeNames.paymentType + \"'\",\r\n auditName: auditNames.paymentType,\r\n title: 'Payment Types',\r\n sticky: true,\r\n views: {\r\n paymentType: {\r\n templateUrl: 'app/plugins/paymentType/index.html',\r\n controller: 'meevo.plugins.paymentType.PaymentTypeController',\r\n controllerAs: 'paymentType'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PaymentTypeSearchPage\r\n },\r\n {\r\n name: routeNames.stockLevels,\r\n specialName: \"'\" + routeNames.stockLevels + \"'\",\r\n title: 'Stock Levels',\r\n sticky: true,\r\n views: {\r\n stockLevels: {\r\n templateUrl: 'app/plugins/stockLevels/index.html',\r\n controller: 'meevo.plugins.stockLevels.StockLevelsController',\r\n controllerAs: 'stockLevels'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.StockLevelPage\r\n },\r\n {\r\n name: routeNames.inventoryCount,\r\n specialName: \"'\" + routeNames.inventoryCount + \"'\",\r\n auditName: auditNames.inventoryCount,\r\n title: 'Inventory Count',\r\n sticky: true,\r\n views: {\r\n inventoryCount: {\r\n templateUrl: 'app/plugins/inventoryCount/index.html',\r\n controller: 'meevo.plugins.inventoryCount.InventoryCountController',\r\n controllerAs: 'inventoryCount'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.InventoryCountSearchPage\r\n },\r\n {\r\n name: routeNames.inventoryTransfer,\r\n specialName: \"'\" + routeNames.inventoryTransfer + \"'\",\r\n auditName: auditNames.inventoryTransfer,\r\n title: 'Inventory Transfer',\r\n sticky: true,\r\n views: {\r\n inventoryTransfer: {\r\n templateUrl: 'app/plugins/inventoryTransfer/index.html',\r\n controller: 'meevo.plugins.inventoryTransfer.InventoryTransferController',\r\n controllerAs: 'inventoryTransfer'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.InventoryTransferSearchPage\r\n },\r\n {\r\n name: routeNames.employeeSupplyUsage,\r\n specialName: \"'\" + routeNames.employeeSupplyUsage + \"'\",\r\n auditName: auditNames.employeeSupplyUsage,\r\n title: 'Employee Supply Usage',\r\n sticky: true,\r\n views: {\r\n employeeSupplyUsage: {\r\n templateUrl: 'app/plugins/employeeSupplyUsage/index.html',\r\n controller: 'meevo.plugins.employeeSupplyUsage.EmployeeSupplyUsageController',\r\n controllerAs: 'employeeSupplyUsage'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EmployeeSupplyUsagePage\r\n },\r\n {\r\n name: routeNames.purchaseOrder,\r\n specialName: \"'\" + routeNames.purchaseOrder + \"'\",\r\n auditName: auditNames.purchaseOrder,\r\n title: 'Purchase Order',\r\n sticky: true,\r\n views: {\r\n purchaseOrder: {\r\n templateUrl: 'app/plugins/purchaseOrder/index.html',\r\n controller: 'meevo.plugins.purchaseOrder.PurchaseOrderController',\r\n controllerAs: 'purchaseOrder'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PurchaseOrdersSearchPage\r\n },\r\n {\r\n name: routeNames.inventoryReturns,\r\n specialName: \"'\" + routeNames.inventoryReturns + \"'\",\r\n auditName: auditNames.inventoryReturns,\r\n title: 'Inventory Returns',\r\n sticky: true,\r\n views: {\r\n inventoryReturns: {\r\n templateUrl: 'app/plugins/inventoryReturns/index.html',\r\n controller: 'meevo.plugins.inventoryReturns.InventoryReturnsController',\r\n controllerAs: 'inventoryReturns'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.InventoryReturnSearchPage\r\n },\r\n {\r\n name: routeNames.notificationTemplates,\r\n specialName: \"'\" + routeNames.notificationTemplates + \"'\",\r\n auditName: auditNames.notificationTemplates,\r\n title: 'Notification Templates',\r\n sticky: true,\r\n views: {\r\n notificationTemplates: {\r\n templateUrl: 'app/plugins/notificationTemplates/index.html',\r\n controller: 'meevo.plugins.notificationTemplates.NotificationTemplatesController',\r\n controllerAs: 'notificationTemplates'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.NotificationTemplateSearchPage\r\n },\r\n {\r\n name: routeNames.equipment,\r\n specialName: \"'\" + routeNames.equipment + \"'\",\r\n title: 'Equipment',\r\n sticky: true,\r\n views: {\r\n equipment: {\r\n templateUrl: 'app/plugins/equipment/index.html',\r\n controller: 'meevo.plugins.equipment.EquipmentController',\r\n controllerAs: 'equipment'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EquipmentSearchPage\r\n },\r\n {\r\n name: routeNames.giftCardTypes,\r\n specialName: \"'\" + routeNames.giftCardTypes + \"'\",\r\n auditName: auditNames.giftCardTypes,\r\n title: 'Gift Card Types',\r\n sticky: true,\r\n views: {\r\n giftCardTypes: {\r\n templateUrl: 'app/plugins/giftCardTypes/index.html',\r\n controller: 'meevo.plugins.giftCardTypes.GiftCardTypesController',\r\n controllerAs: 'giftCardTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.GiftCardTypeSearchPage\r\n },\r\n {\r\n name: routeNames.walkinManagerSettings,\r\n specialName: \"'\" + routeNames.walkinManagerSettings + \"'\",\r\n auditName: auditNames.walkinManagerSettings,\r\n title: 'Walk-In Manager Settings',\r\n sticky: true,\r\n views: {\r\n walkinManagerSettings: {\r\n templateUrl: 'app/plugins/walkinManagerSettings/index.html',\r\n controller: 'meevo.plugins.walkinManagerSettings.WalkinManagerSettingsController',\r\n controllerAs: 'walkinManagerSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.WalkInManagerSettingMainSettings\r\n },\r\n {\r\n name: routeNames.walkinManagerKiosk,\r\n specialName: \"'\" + routeNames.walkinManagerKiosk + \"'\",\r\n auditName: auditNames.walkinManagerKiosk,\r\n title: 'Walk-In Manager Kiosk',\r\n sticky: true,\r\n views: {\r\n walkinManagerKiosk: {\r\n templateUrl: 'app/plugins/walkinManagerKiosk/index.html',\r\n controller: 'meevo.plugins.walkinManagerKiosk.walkinManagerKioskController',\r\n controllerAs: 'walkinManagerKiosk'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.WalkInManagerKioskPage\r\n },\r\n {\r\n name: routeNames.userDefinedControls,\r\n specialName: \"'\" + routeNames.userDefinedControls + \"'\",\r\n auditName: auditNames.userDefinedControls,\r\n title: 'Custom Fields',\r\n sticky: true,\r\n views: {\r\n userDefinedControls: {\r\n templateUrl: 'app/plugins/userDefinedControls/index.html',\r\n controller: 'meevo.plugins.userDefinedControls.UserDefinedControlsController',\r\n controllerAs: 'userDefinedControls'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.UserDefinedFieldPage\r\n },\r\n {\r\n name: routeNames.walkinManager,\r\n specialName: \"'\" + routeNames.walkinManager + \"'\",\r\n auditName: auditNames.walkinManager,\r\n title: 'Walk-In Manager',\r\n sticky: true,\r\n views: {\r\n walkinManager: {\r\n templateUrl: 'app/plugins/walkinManager/index.html',\r\n controller: 'meevo.plugins.walkinManager.WalkinManagerController',\r\n controllerAs: 'walkinManager'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.WalkInManagerPage,\r\n onReactivate: ['meevo.plugins.walkinManager.WalkInSettingsService', 'meevo.components.busy.BusyService',\r\n (settingsService: Meevo.Plugins.WalkinManager.IWalkInSettingsService, busyService: Meevo.Components.Busy.IBusyService) => {\r\n busyService.start();\r\n settingsService.fetchSettings().finally(() => busyService.stop());\r\n }\r\n ]\r\n },\r\n {\r\n name: routeNames.walkinManagerDisplay,\r\n specialName: \"'\" + routeNames.walkinManagerDisplay + \"'\",\r\n auditName: auditNames.walkinManagerDisplay,\r\n title: 'Walk-In Manager Display',\r\n sticky: true,\r\n views: {\r\n walkinManagerDisplay: {\r\n templateUrl: 'app/plugins/walkinManagerDisplay/index.html',\r\n controller: 'meevo.plugins.walkinManagerDisplay.walkinManagerDisplayController',\r\n controllerAs: 'walkinManagerDisplay'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.WalkInManagerDisplayPage\r\n },\r\n {\r\n name: routeNames.packageTypes,\r\n specialName: \"'\" + routeNames.packageTypes + \"'\",\r\n auditName: auditNames.packageTypes,\r\n title: 'HERO_SUB_PACKAGES',\r\n sticky: true,\r\n views: {\r\n packageTypes: {\r\n templateUrl: 'app/plugins/packageTypes/index.html',\r\n controller: 'meevo.plugins.packageTypes.PackageTypesController',\r\n controllerAs: 'packageTypes'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PackageSearchPage\r\n },\r\n {\r\n name: routeNames.ipRestrictions,\r\n specialName: \"'\" + routeNames.ipRestrictions + \"'\",\r\n auditName: auditNames.ipRestrictions,\r\n title: 'IP Restrictions',\r\n sticky: true,\r\n views: {\r\n ipRestrictions: {\r\n templateUrl: 'app/plugins/ipRestrictions/index.html',\r\n controller: 'meevo.plugins.ipRestrictions.IpRestrictionsController',\r\n controllerAs: 'ipRestrictions'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.IpRestrictionMain\r\n },\r\n {\r\n name: routeNames.marketPricing,\r\n specialName: \"'\" + routeNames.marketPricing + \"'\",\r\n auditName: auditNames.marketPricing,\r\n title: 'Price Management',\r\n sticky: true,\r\n views: {\r\n marketPricing: {\r\n templateUrl: 'app/plugins/marketPricing/index.html',\r\n controller: 'meevo.plugins.marketPricing.marketPricingController',\r\n controllerAs: 'marketPricing'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MarketPricingSearchPage\r\n },\r\n {\r\n name: routeNames.reportingHierarchy,\r\n specialName: \"'\" + routeNames.reportingHierarchy + \"'\",\r\n title: 'Reporting Hierarchy',\r\n sticky: true,\r\n views: {\r\n reportingHierarchy: {\r\n templateUrl: 'app/plugins/reportingHierarchy/index.html',\r\n controller: 'meevo.plugins.reportingHierarchy.ReportingHierarchyController',\r\n controllerAs: 'reportingHierarchy'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.BlockTypeSearchPage\r\n },\r\n {\r\n name: routeNames.profileSettings,\r\n specialName: \"'\" + routeNames.profileSettings + \"'\",\r\n auditName: auditNames.profileSettings,\r\n title: 'My Profile',\r\n sticky: true,\r\n views: {\r\n profileSettings: {\r\n templateUrl: 'app/plugins/profileSettings/index.html',\r\n controller: 'meevo.plugins.profileSettings.ProfileSettingsController',\r\n controllerAs: 'profileSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ProfileSettingMain\r\n },\r\n {\r\n name: routeNames.holiday,\r\n specialName: \"'\" + routeNames.holiday + \"'\",\r\n title: 'Business Holidays',\r\n sticky: true,\r\n views: {\r\n holiday: {\r\n templateUrl: 'app/plugins/holiday/index.html',\r\n controller: 'meevo.plugins.holiday.HolidayController',\r\n controllerAs: 'holiday'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.HolidaysMain\r\n },\r\n {\r\n name: routeNames.notificationSetting,\r\n specialName: \"'\" + routeNames.notificationSetting + \"'\",\r\n title: 'Notification Settings',\r\n sticky: true,\r\n views: {\r\n notificationSetting: {\r\n templateUrl: 'app/plugins/notificationSetting/index.html',\r\n controller: 'meevo.plugins.notificationSetting.NotificationSettingController',\r\n controllerAs: 'notificationSetting'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.NotificationSettingMain\r\n },\r\n //\r\n {\r\n name: routeNames.tax,\r\n specialName: \"'\" + routeNames.tax + \"'\",\r\n title: 'HERO_SUB_CURRENCYTAX',\r\n sticky: true,\r\n views: {\r\n tax: {\r\n templateUrl: 'app/plugins/tax/index.html',\r\n controller: 'meevo.plugins.tax.TaxController',\r\n controllerAs: 'tax'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.CurrencyAndTaxMain\r\n },\r\n {\r\n name: routeNames.merchantAccounts,\r\n specialName: \"'\" + routeNames.merchantAccounts + \"'\",\r\n auditName: auditNames.merchantAccounts,\r\n title: 'HERO_SUB_MERCHANT_ACCOUNTS',\r\n sticky: true,\r\n views: {\r\n merchantAccounts: {\r\n templateUrl: 'app/plugins/merchantAccounts/index.html',\r\n controller: 'meevo.plugins.merchantAccounts.MerchantAccountsController',\r\n controllerAs: 'merchantAccounts'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MerchantAccountSearchPage\r\n },\r\n {\r\n name: routeNames.timeClock,\r\n specialName: \"'\" + routeNames.timeClock + \"'\",\r\n title: 'Time Clock',\r\n sticky: true,\r\n views: {\r\n timeClock: {\r\n templateUrl: 'app/plugins/timeClock/index.html',\r\n controller: 'meevo.plugins.timeClock.TimeClockController',\r\n controllerAs: 'timeClock'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.TimeClockPage\r\n },\r\n {\r\n name: routeNames.eventSchedules,\r\n specialName: \"'\" + routeNames.eventSchedules + \"'\",\r\n title: 'Events',\r\n sticky: true,\r\n views: {\r\n eventSchedules: {\r\n templateUrl: 'app/plugins/eventSchedule/index.html',\r\n controller: 'meevo.plugins.eventSchedule.EventScheduleController',\r\n controllerAs: 'eventSchedule'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EventsSchedulePage\r\n },\r\n {\r\n name: routeNames.clientPoint,\r\n specialName: \"'\" + routeNames.clientPoint + \"'\",\r\n auditName: auditNames.clientPoint,\r\n title: 'Points',\r\n sticky: true,\r\n views: {\r\n clientPoint: {\r\n templateUrl: 'app/plugins/clientPoint/index.html',\r\n controller: 'meevo.plugins.clientPoint.ClientPointController',\r\n controllerAs: 'clientPoint'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ClientPointManagerSearchPage\r\n },\r\n {\r\n name: routeNames.compensationSettings,\r\n specialName: \"'\" + routeNames.compensationSettings + \"'\",\r\n title: 'Payroll Settings',\r\n sticky: true,\r\n views: {\r\n compensationSettings: {\r\n templateUrl: 'app/plugins/compensationSettings/index.html',\r\n controller: 'meevo.plugins.compensationSettings.compensationSettingsController',\r\n controllerAs: 'compensationSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n\r\n noun: Meevo.Model.NounEnum.PayrollSettingsMain\r\n },\r\n {\r\n name: routeNames.cultureSettings,\r\n specialName: \"'\" + routeNames.cultureSettings + \"'\",\r\n title: 'Cultural Settings',\r\n sticky: true,\r\n views: {\r\n cultureSettings: {\r\n templateUrl: 'app/plugins/cultureSettings/index.html',\r\n controller: 'meevo.plugins.cultureSettings.cultureSettingsController',\r\n controllerAs: 'cultureSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n\r\n noun: Meevo.Model.NounEnum.CulturalSettingsMain\r\n },\r\n {\r\n name: routeNames.smartCenters,\r\n specialName: \"'\" + routeNames.smartCenters + \"'\",\r\n title: 'HERO_SUB_SMARTCENTER_DESIGNER',\r\n auditName: auditNames.smartCenters,\r\n sticky: true,\r\n views: {\r\n smartCenters: {\r\n templateUrl: 'app/plugins/smartCenter/maintenance/index.html',\r\n controller: 'meevo.plugins.smartCenter.SmartCenterMaintenanceController',\r\n controllerAs: 'smartCenters'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SmartCenterDesignerSearchPage\r\n },\r\n {\r\n name: routeNames.payroll,\r\n specialName: \"'\" + routeNames.payroll + \"'\",\r\n auditName: auditNames.payroll,\r\n title: 'Payroll',\r\n sticky: true,\r\n views: {\r\n payroll: {\r\n templateUrl: 'app/plugins/payroll/views/index.html',\r\n controller: 'meevo.plugins.payroll.PayrollController',\r\n controllerAs: 'payroll'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PayrollPage\r\n },\r\n {\r\n name: routeNames.giftCardBalance,\r\n specialName: \"'\" + routeNames.giftCardBalance + \"'\",\r\n auditName: auditNames.giftCardBalance,\r\n title: 'Gift Card Balance',\r\n sticky: true,\r\n views: {\r\n giftCardBalance: {\r\n templateUrl: 'app/plugins/giftCardBalance/index.html',\r\n controller: 'meevo.plugins.giftCardBalance.GiftCardBalanceController',\r\n controllerAs: 'giftCardBalance'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.GiftCardBalancePage\r\n },\r\n {\r\n name: routeNames.giftCardIntegration,\r\n specialName: \"'\" + routeNames.giftCardIntegration + \"'\",\r\n title: 'Gift Card Integration',\r\n sticky: true,\r\n views: {\r\n giftCardIntegration: {\r\n templateUrl: 'app/plugins/giftCardIntegration/index.html',\r\n controller: 'meevo.plugins.giftCardIntegration.GiftCardIntegrationController',\r\n controllerAs: 'giftCardIntegration'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n //noun: Meevo.Model.NounEnum.GiftCardIntegration\r\n },\r\n {\r\n name: routeNames.activityLog,\r\n specialName: \"'\" + routeNames.activityLog + \"'\",\r\n auditName: auditNames.activityLog,\r\n title: 'Activity Log',\r\n sticky: true,\r\n views: {\r\n activityLog: {\r\n templateUrl: 'app/plugins/activityLog/index.html',\r\n controller: 'meevo.plugins.activityLog.ActivityLogController',\r\n controllerAs: 'activityLog'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ActivityLogPage\r\n },\r\n {\r\n name: routeNames.alertsManager,\r\n specialName: \"'\" + routeNames.alertsManager + \"'\",\r\n auditName: auditNames.alertsManager,\r\n title: 'Alerts Manager',\r\n sticky: true,\r\n views: {\r\n alertsManager: {\r\n templateUrl: 'app/plugins/alertsManager/index.html',\r\n controller: 'meevo.plugins.alertsManager.AlertsManagerController',\r\n controllerAs: 'alertsManager'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.AlertManagerPage\r\n },\r\n {\r\n name: routeNames.alertsLog,\r\n specialName: \"'\" + routeNames.alertsLog + \"'\",\r\n auditName: auditNames.alertsLog,\r\n title: 'Alerts Log',\r\n sticky: true,\r\n views: {\r\n alertsLog: {\r\n templateUrl: 'app/plugins/alertsLog/index.html',\r\n controller: 'meevo.plugins.alertsLog.AlertsLogController',\r\n controllerAs: 'alertsLog'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.AlertLogsPage\r\n },\r\n {\r\n name: routeNames.imageGalleryCategory,\r\n specialName: \"'\" + routeNames.imageGalleryCategory + \"'\",\r\n auditName: auditNames.imageGalleryCategory,\r\n title: 'Image Gallery Categories',\r\n sticky: true,\r\n views: {\r\n imageGalleryCategory: {\r\n templateUrl: 'app/plugins/imageGalleryCategory/index.html',\r\n controller: 'meevo.plugins.imageGalleryCategory.imageGalleryCategoryController',\r\n controllerAs: 'imageGalleryCategory'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ImageGalleryCategorySearchPage\r\n },\r\n {\r\n name: routeNames.packageLookup,\r\n specialName: \"'\" + routeNames.packageLookup + \"'\",\r\n auditName: auditNames.packageLookup,\r\n title: 'Package Lookup',\r\n sticky: true,\r\n views: {\r\n packageLookup: {\r\n templateUrl: 'app/plugins/packageLookup/index.html',\r\n controller: 'meevo.plugins.packageLookup.PackageLookupController',\r\n controllerAs: 'packageLookup'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PackageLookupPage\r\n },\r\n {\r\n name: routeNames.basicEmailMarketing,\r\n specialName: \"'\" + routeNames.basicEmailMarketing + \"'\",\r\n auditName: auditNames.basicEmailMarketing,\r\n title: 'HERO_SUB_CLIENT_SELECTION',\r\n sticky: true,\r\n views: {\r\n basicEmailMarketing: {\r\n templateUrl: 'app/plugins/basicEmailMarketing/index.html',\r\n controller: 'meevo.plugins.basicEmailMarketing.BasicEmailMarketingController',\r\n controllerAs: 'basicEmailMarketing'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.BasicMarketingPage\r\n },\r\n {\r\n name: routeNames.departments,\r\n specialName: \"'\" + routeNames.departments + \"'\",\r\n auditName: auditNames.departments,\r\n title: 'Departments',\r\n sticky: true,\r\n views: {\r\n departments: {\r\n templateUrl: 'app/plugins/departments/index.html',\r\n controller: 'meevo.plugins.departments.DepartmentsController',\r\n controllerAs: 'departments'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.DepartmentSearchPage\r\n },\r\n {\r\n name: routeNames.departmentGoal,\r\n specialName: \"'\" + routeNames.departmentGoal + \"'\",\r\n title: 'Overall/Department Goals',\r\n sticky: true,\r\n views: {\r\n departmentGoal: {\r\n templateUrl: 'app/plugins/departmentGoal/index.html',\r\n controller: 'meevo.plugins.departmentGoal.DepartmentGoalController',\r\n controllerAs: 'departmentGoal'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n }\r\n },\r\n {\r\n name: routeNames.employeeGoal,\r\n specialName: \"'\" + routeNames.employeeGoal + \"'\",\r\n title: 'Employee Goals',\r\n sticky: true,\r\n views: {\r\n employeeGoal: {\r\n templateUrl: 'app/plugins/employeeGoal/index.html',\r\n controller: 'meevo.plugins.employeeGoal.EmployeeGoalController',\r\n controllerAs: 'employeeGoal'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n }\r\n },\r\n {\r\n name: routeNames.dashboardGoals,\r\n specialName: \"'\" + routeNames.dashboardGoals + \"'\",\r\n auditName: auditNames.dashboardGoals,\r\n title: 'Goals Dashboard',\r\n sticky: true,\r\n views: {\r\n dashboardGoals: {\r\n templateUrl: 'app/plugins/dashboardGoals/index.html',\r\n controller: 'meevo.plugins.dashboardGoals.DashboardGoalsController',\r\n controllerAs: 'dashboardGoals'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.GoalsDashboardPage\r\n },\r\n {\r\n name: routeNames.accountsync,\r\n specialName: \"'\" + routeNames.accountsync + \"'\",\r\n auditName: auditNames.accountsync,\r\n title: 'QB Integration',\r\n sticky: true,\r\n views: {\r\n quickbooksOnline: {\r\n templateUrl: 'app/plugins/accountsync/index.html',\r\n controller: 'meevo.plugins.accountsync.AccountsyncController',\r\n controllerAs: 'accountsync'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.QuickBooksOnlinePage\r\n },\r\n {\r\n name: routeNames.quickbooksDesktop,\r\n specialName: \"'\" + routeNames.quickbooksDesktop + \"'\",\r\n auditName: auditNames.quickbooksDesktop,\r\n title: 'QB Desktop',\r\n sticky: true,\r\n views: {\r\n quickbooksDesktop: {\r\n templateUrl: 'app/plugins/quickbooksDesktop/index.html',\r\n controller: 'meevo.plugins.quickbooksDesktop.QuickbooksDesktopController',\r\n controllerAs: 'quickbooksDesktop'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.QuickBooksDesktopPage\r\n },\r\n {\r\n name: routeNames.egifts,\r\n specialName: \"'\" + routeNames.egifts + \"'\",\r\n auditName: auditNames.egifts,\r\n title: 'eGift',\r\n sticky: true,\r\n views: {\r\n egift: {\r\n templateUrl: 'app/plugins/egifts/index.html',\r\n controller: 'meevo.plugins.egifts.EgiftsController',\r\n controllerAs: 'egifts'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.Egift\r\n },\r\n {\r\n name: routeNames.shippingFees,\r\n specialName: \"'\" + routeNames.shippingFees + \"'\",\r\n auditName: auditNames.shippingFees,\r\n title: 'Shipping Fees',\r\n sticky: true,\r\n views: {\r\n shippingFees: {\r\n templateUrl: 'app/plugins/shippingFees/index.html',\r\n controller: 'meevo.plugins.shippingFees.ShippingFeesController',\r\n controllerAs: 'shippingFees'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ShippingFee\r\n },\r\n {\r\n name: routeNames.consumerAppSettings,\r\n specialName: \"'\" + routeNames.consumerAppSettings + \"'\",\r\n title: 'Salon Connect',\r\n sticky: true,\r\n views: {\r\n consumerAppSettings: {\r\n controller: 'meevo.plugins.consumerAppSettings.ConsumerAppSettingsController',\r\n controllerAs: 'consumerAppSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.ClientSearchPage // todo: change to real one\r\n },\r\n {\r\n name: routeNames.paging,\r\n specialName: \"'\" + routeNames.paging + \"'\",\r\n title: 'Paging',\r\n sticky: true,\r\n views: {\r\n paging: {\r\n templateUrl: 'app/plugins/paging/index.html',\r\n controller: 'meevo.plugins.paging.PagingController',\r\n controllerAs: 'paging'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.Paging\r\n },\r\n {\r\n name: routeNames.meevoMessenger,\r\n specialName: \"'\" + routeNames.meevoMessenger + \"'\",\r\n title: 'HERO_SUB_MEEVO_MESSENGER',\r\n sticky: true,\r\n views: {\r\n meevoMessenger: {\r\n templateUrl: 'app/plugins/meevoMessenger/index.html',\r\n controller: 'meevo.plugins.meevoMessenger.MeevoMessengerController',\r\n controllerAs: 'meevoMessenger'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.Textel\r\n },\r\n {\r\n name: routeNames.meevoMessengerSettings,\r\n specialName: \"'\" + routeNames.meevoMessengerSettings + \"'\",\r\n title: 'HERO_SUB_MEEVO_MESSENGER_SETTINGS',\r\n sticky: true,\r\n views: {\r\n meevoMessengerSettings: {\r\n templateUrl: 'app/plugins/meevoMessengerSettings/index.html',\r\n controller: 'meevo.plugins.meevoMessengerSettings.MeevoMessengerSettingsController',\r\n controllerAs: 'meevoMessengerSettings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.TextelSettings\r\n },\r\n {\r\n name: routeNames.textelBlast,\r\n specialName: \"'\" + routeNames.textelBlast + \"'\",\r\n title: 'HERO_SUB_TEXTEL_BLAST',\r\n sticky: true,\r\n views: {\r\n textelBlast: {\r\n templateUrl: 'app/plugins/textelBlast/index.html',\r\n controller: 'meevo.plugins.textelBlast.TextelBlastController',\r\n controllerAs: 'textelBlast'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.TextelMarketing\r\n },\r\n {\r\n name: routeNames.meevoStore,\r\n specialName: \"'\" + routeNames.meevoStore + \"'\",\r\n title: 'HERO_SUB_MEEVOSTORE',\r\n sticky: true,\r\n deepStateRedirect: { default: routeNames.meevoStore + \".home\" },\r\n views: {\r\n meevoStore: {\r\n templateUrl: 'app/plugins/meevoStore/index.html',\r\n controller: 'meevo.plugins.meevoStore.MeevoStoreController',\r\n controllerAs: 'meevoStore'\r\n },\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.MeevoStore\r\n },\r\n {\r\n name: routeNames.pointPromotionCampaign,\r\n title: 'HERO_SUB_CLIENT_POINT_PROMOTIONS',\r\n specialName: \"'\" + routeNames.pointPromotionCampaign + \"'\",\r\n auditName: auditNames.pointPromotionCampaign,\r\n sticky: true,\r\n views: {\r\n pointPromotionCampaign: {\r\n templateUrl: 'app/plugins/pointPromotionCampaign/index.html',\r\n controller: 'meevo.plugins.pointPromotionCampaign.PointPromotionCampaignController',\r\n controllerAs: 'pointPromotionCampaign'\r\n }\r\n },\r\n warnUponClose: false,\r\n noun: Meevo.Model.NounEnum.PointPromotionCampaignSearchPage\r\n },\r\n {\r\n name: routeNames.fieldLabels,\r\n specialName: \"'\" + routeNames.fieldLabels + \"'\",\r\n title: 'Field Labels',\r\n sticky: true,\r\n views: {\r\n fieldLabels: {\r\n templateUrl: 'app/plugins/fieldLabels/index.html',\r\n controller: 'meevo.plugins.fieldLabels.FieldLabelsController',\r\n controllerAs: 'fieldLabels'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.FieldLabelsPage\r\n },\r\n {\r\n name: routeNames.docsAndForms,\r\n specialName: \"'\" + routeNames.docsAndForms + \"'\",\r\n auditName: auditNames.docsAndForms,\r\n title: 'Docs & Forms',\r\n sticky: true,\r\n views: {\r\n docsAndForms: {\r\n templateUrl: 'app/plugins/docsAndForms/index.html',\r\n controller: 'meevo.plugins.docsAndForms.DocsAndFormsController',\r\n controllerAs: 'docsAndForms'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.DocsAndFormsSearchPage\r\n },\r\n {\r\n name: routeNames.docsAndFormsKiosk,\r\n specialName: \"'\" + routeNames.docsAndFormsKiosk + \"'\",\r\n title: 'Docs & Forms Kiosk',\r\n sticky: true,\r\n views: {\r\n docsAndFormsKiosk: {\r\n templateUrl: 'app/plugins/docsAndFormsKiosk/index.html',\r\n controller: 'meevo.plugins.docsAndFormsKiosk.DocsAndFormsKioskController',\r\n controllerAs: 'docsAndFormsKiosk'\r\n }\r\n },\r\n },\r\n {\r\n name: routeNames.transworld,\r\n specialName: \"'\" + routeNames.transworld + \"'\",\r\n title: 'Transworld',\r\n sticky: true,\r\n views: {\r\n transworld: {\r\n templateUrl: 'app/plugins/transworld/index.html',\r\n controller: 'meevo.plugins.transworld.transworldController',\r\n controllerAs: 'transworld'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Transworld\r\n },\r\n { /* TechSphere */\r\n name: routeNames.techSphere,\r\n specialName: \"'\" + routeNames.techSphere + \"'\",\r\n title: 'TechSphere',\r\n sticky: true,\r\n views: {\r\n techSphere: {\r\n templateUrl: 'app/plugins/techSphere/index.html',\r\n controller: 'meevo.plugins.techSphere.TechSphereController',\r\n controllerAs: 'techSphere'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.TechSphere\r\n },\r\n\r\n {\r\n name: routeNames.aveda,\r\n specialName: \"'\" + routeNames.aveda + \"'\",\r\n title: 'Aveda',\r\n sticky: true,\r\n views: {\r\n aveda: {\r\n templateUrl: 'app/plugins/aveda/index.html',\r\n controller: 'meevo.plugins.aveda.AvedaController',\r\n controllerAs: 'aveda'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Aveda\r\n },\r\n\r\n {\r\n name: routeNames.emmaAccountSettings,\r\n specialName: \"'\" + routeNames.emmaAccountSettings + \"'\",\r\n title: 'Emma',\r\n sticky: true,\r\n views: {\r\n emmaAccountSettings: {\r\n templateUrl: 'app/plugins/emmaAccountSettings/index.html',\r\n controller: 'meevo.plugins.emmaAccountSettings.EmmaAccountSettingsController',\r\n controllerAs: 'emmaAccountSettings'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.BasicMarketingPage\r\n },\r\n {\r\n name: routeNames.salesRankings,\r\n specialName: \"'\" + routeNames.salesRankings + \"'\",\r\n title: 'HERO_SUB_SALES_RANKINGS',\r\n sticky: true,\r\n views: {\r\n salesRankings: {\r\n templateUrl: 'app/plugins/salesRankings/index.html',\r\n controller: 'meevo.plugins.salesRankings.SalesRankingsController',\r\n controllerAs: 'salesRankings'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SalesRanking\r\n },\r\n {\r\n name: routeNames.ratingsControlPanel,\r\n specialName: \"'\" + routeNames.ratingsControlPanel + \"'\",\r\n title: 'HERO_SUB_RATINGS_CONTROL_PANEL',\r\n sticky: true,\r\n views: {\r\n ratingsControlPanel: {\r\n templateUrl: 'app/plugins/ratingsControlPanel/index.html',\r\n controller: 'meevo.plugins.ratingsControlPanel.RatingsControlPanelController',\r\n controllerAs: 'ratingsControlPanel'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.RatingsControlPanel\r\n },\r\n {\r\n name: routeNames.servicesWizard,\r\n specialName: \"'\" + routeNames.servicesWizard + \"'\",\r\n title: 'Services Wizard',\r\n sticky: true,\r\n views: {\r\n servicesWizard: {\r\n templateUrl: 'app/plugins/servicesWizard/index.html',\r\n controller: 'meevo.plugins.servicesWizard.servicesWizardController',\r\n controllerAs: 'servicesWizard'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ServicesWizard\r\n },\r\n {\r\n name: routeNames.student,\r\n specialName: \"'\" + routeNames.student + \"'\",\r\n auditName: auditNames.student,\r\n title: 'HERO_SUB_STUDENT',\r\n sticky: true,\r\n views: {\r\n student: {\r\n templateUrl: 'app/plugins/student/index.html',\r\n controller: 'meevo.plugins.student.StudentController',\r\n controllerAs: 'student'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.StudentSearchPage\r\n },\r\n {\r\n name: routeNames.clientIntake,\r\n specialName: \"'\" + routeNames.clientIntake + \"'\",\r\n title: 'HERO_SUB_CLIENTINTAKE',\r\n sticky: true,\r\n views: {\r\n clientIntake: {\r\n templateUrl: 'app/plugins/clientIntake/index.html',\r\n controller: 'meevo.plugins.clientIntake.ClientIntakeController',\r\n controllerAs: 'clientIntake'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ClientIntakeFormPage\r\n },\r\n {\r\n name: routeNames.clientIntakeForm,\r\n specialName: \"'\" + routeNames.clientIntakeForm + \"'\",\r\n title: 'HERO_SUB_CLIENTINTAKE_FORM_BUILDER',\r\n sticky: true,\r\n views: {\r\n clientIntakeForm: {\r\n templateUrl: 'app/plugins/clientIntakeForm/index.html',\r\n controller: 'meevo.plugins.clientIntakeForm.ClientIntakeFormController',\r\n controllerAs: 'clientIntakeForm'\r\n }\r\n },\r\n params: {\r\n clientId: null,\r\n },\r\n noun: Meevo.Model.NounEnum.ClientIntakeForm\r\n },\r\n {\r\n name: routeNames.selfCheckInKiosk,\r\n specialName: \"'\" + routeNames.selfCheckInKiosk + \"'\",\r\n title: 'LABEL_SELF_CHECK_IN_KIOSK',\r\n sticky: true,\r\n deepStateRedirect: { default: routeNames.selfCheckInKiosk + \".login\" },\r\n views: {\r\n selfCheckInKiosk: {\r\n templateUrl: 'app/plugins/selfCheckInKiosk/index.html',\r\n controller: 'meevo.plugins.selfCheckInKiosk.SelfCheckInKioskController',\r\n controllerAs: 'selfCheckInKiosk'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckInKiosk\r\n },\r\n {\r\n name: routeNames.selfCheckInKioskSettings,\r\n specialName: `'${routeNames.selfCheckInKioskSettings}'`,\r\n title: 'HERO_SUB_SELF_CHECK_IN_SETTINGS',\r\n sticky: true,\r\n views: {\r\n selfCheckInKioskSettings: {\r\n templateUrl: 'app/plugins/selfCheckInKioskSettings/index.html',\r\n controller: 'meevo.plugins.selfCheckInKioskSettings.SelfCheckInKioskSettingsController',\r\n controllerAs: 'selfCheckInKioskSettings'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckinSetting\r\n },\r\n {\r\n name: routeNames.employeeServiceTimesPricing,\r\n title: 'HERO_SUB_EMPLOYEE_SERVICE_TIMES_PRICING',\r\n specialName: `'${routeNames.employeeServiceTimesPricing}'`,\r\n sticky: true,\r\n views: {\r\n employeeServiceTimesPricing: {\r\n templateUrl: 'app/plugins/employeeServiceTimesPricing/index.html',\r\n controller: 'meevo.plugins.employeeServiceTimesPricing.EmployeeServiceTimesPricingController',\r\n controllerAs: 'employeeServiceTimesPricing'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EmployeeServiceTimesPricingPage\r\n },\r\n {\r\n name: routeNames.fiveStarRatingSetting,\r\n specialName: `'${routeNames.fiveStarRatingSetting}'`,\r\n title: 'LABEL_FIVE_STAR_RATING_SETTINGS',\r\n sticky: true,\r\n views: {\r\n fiveStarRatingSetting: {\r\n templateUrl: 'app/plugins/fiveStarRatingSetting/index.html',\r\n controller: 'meevo.plugins.fiveStarRatingSettings.FiveStarRatingsSettingsController',\r\n controllerAs: 'fiveStarRatingSetting'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.FiveStarRatingsSetting\r\n },\r\n {\r\n name: routeNames.serviceCharges,\r\n specialName: \"'\" + routeNames.serviceCharges + \"'\",\r\n title: 'Service Charges',\r\n sticky: true,\r\n views: {\r\n serviceCharges: {\r\n templateUrl: 'app/plugins/serviceCharges/index.html',\r\n controller: 'meevo.plugins.serviceCharges.ServiceChargesController',\r\n controllerAs: 'serviceCharges'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.EventsSchedulePage\r\n },\r\n {\r\n name: routeNames.fameAdvantage,\r\n specialName: `'${routeNames.fameAdvantage}'`,\r\n title: 'HERO_SUB_FAME_ADVANTAGE',\r\n sticky: true,\r\n views: {\r\n fameAdvantage: {\r\n templateUrl: 'app/plugins/fameAdvantage/index.html',\r\n controller: 'meevo.plugins.fameAdvantage.FameAdvantageController',\r\n controllerAs: 'fameAdvantage'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SelfCheckinSetting\r\n },\r\n {\r\n name: routeNames.adpRunIntegration,\r\n title: 'ADP Integration',\r\n specialName: \"'\" + routeNames.adpRunIntegration + \"'\",\r\n sticky: true,\r\n views: {\r\n adpRunIntegration: {\r\n templateUrl: 'app/plugins/adpRunIntegration/index.html',\r\n controller: 'meevo.plugins.adpRunIntegration.adpRunIntegrationController',\r\n controllerAs: 'adpRunIntegration'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Integration\r\n },\r\n {\r\n name: routeNames.meevoBi,\r\n title: 'Meevo BI',\r\n specialName: \"'\" + routeNames.meevoBi + \"'\",\r\n sticky: true,\r\n views: {\r\n meevoBi: {\r\n templateUrl: 'app/plugins/meevoBi/index.html',\r\n controller: 'meevo.plugins.meevoBi.meevoBiController',\r\n controllerAs: 'meevoBi'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.MeevoBI\r\n },\r\n {\r\n name: routeNames.adpWfnIntegration,\r\n title: 'ADP WFN Integration',\r\n specialName: \"'\" + routeNames.adpWfnIntegration + \"'\",\r\n sticky: true,\r\n views: {\r\n adpWfnIntegration: {\r\n templateUrl: 'app/plugins/adpWfnIntegration/index.html',\r\n controller: 'meevo.plugins.adpWfnIntegration.adpWfnIntegrationController',\r\n controllerAs: 'adpWfnIntegration'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Integration\r\n },\r\n {\r\n name: routeNames.adpWiselyIntegration,\r\n title: 'ADP Wisely Integration',\r\n specialName: \"'\" + routeNames.adpWiselyIntegration + \"'\",\r\n sticky: true,\r\n views: {\r\n adpWiselyIntegration: {\r\n templateUrl: 'app/plugins/adpWiselyIntegration/index.html',\r\n controller: 'meevo.plugins.adpWiselyIntegration.adpWiselyIntegrationController',\r\n controllerAs: 'adpWiselyIntegration'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Integration\r\n }, {\r\n name: routeNames.royaltyExport,\r\n title: 'Royalty Export',\r\n specialName: \"'\" + routeNames.royaltyExport + \"'\",\r\n sticky: true,\r\n views: {\r\n royaltyExport: {\r\n templateUrl: 'app/plugins/royaltyExport/index.html',\r\n controller: 'meevo.plugins.royaltyExport.royaltyExportController',\r\n controllerAs: 'royaltyExport'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.RoyaltyExport\r\n },\r\n interopContext(routeNames.csvExport, `LABEL_DATA_EXPORT`),\r\n interopContext(routeNames.newFormBuilder, `Form Builder`),\r\n {\r\n name: routeNames.reputationManagement,\r\n specialName: \"'\" + routeNames.reputationManagement + \"'\",\r\n title: 'YEXT_HERO_REPUTATION_MANAGEMENT',\r\n sticky: true,\r\n views: {\r\n reputationManagement: {\r\n templateUrl: 'app/plugins/yext/reputationManagement/index.html',\r\n controller: 'meevo.plugins.reputationManagement.ReputationManagementController',\r\n controllerAs: 'reputationManagement'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ReputationManagement\r\n },\r\n {\r\n name: routeNames.onlineListingsManagement,\r\n specialName: \"'\" + routeNames.onlineListingsManagement + \"'\",\r\n title: 'YEXT_HERO_ONLINE_LISTINGS_MANAGEMENT',\r\n sticky: true,\r\n views: {\r\n onlineListingsManagement: {\r\n templateUrl: 'app/plugins/yext/onlineListingsManagement/index.html',\r\n controller: 'meevo.plugins.onlineListingsManagement.OnlineListingsManagementController',\r\n controllerAs: 'onlineListingsManagement'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.OnlineListingsManagement\r\n },\r\n {\r\n name: routeNames.onlinePresenceAnalytics,\r\n specialName: \"'\" + routeNames.onlinePresenceAnalytics + \"'\",\r\n title: 'YEXT_HERO_ONLINE_PRESENCE_ANALYTICS',\r\n sticky: true,\r\n views: {\r\n onlinePresenceAnalytics: {\r\n templateUrl: 'app/plugins/yext/onlinePresenceAnalytics/index.html',\r\n controller: 'meevo.plugins.onlinePresenceAnalytics.OnlinePresenceAnalyticsController',\r\n controllerAs: 'onlinePresenceAnalytics'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.OnlinePresenceAnalytics\r\n },\r\n {\r\n name: routeNames.onlinePresenceNotificationSettings,\r\n specialName: \"'\" + routeNames.onlinePresenceNotificationSettings + \"'\",\r\n title: 'YEXT_HERO_ONLINE_PRESENCE_NOTIFICATION_SETTINGS',\r\n sticky: true,\r\n views: {\r\n onlinePresenceNotificationSettings: {\r\n templateUrl: 'app/plugins/yext/onlinePresenceNotificationSettings/index.html',\r\n controller: 'meevo.plugins.onlinePresenceNotificationSettings.OnlinePresenceNotificationSettingsController',\r\n controllerAs: 'onlinePresenceNotificationSettings'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.OnlinePresenceNotifications\r\n },\r\n {\r\n name: routeNames.localProfileSettings,\r\n specialName: \"'\" + routeNames.localProfileSettings + \"'\",\r\n title: 'YEXT_HERO_LOCAL_PROFILE_SETTINGS',\r\n sticky: true,\r\n views: {\r\n localProfileSettings: {\r\n templateUrl: 'app/plugins/yext/localProfileSettings/index.html',\r\n controller: 'meevo.plugins.localProfileSettings.LocalProfileSettingsController',\r\n controllerAs: 'localProfileSettings'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.LocalSEOProfileSettings\r\n },\r\n {\r\n name: routeNames.onlinePresenceSettings,\r\n specialName: \"'\" + routeNames.onlinePresenceSettings + \"'\",\r\n title: 'HEADER_ONLINE_PRESENCE_SETTINGS',\r\n sticky: true,\r\n views: {\r\n onlinePresenceSettings: {\r\n templateUrl: 'app/plugins/onlinePresenceSettings/index.html',\r\n controller: 'meevo.plugins.onlinePresenceSettings.OnlinePresenceSettingsController',\r\n controllerAs: 'onlinePresenceSettings'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.OnlinePresenceSettings\r\n },\r\n {\r\n name: routeNames.systemToolbox,\r\n title: 'HERO_SUB_MEEVO_SYSTEM_TOOLBOX',\r\n specialName: \"'\" + routeNames.systemToolbox + \"'\",\r\n sticky: true,\r\n views: {\r\n systemToolbox: {\r\n templateUrl: 'app/plugins/systemToolbox/index.html',\r\n controller: 'meevo.plugins.systemToolbox.systemToolboxController',\r\n controllerAs: 'systemToolbox'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.SystemToolbox\r\n },\r\n {\r\n name: routeNames.meevoTheming,\r\n title: 'HERO_SUB_MEEVO_THEMING',\r\n specialName: \"'\" + routeNames.meevoTheming + \"'\",\r\n sticky: true,\r\n views: {\r\n meevoTheming: {\r\n templateUrl: 'app/plugins/meevoTheming/index.html',\r\n controller: 'meevo.plugins.meevoTheming.meevoThemingController',\r\n controllerAs: 'meevoTheming'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.MeevoTheming\r\n },\r\n {\r\n name: routeNames.yieldManagementStrategy,\r\n title: 'LABEL_YIELD_MANAGEMENT_STRATEGY',\r\n specialName: \"'\" + routeNames.yieldManagementStrategy + \"'\",\r\n auditName: auditNames.yieldManagementStrategy,\r\n sticky: true,\r\n views: {\r\n yieldManagementStrategy: {\r\n templateUrl: 'app/plugins/yieldManagementStrategy/index.html',\r\n controller: 'meevo.plugins.yieldManagementStrategy.YieldManagementStrategyController',\r\n controllerAs: 'ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.YieldManagementStrategy\r\n },\r\n {\r\n name: routeNames.yieldManagementProgram,\r\n title: 'LABEL_YIELD_MANAGEMENT_PROGRAM',\r\n specialName: \"'\" + routeNames.yieldManagementProgram + \"'\",\r\n auditName: auditNames.yieldManagementProgram,\r\n sticky: true,\r\n views: {\r\n yieldManagementProgram: {\r\n templateUrl: 'app/plugins/yieldManagementProgram/index.html',\r\n controller: 'meevo.plugins.yieldManagementProgram.YieldManagementProgramController',\r\n controllerAs: 'ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.YieldManagementProgram\r\n },\r\n {\r\n name: routeNames.systemVersions,\r\n specialName: \"'\" + routeNames.systemVersions + \"'\",\r\n title: 'Versions',\r\n sticky: true,\r\n views: {\r\n systemVersions: {\r\n templateUrl: 'app/plugins/systemVersions/sectionViews/main.html',\r\n controller: 'meevo.plugins.systemVersions.SystemVersionsController',\r\n controllerAs: 'systemVersions'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.PayrollPage\r\n },\r\n interopContext(routeNames.businessPreferences, `HERO_SUB_BUSPREFS`),\r\n { //update here Client App\r\n name: routeNames.clientApp,\r\n title: 'LABEL_CLIENT_APP',\r\n specialName: \"'\" + routeNames.clientApp + \"'\",\r\n auditName: auditNames.clientApp,\r\n sticky: true,\r\n views: {\r\n clientApp: {\r\n templateUrl: 'app/plugins/clientApp/index.html',\r\n controller: 'meevo.plugins.clientApp.ClientAppController',\r\n controllerAs: 'clientApp'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.ClientApp\r\n },\r\n {\r\n name: routeNames.usageReasons,\r\n specialName: \"'\" + routeNames.usageReasons + \"'\",\r\n auditName: auditNames.usageReasons,\r\n title: 'HERO_SUB_USAGE_REASONS',\r\n sticky: true,\r\n views: {\r\n usageReasons: {\r\n templateUrl: 'app/plugins/usageReasons/index.html',\r\n controller: 'meevo.plugins.usageReasons.UsageReasonsController',\r\n controllerAs: 'usageReasons'\r\n }\r\n },\r\n params: {\r\n callback: null,\r\n callbackState: null,\r\n targetState: null,\r\n actionState: null,\r\n id: null\r\n },\r\n noun: Meevo.Model.NounEnum.UsageReason\r\n },//update here Client App\r\n interopContext(routeNames.productBulkUpdate, `HERO_SUB_PRODUCT_BULK_UPDATE`),\r\n interopContext(routeNames.paymentPlans, 'HERO_PAYMENT_PLANS'),\r\n interopContext(routeNames.dashboards, `LABEL_DASHBOARDS`),\r\n interopContext(routeNames.dashboardsLicenses, `LABEL_DASHBOARD_LICENSE_MANAGEMENT`),\r\n interopContext(routeNames.paymentRequests, 'LABEL_PAYMENTS'),\r\n interopContext(routeNames.meevoPay, 'LABEL_MEEVO_PAY'),\r\n {\r\n name: routeNames.tippy,\r\n title: 'LABEL_TIPPY_INTEGRATION',\r\n specialName: \"'\" + routeNames.tippy + \"'\",\r\n auditName: auditNames.tippy,\r\n sticky: true,\r\n views: {\r\n tippy: {\r\n templateUrl: 'app/plugins/tippy/index.html',\r\n controller: 'meevo.plugins.tippy.TippyController',\r\n controllerAs: 'ctrl'\r\n }\r\n },\r\n noun: Meevo.Model.NounEnum.Tippy\r\n },\r\n interopContext(routeNames.pbiDashboards, 'LABEL_DASHBOARDS'),\r\n ];\r\n\r\n angular.forEach(contexts, (state: IContext) => {\r\n $stateProvider.state(state.name, state);\r\n });\r\n\r\n\r\n $urlRouterProvider.otherwise(\"/\");\r\n\r\n $httpProvider.interceptors.push(\"meevo.components.interceptors.ExceptionInterceptor\");\r\n $httpProvider.interceptors.push(\"meevo.components.interceptors.DateInterceptor\");\r\n\r\n $provide.decorator('$mdDialog', ['$delegate', '$injector',\r\n ($delegate: ng.material.IDialogService, $injector) => {\r\n let show = $delegate.show;\r\n let hide = $delegate.hide;\r\n let cancel = $delegate.cancel;\r\n const baseModalShortcutsGroup: Meevo.Components.ShortCuts.IShortCutGroup = new ShortCutGroup([], {deactivateGlobal: true, groupLevel: Components.ShortCuts.GroupLevels.Modal});\r\n\r\n // note: injector needed for fixing \"Circular Dependencies\" error\r\n $delegate.show = (options) => {\r\n $injector.get('meevo.components.short-cuts.ShortCutsService').activateGroup(baseModalShortcutsGroup);\r\n return show(options);\r\n };\r\n\r\n $delegate.hide = (options) => {\r\n $injector.get('meevo.components.short-cuts.ShortCutsService').deactivateGroup(baseModalShortcutsGroup);\r\n return hide(options);\r\n };\r\n\r\n $delegate.cancel = (options) => {\r\n $injector.get('meevo.components.short-cuts.ShortCutsService').deactivateGroup(baseModalShortcutsGroup);\r\n return cancel(options);\r\n };\r\n\r\n return $delegate;\r\n }\r\n ]);\r\n\r\n // NOTE: See implementation at Meevo.Components.Interceptors.DateInterceptor\r\n //$httpProvider.defaults.transformResponse.push((responseData: any): any => {\r\n // convertDateStringsToDates(responseData);\r\n // return responseData;\r\n //});\r\n }\r\n\r\n /**\r\n * Configures the translation provider.\r\n * @param $translateProvider\r\n */\r\n function configureTranslations($translateProvider, meevoCdn, countryId) {\r\n\r\n $translateProvider.useStaticFilesLoader({\r\n prefix: meevoCdn + \"/assets/i18n/\",\r\n suffix: \".json?ver=2342324353\"\r\n });\r\n\r\n /* $translateProvider.useMessageFormatInterpolation() Instead Will Be Added To $translateProvider.addInterpolation('$translateMessageFormatInterpolation');\r\n * So We Can Use At Will For Pluralization Within Templates Using Single Brackets {variable} Within *.json\r\n * By Default Translate Interpolation Uses {{variable}} Within *.json\r\n * $translateProvider.useInterpolation('meevoTranslateInterpolation'); This Is Our Custom and Current Interpolation\r\n */\r\n\r\n\r\n $translateProvider.fallbackLanguage(countryId);\r\n $translateProvider.preferredLanguage(countryId);\r\n //$translateProvider.synchronizeLocale = true;\r\n\r\n\r\n //$translateProvider.useSanitizeValueStrategy('escape');\r\n // TODO: Revisit when localization for other languages are introduced\r\n // https://github.com/angular-translate/angular-translate/issues/1410\r\n $translateProvider.useSanitizeValueStrategy('sanitizeParameters');\r\n\r\n\r\n }\r\n\r\n /**\r\n * Configures Material Design DateLocale Provider.\r\n * https://stackoverflow.com/questions/32566416/change-format-of-md-datepicker-in-angular-material/43409002#43409002\r\n * @param $mdDateLocaleProvider\r\n */\r\n function configureDateLocaleProvider($mdDateLocaleProvider) {\r\n\r\n $mdDateLocaleProvider.parseDate = (dateString) => {\r\n var m = moment(dateString, 'L', true);\r\n return m.isValid() ? m.toDate() : new Date(NaN);\r\n };\r\n\r\n $mdDateLocaleProvider.formatDate = (date) => {\r\n var m = moment(date);\r\n return m.isValid() ? m.format('L') : '';\r\n };\r\n }\r\n\r\n /**\r\n * https://github.com/lgalfaso/angular-dynamic-locale/blob/master/README.md\r\n * @param tmhDynamicLocaleProvider\r\n * TODO: If Needed use Catching To Reduce Loading Time $translateProvider.useLoaderCache(true)\r\n */\r\n function configuretmhDynamicLocaleProvider(tmhDynamicLocaleProvider, countryId) {\r\n //tmhDynamicLocaleProvider.localeLocationPattern('https://code.angularjs.org/1.5.8/i18n/angular-locale_{{locale}}.js');\r\n tmhDynamicLocaleProvider.localeLocationPattern('/assets/locale/angular-locale_{{locale}}.min.js');\r\n tmhDynamicLocaleProvider.defaultLocale(countryId); /* when done fires $localeChangeSuccess event */\r\n }\r\n\r\n function interopContext(name: string, title: string) {\r\n const views = {};\r\n views[name] = {\r\n templateUrl: 'app/plugins/interop/interop.html',\r\n controller: 'meevo.plugins.interop.InteropController',\r\n controllerAs: 'interop'\r\n };\r\n const context = {\r\n name: name,\r\n title: title,\r\n specialName: `'${name}'`,\r\n sticky: true,\r\n views: views,\r\n params: {\r\n targetRoute: null\r\n }\r\n }\r\n return context;\r\n }\r\n\r\n angular.module(\"meevo\").config(config);\r\n}\r\n\r\n","/// \r\n\r\nmodule Meevo {\r\n angular.module('meevo.core',\r\n [\r\n 'ngAnimate',\r\n 'ngAria',\r\n 'ngCookies',\r\n 'ngTouch',\r\n 'ngSanitize',\r\n 'ngResource',\r\n 'ngMaterial',\r\n 'ngMessages',\r\n 'ui.router',\r\n 'ct.ui.router.extras',\r\n 'pascalprecht.translate',\r\n 'angulartics',\r\n //'angulartics.google.analytics', // Comment back in if we do want to support Google Analytics\r\n 'ng.deviceDetector',\r\n 'ngFileUpload',\r\n 'ngImgCrop',\r\n 'ui.utils.masks',\r\n 'gridster',\r\n 'as.sortable',\r\n 'tmh.dynamicLocale',\r\n 'ngIntlTelInput']);\r\n}","/// \r\n\r\nmodule Meevo {\r\n 'use strict';\r\n\r\n function setUserLocalAddress(identityService: Meevo.Components.Common.IIdentityService, $window: any): void {\r\n\r\n var doNothing = () => { };\r\n\r\n // detect RTCPeerConnection constructor including prefixed names for Firefox and Chrome\r\n var peerConnectionConstructor =\r\n $window.RTCPeerConnection || $window.mozRTCPeerConnection || $window.webkitRTCPeerConnection;\r\n\r\n if (!peerConnectionConstructor) {\r\n // RTCPeerConnection is not supported by the browser\r\n identityService.current().userLocalAddress = \"0.0.0.0\";\r\n return;\r\n }\r\n\r\n var peerConnection = new peerConnectionConstructor({ iceServers: [] });\r\n\r\n // create a dummy data channel\r\n peerConnection.createDataChannel(\"\");\r\n\r\n // create offer and set local description\r\n peerConnection.createOffer(peerConnection.setLocalDescription.bind(peerConnection), doNothing);\r\n\r\n // listen for candidate events\r\n peerConnection.onicecandidate = function (ice) {\r\n if (!ice || !ice.candidate || !ice.candidate.candidate) {\r\n return;\r\n }\r\n\r\n const matches = /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate.candidate);\r\n if (matches && matches.length > 1) {\r\n identityService.current().userLocalAddress = matches[1];\r\n }\r\n peerConnection.onicecandidate = doNothing;\r\n };\r\n }\r\n\r\n function run($window: any,\r\n $state: angular.ui.IStateService,\r\n $rootScope: any,\r\n $filter: angular.IFilterService,\r\n appSettings: Meevo.Components.Common.IAppSettings,\r\n dataService: Meevo.Components.Common.ICommonDataService,\r\n identityService: Meevo.Components.Common.IIdentityService,\r\n modalService: Meevo.Components.Modal.IModalService,\r\n trackingService: Meevo.Components.Tracking.ITrackingService,\r\n pushMessageHandler: any,\r\n $translate: angular.translate.ITranslateService,\r\n tmhDynamicLocale: any,\r\n $mdDateLocale: any,\r\n $locale: angular.ILocaleService,\r\n ngIntlTelInput: any,\r\n interopService: any): void {\r\n\r\n Handlebars.registerHelper('format', function (context: any, options) {\r\n var type = options.hash.type;\r\n switch (type) {\r\n case 'phone':\r\n return $filter('meevoPhoneNumber')(context);\r\n case 'phoneFormat':\r\n return $filter('meevoPhoneNumberFormat')(context, options.hash.countryCode);\r\n case 'phoneLastFour':\r\n return $filter('meevoPhoneNumberLastFourFilter')(context);\r\n default:\r\n return;\r\n }\r\n });\r\n\r\n device.largeTablet = () => {\r\n return device.tablet() && window.innerWidth >= 1024;\r\n };\r\n\r\n device.standalone = () => {\r\n return device.ios() && window.navigator[\"standalone\"];\r\n };\r\n\r\n /*\r\n * $rootScope.MEEVOCDN Used by gulp task 'dist-templatecache-meevocdn'\r\n * to append url src so assets are served from cloud\r\n * $window.MEEVOCDN\r\n */\r\n $rootScope.MEEVOCDN = $window.MEEVOCDN || '';\r\n\r\n /**\r\n * https://github.com/lgalfaso/angular-dynamic-locale\r\n * @param tmhDynamicLocale\r\n * Fired when defaultLocale changed in app.config\r\n */\r\n $rootScope.$on('$localeChangeSuccess', () => {\r\n /* Do Something Else*/\r\n });\r\n\r\n var getStartDayOfWeek = (dayEnum: number): number => {\r\n\r\n let startDayOfWeek=0;\r\n switch (dayEnum) {\r\n case Meevo.Model.WeekdayNameEnum.Sunday:\r\n startDayOfWeek = 0;\r\n break;\r\n case Meevo.Model.WeekdayNameEnum.Monday:\r\n startDayOfWeek = 1;\r\n break;\r\n case Meevo.Model.WeekdayNameEnum.Tuesday:\r\n startDayOfWeek = 2;\r\n break;\r\n case Meevo.Model.WeekdayNameEnum.Wednesday:\r\n startDayOfWeek = 3;\r\n break;\r\n case Meevo.Model.WeekdayNameEnum.Thursday:\r\n startDayOfWeek = 4;\r\n break;\r\n case Meevo.Model.WeekdayNameEnum.Friday:\r\n startDayOfWeek = 5;\r\n break;\r\n case Meevo.Model.WeekdayNameEnum.Saturday:\r\n startDayOfWeek = 6;\r\n break;\r\n }\r\n\r\n return startDayOfWeek;\r\n }\r\n\r\n const settingsPromise = dataService.customMethodData(\"api/Tenant/BusinessInfo/Settings\", \"get\", {}).then((response) => {\r\n appSettings.APP_BUSINFOSETTINGS = response.data;\r\n $rootScope.appointmentBookSettings = response.data.appointmentBookSettings;\r\n $rootScope.clientsSettings = response.data.clientsSettings;\r\n }, (error: any) => {\r\n console.log(error);\r\n });\r\n\r\n /*\r\n * Culture Settings\r\n * Update $translate - moment.js - mdDatePicker - locale\r\n */\r\n settingsPromise.then(() => {\r\n dataService.customMethodData(\"api/settings/cultural\", \"GET\", null).then((settings: any) => {\r\n let countryEnum = settings.data.countryEnum;\r\n let onlyCountries = [];\r\n for (var countryId in Meevo.Model.CountryIdEnum) {\r\n if (!Number(Meevo.Model.CountryIdEnum[countryId])) {\r\n onlyCountries.push(Meevo.Model.CountryIdEnum[countryId].substr(3));\r\n }\r\n }\r\n // let cultureId = Meevo.Model.CountryIdEnum[countryEnum].replace('_', '-');\r\n let cultureId = settings.data.locale;\r\n let metadataId = cultureId.substr(3).toUpperCase();\r\n appSettings.APP_TIME_FORMAT = settings.data.timeFormatEnum;\r\n appSettings.APP_CURRENCY = appSettings.APP_COUNTRIES[metadataId]['Currency'] || appSettings.APP_CURRENCY;\r\n appSettings.APP_ISOCURRENCYCODE = appSettings.APP_COUNTRIES[metadataId]['IsoCurrencyCode'] || appSettings.APP_ISOCURRENCYCODE;\r\n appSettings.APP_ISOCOUNTRYCODE = appSettings.APP_COUNTRIES[metadataId]['IsoCountryCode'] || appSettings.APP_ISOCOUNTRYCODE;\r\n appSettings.APP_LANGUAGEID = appSettings.APP_COUNTRIES[metadataId]['LanguageId'] || appSettings.APP_LANGUAGEID;\r\n\r\n let isTimeFormat24 = Meevo.Model.TimeFormatEnum.TimeFormat24 === appSettings.APP_TIME_FORMAT;\r\n\r\n tmhDynamicLocale.set(cultureId).then(() => {\r\n /** Normalize locale pre-defined DATETIME_FORMATS to support am/pm as in angular-locale_en-us.js.\r\n * Overrides current locale | medium | mediumTime | shortTime | shortTime | formats to support app TimeFormat24\r\n */\r\n let addlDateTimeFormats: any = {};\r\n let dateTimeFormats: any = $locale.DATETIME_FORMATS;\r\n _.each($locale.DATETIME_FORMATS, (df: any, i: any) => {\r\n if (!isObject(df) && typeof df === 'string') {\r\n if (_.contains(df, 'H') || _.contains(df, 'h')) {\r\n if (isTimeFormat24) {\r\n dateTimeFormats[i] = df.replace('a', '');\r\n dateTimeFormats[i] = dateTimeFormats[i].replaceAll('h', 'H');\r\n } else {\r\n\r\n dateTimeFormats[i] += _.contains(df, 'H') ? ' a' : '';\r\n dateTimeFormats[i] = dateTimeFormats[i].replaceAll('H', 'h');\r\n }\r\n }\r\n if (_.contains(df, 'Y') || _.contains(df, 'y')) {\r\n let withNoYear = df.replace(/([^EMdHhmsa]*)([Yy]+)([^EMdHhmsa]*)/, \" \").replace(\" \", \" \").trim();\r\n if (withNoYear != df) {\r\n addlDateTimeFormats[i + \"WithoutYear\"] = withNoYear;\r\n }\r\n }\r\n }\r\n })\r\n $locale.DATETIME_FORMATS = _.extend(dateTimeFormats, addlDateTimeFormats);\r\n\r\n appSettings.APP_AMPMS = $locale.DATETIME_FORMATS.AMPMS || appSettings.APP_AMPMS;\r\n appSettings.APP_COUNTRYID = $locale.id || appSettings.APP_COUNTRYID;\r\n let countryId = $locale.id.substr(3);\r\n ngIntlTelInput.set({\r\n initialCountry: countryId,\r\n preferredCountries: onlyCountries\r\n });\r\n const USEnglish = 'en-us';\r\n const GBEnglish = 'en-gb';\r\n const Americas = ['en-us', 'en-ca', 'en-tt', 'es-mx'];\r\n let languages = _.contains(Americas, $locale.id) ? [$locale.id, USEnglish] : [$locale.id, GBEnglish, USEnglish];\r\n languages = _.uniq(languages);\r\n $translate.fallbackLanguage(languages);\r\n $translate.use($locale.id);\r\n\r\n /**\r\n * Moment.js unexpected behavior for some locales => if 'ar-bh' then switch to 'en-gb'(default arabic format)\r\n */\r\n const unsupportedLocales = ['ar-bh'];\r\n let momentLocaleId = _.contains(unsupportedLocales, $locale.id) ? GBEnglish : $locale.id;\r\n moment.locale(momentLocaleId);\r\n\r\n $mdDateLocale.shortMonths = $locale.DATETIME_FORMATS.SHORTMONTH;\r\n $mdDateLocale.months = $locale.DATETIME_FORMATS.MONTH;\r\n $mdDateLocale.shortMonths = $locale.DATETIME_FORMATS.SHORTMONTH;\r\n $mdDateLocale.days = $locale.DATETIME_FORMATS.DAY;\r\n $mdDateLocale.shortDays = $locale.DATETIME_FORMATS.SHORTDAY;\r\n\r\n $mdDateLocale.parseDate = (dateString) => {\r\n var m = moment(dateString, 'L', true);\r\n return m.isValid() ? m.toDate() : new Date(NaN);\r\n };\r\n $mdDateLocale.formatDate = (date) => {\r\n var m = moment(date);\r\n return m.isValid() ? m.format('L') : '';\r\n };\r\n\r\n const startDayOfWeek = getStartDayOfWeek(appSettings.APP_BUSINFOSETTINGS.appointmentBookSettings.startAppointmentBookDayOn);\r\n $mdDateLocale.firstDayOfWeekLocale = moment()['_locale']['_week']['dow'];\r\n moment.locale(moment.locale(), { week: { dow: startDayOfWeek } });\r\n $mdDateLocale.firstDayOfWeek = startDayOfWeek;\r\n });\r\n\r\n }, (error: any) => {\r\n console.log(error);\r\n });\r\n });\r\n\r\n $rootScope.$on(Meevo.Components.Common.Messages.AUTHENTICATION_SUCCESS, (event: angular.IAngularEvent, data: Meevo.Components.Common.IIdentity) => {\r\n const hasEmail = !!identityService.current().emailAddress;\r\n const isMSIUser = identityService.current().userTypeEnum === Model.UserTypeEnum.MSIUser;\r\n settingsPromise.then(() => {\r\n if (!isMSIUser &&\r\n appSettings.APP_BUSINFOSETTINGS.usersSettings &&\r\n appSettings.APP_BUSINFOSETTINGS.usersSettings.requireEmailAddress &&\r\n !hasEmail) {\r\n let options: Meevo.Components.Modal.IModalOptions = {\r\n templateUrl: \"app/components/email/email.html\",\r\n controller: \"meevo.email.EmailController\",\r\n controllerAs: \"email\",\r\n bindToController: true,\r\n clickOutsideToClose: true\r\n }\r\n modalService.showCustom(options);\r\n }\r\n });\r\n\r\n if (data.requiresPunchIn) {\r\n let options: Meevo.Components.Modal.IModalOptions = {\r\n templateUrl: \"app/components/requireClockIn/requireClockIn.html\",\r\n locals: {\r\n model: data\r\n },\r\n controller: \"meevo.requireClockIn.RequireClockInController\",\r\n controllerAs: \"requireClockIn\",\r\n bindToController: true\r\n }\r\n modalService.showCustom(options)\r\n .then((result) => {\r\n });\r\n }\r\n \r\n // START: DataDog\r\n if ($window.DD_RUM) {\r\n const identity = identityService.current();\r\n\r\n $window.DD_RUM.setUser({\r\n id: identity.userId,\r\n name: identity.userName,\r\n email: identity.emailAddress,\r\n sessionId: identity.id,\r\n location: identity.locationId,\r\n locationName: identity.locationName,\r\n tenant: identity.tenantId\r\n });\r\n }\r\n // END: Datadog\r\n\r\n // TODO: restore this TrackJS code clobbered by Meevo Theming\r\n // START: TrackJS - Configure tracking so requests can be correlated to the user.\r\n /*\r\n if ($window.trackJs) {\r\n\r\n let identity = identityService.current();\r\n\r\n $window.trackJs.configure({\r\n userId: identity.userName + \" |userId: \" + identity.userId,\r\n sessionId: identity.id + \"|location:\" + identity.locationId\r\n });\r\n\r\n //$window.trackJs.addMetadata(\"tenantId\", identity.tenantId);\r\n //$window.trackJs.addMetadata(\"tenant\", identity.tenantName);\r\n //$window.trackJs.addMetadata(\"locationId\", identity.locationId);\r\n $window.trackJs.addMetadata(\"location\", identity.locationName);\r\n //$window.trackJs.addMetadata(\"userName\", identity.userName);\r\n }\r\n */\r\n // END: //TrackJS\r\n\r\n // Gets custom theming\r\n // Gets theme colors from amazon s3\r\n let tenantId = !!data.tenantId ? data.tenantId : identityService.current().tenantId;\r\n\r\n if (!!tenantId) {\r\n\r\n dataService.getThemeCss(tenantId).then(res => {\r\n if (!res) {\r\n return;\r\n }\r\n const head = document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n const noTransitionStyle = document.createElement('style');\r\n let cssFile = \"\";\r\n for (let key in res['css']) {\r\n cssFile += res['css'][key];\r\n }\r\n\r\n let responseStr = cssFile;\r\n let noTransitionResponse = responseStr.replace(\"transition\", \"no-transition\");\r\n\r\n noTransitionStyle.type = 'text/css';\r\n style.type = 'text/css';\r\n style.appendChild(document.createTextNode(responseStr));\r\n noTransitionStyle.appendChild(document.createTextNode(noTransitionResponse))\r\n head.appendChild(style);\r\n //removing transition proerty\r\n //head.removeChild(style);\r\n //head.appendChild(noTransitionStyle)\r\n }).catch(err => { console.log(err); });\r\n }\r\n\r\n checkPasswordAndTimezone();\r\n $rootScope.$broadcast(Meevo.Components.Common.Messages.SESSION_COUNTDOWN);\r\n });\r\n\r\n var checkPasswordAndTimezone = () => {\r\n dataService.getIdentity().then((data: Meevo.Components.Common.IIdentity) => {\r\n var checkForTimeZone = () => {\r\n var openTimeZoneModal = (result: any) => {\r\n let options: Meevo.Components.Modal.IModalOptions = {\r\n templateUrl: \"app/components/changeTimeZone/changeTimeZone.html\",\r\n locals: {\r\n model: null,\r\n locationTimeZone: result.data.locationTimeZone\r\n },\r\n controller: \"meevo.changeTimeZone.ChangeTimeZoneController\",\r\n controllerAs: \"changeTimeZone\",\r\n bindToController: true\r\n };\r\n\r\n return modalService.showCustom(options).catch(() => {\r\n\r\n return modalService.confirm(\"MESSAGE_CANCEL_TIMEZONE_CONFIRMATION\", 0).then(() => {\r\n // Yes->logout\r\n dataService.logout().then((response: any) => {\r\n let url = identityService.current().sessionTimeoutRedirectUrl;\r\n identityService.setIdentity(null);\r\n $window.onbeforeunload = () => null;\r\n $window.location.href = url;\r\n });\r\n\r\n return false;\r\n }).catch(() => {\r\n openTimeZoneModal(result);\r\n });;\r\n });\r\n }\r\n\r\n return dataService.customMethodData(`api/location/${data.locationId}`, \"GET\", null).then((result) => {\r\n if (!result || !result.data) return;\r\n\r\n if (result.data.isTimeZoneConfirmed === false) {\r\n openTimeZoneModal(result);\r\n }\r\n else {\r\n return true;\r\n }\r\n });\r\n };\r\n\r\n if (data.requireChangePassword) {\r\n let options: Meevo.Components.Modal.IModalOptions = {\r\n templateUrl: \"app/components/changePassword/changePassword.html\",\r\n locals: {\r\n model: null,\r\n userId: data.userId,\r\n userName: data.userAuthName,\r\n requireChangePassword: data.requireChangePassword\r\n },\r\n controller: \"meevo.changePassword.ChangePasswordController\",\r\n controllerAs: \"changePassword\",\r\n bindToController: true\r\n };\r\n\r\n return modalService.showCustom(options).then((result) => { return checkForTimeZone() });\r\n } else {\r\n return checkForTimeZone();\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n $rootScope.$on(Meevo.Components.Common.Messages.REFRESH_IDENTITY, (event: angular.IAngularEvent, broadcast: boolean = false) => {\r\n\r\n dataService.refreshIdentity(identityService.locationId)\r\n .then(() => dataService.getIdentityFull())\r\n .then((response) => {\r\n identityService.setIdentity(response);\r\n if (broadcast)\r\n $rootScope.$broadcast(Meevo.Components.Common.Messages.AUTHENTICATION_SUCCESS, identityService.current());\r\n })\r\n .catch((err) => {\r\n /* Broadcast \"REFRESH_IDENTITY\" Is Called From main.controller. Catch Errors In A Slow Network Environment, Will Result In Expired Session */\r\n $rootScope.$broadcast(Meevo.Components.Common.Messages.SESSION_TIMEOUT_HANDLER, Meevo.Model.SessionState.Lockout, 'RefreshIdentity');\r\n });\r\n });\r\n\r\n // Retrieve information from session and populate identity.\r\n dataService.getIdentityFull().then((data: Meevo.Components.Common.IIdentity) => {\r\n\r\n identityService.setIdentity(data);\r\n appSettings.SERVER_EVENTS_ENABLED ? pushMessageHandler.initiate(identityService.current().locationId) : null;\r\n if (data.isAuthenticated) {\r\n //if (Model.Guard.isSomething($window))\r\n setUserLocalAddress(identityService, $window);\r\n $rootScope.$broadcast(Meevo.Components.Common.Messages.AUTHENTICATION_SUCCESS, identityService.current());\r\n } else {\r\n if (data.locationId > 0) {\r\n this.$window.location.href = appSettings.LOGIN_URL + \"?locationid=\" + data.locationId;\r\n } else {\r\n\r\n var tenantId = this.$window.location.search.split('tenantId=')[1];\r\n if (tenantId.search(\"status\") > 0) {\r\n tenantId = decodeURIComponent(tenantId);\r\n this.$window.location.href = tenantId;\r\n }\r\n else \r\n this.$window.location.href = \"login\" + `/${tenantId}`;\r\n }\r\n }\r\n }).catch((err) => {\r\n console.log( err);\r\n });\r\n\r\n $rootScope.$on(Meevo.Components.Common.Messages.STATE_CHANGE_SUCCESS,\r\n (event, toState, toParams, fromState, fromParams) => {\r\n let noun: Meevo.Model.NounEnum = toState.hasOwnProperty(\"noun\") ? toState.noun : Meevo.Model.NounEnum.NotSpecified;\r\n trackingService.savePageView(noun);\r\n });\r\n }\r\n\r\n angular.module('meevo').run([\r\n \"$window\",\r\n \"$state\",\r\n \"$rootScope\",\r\n \"$filter\",\r\n \"meevo.AppSettings\",\r\n \"meevo.components.common.DataService\",\r\n \"meevo.components.common.IdentityService\",\r\n \"meevo.components.modal.ModalService\",\r\n \"meevo.components.tracking.TrackingService\",\r\n \"meevo.components.common.meevoPushMessageHandler\",\r\n \"$translate\",\r\n \"tmhDynamicLocale\",\r\n \"$mdDateLocale\",\r\n \"$locale\",\r\n \"ngIntlTelInput\",\r\n \"meevo.plugins.interop.InteropService\",\r\n run,\r\n ]);\r\n}","\r\nmodule Meevo {\r\n\r\n export class MeevoTranslateInterpolation {\r\n private meevoFieldLabels: Object = {};\r\n private $locale: any;\r\n constructor(protected $http: angular.IHttpService, protected $rootScope: angular.IRootScopeService, protected appSettings: Meevo.Components.Common.IAppSettings, protected $interpolate: any, private $q: angular.IQService) {\r\n\r\n this.appSettings.APP_FIELDLABELS = this.getFieldLabels().then((response)=> {\r\n return response.data;\r\n }, (err: any) => {\r\n console.log(err);\r\n this.$q.reject(null);\r\n }); \r\n \r\n }\r\n\r\n getFieldLabels(): angular.IPromise {\r\n var deffered = this.$q.defer(); \r\n this.$http.get('api/Settings/FieldLabels')\r\n .then((response: any) => {\r\n response.data.settings.forEach((setting: any) => {\r\n let key: string = setting.displayName;\r\n let value: string = setting.effectiveValue;\r\n this.meevoFieldLabels[key] = value;\r\n this.meevoFieldLabels[key.charAt(0).toLowerCase() + key.substr(1)] = value.toLowerCase();\r\n });\r\n this.appSettings.APP_FIELDLABELS = this.meevoFieldLabels;\r\n deffered.resolve(this.meevoFieldLabels);\r\n // this.$rootScope.$broadcast(Meevo.Components.Common.Messages.MEEVO_FIELD_LABELS_SET, this.meevoFieldLabels);\r\n }, (error: any) => {\r\n console.log(\"getfields : \" + error);\r\n deffered.reject(null);\r\n });\r\n return deffered.promise;\r\n }\r\n\r\n setLocale(locale): void {\r\n this.$locale = locale;\r\n }\r\n\r\n getInterpolationIdentifier(): string {\r\n return 'meevoTranslateInterpolation';\r\n }\r\n\r\n interpolate(string, interpolateParams, context, sanitizeStrategy, translationId): any {\r\n let interParams = interpolateParams || {}\r\n let interpolate: string = this.$interpolate(string)(_.defaults(interParams, this.meevoFieldLabels), sanitizeStrategy)\r\n\r\n return interpolate;\r\n }\r\n\r\n static factory(): angular.IDirectiveFactory {\r\n let svc = ($http: angular.IHttpService, $rootScope: angular.IRootScopeService, appSettings: Meevo.Components.Common.IAppSettings, $interpolate: any, $q: angular.IQService) => {\r\n return new MeevoTranslateInterpolation($http, $rootScope, appSettings, $interpolate, $q);\r\n }\r\n\r\n svc.$inject = [\"$http\", \"$rootScope\", \"meevo.AppSettings\", \"$interpolate\",\"$q\"];\r\n return svc;\r\n }\r\n }\r\n\r\n angular.module(\"meevo\")\r\n .factory(\"meevoTranslateInterpolation\", MeevoTranslateInterpolation.factory());\r\n\r\n}","/// \r\n\r\nmodule Meevo {\r\n\r\n export class AppSettings {\r\n\r\n static get Default(): Meevo.Components.Common.IAppSettings {\r\n return {\r\n APP_TIME_FORMAT: 30297,\r\n API_ENDPOINTS: {\r\n accountsync: \"accountsync\",\r\n accountsyncDesktop: \"accountsyncDesktop\",\r\n alertsManager: \"alert\",\r\n alertsLog: \"alertLog\",\r\n alertLogDetail: \"alertLogDetail\",\r\n alertCategory: \"alertCategory\",\r\n alertSetting: \"alertSetting\",\r\n appointmentSchedule: \"appointmentSchedule\",\r\n blockSchedule: \"blockSchedule\",\r\n blockType: \"blocktype\",\r\n businessInfo: \"/tenant/businessinfo\",\r\n businessTypes: \"businesstype\",\r\n locationGroups: \"LocationGroup\",\r\n location: \"location/maintenance\",\r\n cancellationReason: \"cancellationtype\",\r\n client: \"client\",\r\n clientClientType: \"clientClientType\",\r\n clientMerge: \"clientMerge\",\r\n clientManualMerge: \"clientManualMerge\",\r\n discount: \"discount\",\r\n drawer: \"drawer\",\r\n drawerHistory: \"drawerHistory\",\r\n drawerManager: \"drawerManager\",\r\n drawerSession: \"drawerSession\",\r\n fieldLabels: \"settings/FieldLabels\",\r\n egifts: \"egift\",\r\n shippingFees: \"shippingFee\",\r\n employee: \"employee\",\r\n teachers: \"teacher\",\r\n employeeCategory: \"employeeCategory\",\r\n employeeTemplate: \"employeeTemplate\",\r\n employeeTemplatePromotion: \"employeeTemplatePromotion\",\r\n inventoryCount: \"inventoryCount\",\r\n inventoryTransfer: \"inventoryTransfer\",\r\n notificationSetting: \"notificationSetting\",\r\n tax: \"tax\",\r\n productcategories: \"ProductCategory\",\r\n giftCardType: \"giftCardType\",\r\n referralType: \"referraltype\",\r\n securityRole: \"securityRole\",\r\n service: \"service\",\r\n reportServices: \"Report/Service\",\r\n reportScheduler: \"reportScheduler\",\r\n reportCategories: \"Report/ReportCategory\",\r\n alertConfigReport: \"Report\",\r\n serviceCategory: \"serviceCategory\",\r\n session: \"session\",\r\n visitNoteType: \"visitnotetype\",\r\n resource: \"resource\",\r\n appointmentCategory: \"appointmentCategory\",\r\n notificationTemplate: \"Template\",\r\n onlineBookingSettings: \"/settings/OnlineBooking\",\r\n resourceCategory: \"resourceCategory\",\r\n distributor: \"distributor\",\r\n manufacturer: \"manufacturer\",\r\n meevoBi: \"meevoBi\",\r\n clientApp:\"clientApp\",\r\n product: \"product\",\r\n productBulkUpdate: \"productBulkUpdate\",\r\n productInfoModal: \"product/infoModal\",\r\n payinoutreasons: \"payinoutreasons\",\r\n purchaseOrder: \"purchaseOrder\",\r\n workActivity: \"workActivity\",\r\n appointmentRequest: \"appointmentRequest\",\r\n equipment: \"equipment\",\r\n stockLevels: \"Inventory/StockLevel\",\r\n walkinAppointment: \"walkinAppointment\",\r\n walkInSettings: \"walkInSettings\",\r\n paymentType: \"paymenttype\",\r\n financialInfoSetting: \"financialInfoSettings\",\r\n posHardware: \"poshardware\",\r\n sale: \"sale\",\r\n packageType: \"packageType\",\r\n paging: \"paging\",\r\n memberships: \"membership\",\r\n membershipTypes: \"membershipType\",\r\n memberBenefitTemplates: \"memberBenefitTemplate\",\r\n membershipCancellation: \"membershipCancellationReason\",\r\n membershipManager: \"membership/client\",\r\n ipRestriction: \"ipRestriction\",\r\n marketPricing: \"marketPricing\",\r\n floorLocation: \"floorLocation\",\r\n saleHold: \"salehold\",\r\n customData: \"customData\",\r\n swapGroup: \"swapGroup\",\r\n reportingHierarchy: \"report/reportHierarchy\",\r\n report: \"report\",\r\n transactionEditor: \"transactionEditor\",\r\n profileSettings: \"profileSettings\",\r\n holiday: \"holidaySettings\",\r\n merchantAccount: \"merchantAccount\",\r\n integration: \"integration\",\r\n eventSchedule: \"eventSchedule\",\r\n addOnGroup: \"addOnGroup\",\r\n productBundles: \"productBundles\",\r\n customBranding: \"settings/customBranding\",\r\n clientPoint: \"clientPoint\",\r\n compensationSettings: \"settings/compensation\",\r\n clockInOutRulesSettings: \"settings/clockInOutRules\",\r\n periodSettings: \"settings/period\",\r\n cultureSettings: \"settings/cultural\",\r\n employeeSupplyUsage: \"inventory/supplyUsage\",\r\n clientPackageHistory: \"ClientPackageHistory\",\r\n clientPackageHistoryById: \"ClientPackageHistoryByClientId\",\r\n smartCenter: \"smartCenter\",\r\n giftCardIntegration: \"tenant/giftCardExternalBin\",\r\n miscSupplyDefinitions: \"miscSupplyDefinitions\",\r\n inventoryReturn: \"inventoryReturn\",\r\n clientCreditCard: \"client/creditcard\",\r\n splitCommissionSettings: \"settings/compensation/splitcommissionsettings\",\r\n imageGalleryCategory: \"imageGalleryCategory\",\r\n saleProgram: \"saleProgram\",\r\n eftControlPanel: \"membership\",\r\n payroll: \"payroll\",\r\n basicEmailMarketing: \"basicEmailMarketing\",\r\n departments: \"departments\",\r\n department: \"department\",\r\n departmentGoal: \"departmentGoal\",\r\n employeeGoal: \"employeeGoal\",\r\n dashboardGoals: \"dashboardGoals\",\r\n meevoStore: \"meevoStore\",\r\n pointPromotionCampaign: \"pointPromotionCampaign\",\r\n promotionCampaign: \"Report/PointPromotionCampaign\",\r\n docsAndForms: \"DocsAndForms/Form\",\r\n docsAndFormsKiosk: \"DocsAndForms/Kiosk\",\r\n transworld: \"settings/transworldFields\",\r\n techSphere: \"settings/techSphere\",\r\n textel: \"textel\",\r\n meevoMessenger: \"meevoMessenger\",\r\n meevoMessengerSettings: \"meevoMessenger\",\r\n textelBlast: \"textelBlast\",\r\n salesRankings: \"salesRankings\",\r\n ratingsControlPanel: \"ratingsControlPanel\",\r\n servicesWizard: \"servicesWizard\",\r\n students: \"student\",\r\n ratingClientSummary: \"SaleLine/SaleLineRating/SummaryByClient\",\r\n ratings: \"SaleLine/SaleLineRating\",\r\n clientIntakeForm: \"ClientIntakeForms/Form\",\r\n clientIntakeFormBuilder: \"ClientIntakeForms/Builder/Form\",\r\n selfCheckInKioskSettings: \"SelfCheckinKiosk/Settings\",\r\n fiveStarRatingSettings: \"FiveStarRatings/Settings\",\r\n selfCheckInKiosk: \"SelfCheckinKiosk\",\r\n aveda:\"ExternalOrder\",\r\n employeeServiceTimesPricing: \"EmployeeServiceTimesPricing\",\r\n serviceCharges: \"serviceCharges\",\r\n fameAdvantage: 'FameAdvantage',\r\n adpRunIntegration: \"adpIntegration\",\r\n adpWfnIntegration: \"adpWfnIntegration\",\r\n adpWiselyIntegration: \"adpWiselyIntegration\",\r\n royaltyExport: \"RoyaltyExport\",\r\n yieldManagementStrategy: \"yieldManagement/Strategy\",\r\n yieldManagementProgram: \"YieldManagement/Program\",\r\n reputationManagement: \"reputationManagement\",\r\n localProfileSettings: \"localProfileSettings\",\r\n onlineListingsManagement: \"onlineListingsManagement\",\r\n onlinePresenceAnalytics: \"onlinePresenceAnalytics\",\r\n onlinePresenceSettings: \"Yext/Settings\",\r\n systemToolbox: \"SystemToolbox\",\r\n meevoTheming: \"MeevoTheming\",\r\n systemVersions:\"System/Version\",\r\n usageReasons: \"usageReason\",\r\n paymentPlans: \"paymentPlan/client\",\r\n pbiDashboards: \"pbiDashboards\",\r\n tippy: \"tippy\",\r\n knowledgeArticles: \"knowledgeArticles\",\r\n },\r\n APP_NAME: \"Meevo\",\r\n API_ROOT: \"api\",\r\n APP_URL: \"home\",\r\n APP_COUNTRYID: \"en-us\",\r\n APP_LANGUAGEID: \"1\",\r\n APP_CURRENCY: \"usdollar\",\r\n APP_ISOCURRENCYCODE: \"USD\",\r\n APP_ISOCOUNTRYCODE: \"US\",\r\n APP_AMPMS: [\"AM\", \"PM\"],\r\n APP_BUSINFOSETTINGS: {},\r\n APP_COUNTRIES: {\r\n AT: {\r\n \"Country\": \"Austria\",\r\n \"Currency\": \"euro\",\r\n \"IsoCurrencyCode\": \"EUR\",\r\n \"IsoCountryCode\": \"AT\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"43\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n AU: {\r\n \"Country\": \"Australia\",\r\n \"Currency\": \"audollar\",\r\n \"IsoCurrencyCode\": \"AUD\",\r\n \"IsoCountryCode\": \"AU\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"61\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_SUBURB|LABEL_STATE_REGION|LABEL_POSTCODE\"\r\n },\r\n BE: {\r\n \"Country\": \"Belgium\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"BE\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"32\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n BR: {\r\n \"Country\": \"Brazil\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"BR\",\r\n \"PostalCodeFormat\": \"NNNNNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}[\\\\-]?\\\\d{3}$\",\r\n \"CountryCallingCode\": \"55\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n BH: {\r\n \"Country\": \"Bahrain\",\r\n \"Currency\": \"bhdinar\",\r\n \"IsoCurrencyCode\": \"BHD\",\r\n \"IsoCountryCode\": \"BH\",\r\n \"PostalCodeFormat\": \"NNN|NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{3,4}$\",\r\n \"CountryCallingCode\": \"973\",\r\n \"LanguageId\": \"34\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_POSTCODE\"\r\n },\r\n CA: {\r\n \"Country\": \"Canada\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"CAD\",\r\n \"IsoCountryCode\": \"CA\",\r\n \"PostalCodeFormat\": \"ANA NAN\",\r\n \"PostalCodeRegEx\": \"^[ABCEGHJKLMNPRSTVXY]\\\\d[ABCEGHJ-NPRSTV-Z][ ]?\\\\d[ABCEGHJ-NPRSTV-Z]\\\\d$$\",\r\n \"CountryCallingCode\": \"1\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_PROVINCE|LABEL_POSTALCODE\"\r\n },\r\n CH: {\r\n \"Country\": \"Switzerland\",\r\n \"Currency\": \"franc\",\r\n \"IsoCurrencyCode\": \"CHF\",\r\n \"IsoCountryCode\": \"CH\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"41\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|false|true\",\r\n \"AddressBlockLabels\": \"LABEL_BUILDING|LABEL_STREET|LABEL_CITY|LABEL_STATE|LABEL_POSTALCODE\"\r\n },\r\n CN: {\r\n \"Country\": \"China\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"CN\",\r\n \"PostalCodeFormat\": \"NNNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{6}$\",\r\n \"CountryCallingCode\": \"86\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n DE: {\r\n \"Country\": \"Germany\",\r\n \"Currency\": \"euro\",\r\n \"IsoCurrencyCode\": \"EUR\",\r\n \"IsoCountryCode\": \"DE\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"49\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_POSTALTOWN|LABEL_POSTALCODE\"\r\n },\r\n DK: {\r\n \"Country\": \"Denmark\",\r\n \"Currency\": \"krone\",\r\n \"IsoCurrencyCode\": \"DKK\",\r\n \"IsoCountryCode\": \"DK\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"45\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n ES: {\r\n \"Country\": \"Spain\",\r\n \"Currency\": \"euro\",\r\n \"IsoCurrencyCode\": \"EUR\",\r\n \"IsoCountryCode\": \"ES\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"34\",\r\n \"LanguageId\": \"92\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|false|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_PROVINCE|LABEL_POSTALCODE\"\r\n },\r\n FI: {\r\n \"Country\": \"Finland\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"FI\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"358\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n FR: {\r\n \"Country\": \"France\",\r\n \"Currency\": \"franc\",\r\n \"IsoCurrencyCode\": \"FRF\",\r\n \"IsoCountryCode\": \"FR\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{2}[ ]?\\\\d{3}$\",\r\n \"CountryCallingCode\": \"33\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n GB: {\r\n \"Country\": \"United Kingdom\",\r\n \"Currency\": \"pound\",\r\n \"IsoCurrencyCode\": \"GBP\",\r\n \"IsoCountryCode\": \"GB\",\r\n \"PostalCodeFormat\": \"AANN NAA|ANNNAA|AANANAA|ANNAA|ANANAA|ANNNAA\",\r\n /* stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive */\r\n \"PostalCodeRegEx\": \"^(([A-Z]{1,2}\\\\d[A-Z\\\\d]?|ASCN|STHL|TDCU|BBND|[BFS]IQQ|PCRN|TKCA) ?\\\\d[A-Z]{2}|BFPO ?\\\\d{1,4}|(KY\\\\d|MSR|VG|AI)[ -]?\\\\d{4}|[A-Z]{2} ?\\\\d{2}|GE ?CX|GIR ?0A{2}|SAN ?TA1)$\",\r\n \"CountryCallingCode\": \"44\",\r\n \"LanguageId\": \"34\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_BUILDING|LABEL_STREET|LABEL_CITY|LABEL_COUNTY|LABEL_POSTALCODE\"\r\n },\r\n UK: {\r\n \"Country\": \"United Kingdom\",\r\n \"Currency\": \"pound\",\r\n \"IsoCurrencyCode\": \"GBP\",\r\n \"IsoCountryCode\": \"UK\",\r\n \"PostalCodeFormat\": \"AANN NAA|ANNNAA|AANANAA|ANNAA|ANANAA|ANNNAA\",\r\n \"PostalCodeRegEx\": \"^(([A-Z]{1,2}\\\\d[A-Z\\\\d]?|ASCN|STHL|TDCU|BBND|[BFS]IQQ|PCRN|TKCA) ?\\\\d[A-Z]{2}|BFPO ?\\\\d{1,4}|(KY\\\\d|MSR|VG|AI)[ -]?\\\\d{4}|[A-Z]{2} ?\\\\d{2}|GE ?CX|GIR ?0A{2}|SAN ?TA1)$\",\r\n \"CountryCallingCode\": \"44\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_BUILDING|LABEL_STREET|LABEL_CITY|LABEL_COUNTY|LABEL_POSTALCODE\"\r\n },\r\n GR: {\r\n \"Country\": \"Greece\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"GR\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{3}[ ]?\\\\d{2}$\",\r\n \"CountryCallingCode\": \"30\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n ID: {\r\n \"Country\": \"Indonesia\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"ID\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"62\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n IN: {\r\n \"Country\": \"India\",\r\n \"Currency\": \"rupee\",\r\n \"IsoCurrencyCode\": \"INR\",\r\n \"IsoCountryCode\": \"IN\",\r\n \"PostalCodeFormat\": \"NNNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{6}$\",\r\n \"CountryCallingCode\": \"91\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n IE: {\r\n \"Country\": \"Ireland\",\r\n \"Currency\": \"euro\",\r\n \"IsoCurrencyCode\": \"EUR\",\r\n \"IsoCountryCode\": \"IE\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^[AC-Y]{1}[0-9]{1}[0-9W]{1}[ \\-]?[0-9AC-Y]{4}$\",\r\n \"CountryCallingCode\": \"353\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n IT: {\r\n \"Country\": \"Italy\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"IT\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"39\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n JP: {\r\n \"Country\": \"Japan\",\r\n \"Currency\": \"yen\",\r\n \"IsoCurrencyCode\": \"JPY\",\r\n \"IsoCountryCode\": \"JP\",\r\n \"PostalCodeFormat\": \"NNNNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{3}-\\\\d{4}$\",\r\n \"CountryCallingCode\": \"81\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n LU: {\r\n \"Country\": \"Luxembourg\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"LU\",\r\n \"PostalCodeFormat\": \"NNNN|L-NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"352\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n MX: {\r\n \"Country\": \"Mexico\",\r\n \"Currency\": \"pesos\",\r\n \"IsoCurrencyCode\": \"MXN\",\r\n \"IsoCountryCode\": \"MX\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"52\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n MY: {\r\n \"Country\": \"Malaysia\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"MY\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"60\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n NL: {\r\n \"Country\": \"Netherlands\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"NL\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}[ ]?[A-Z]{2}$\",\r\n \"CountryCallingCode\": \"31\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n NO: {\r\n \"Country\": \"Norway\",\r\n \"Currency\": \"krone\",\r\n \"IsoCurrencyCode\": \"NOK\",\r\n \"IsoCountryCode\": \"NO\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"47\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n NZ: {\r\n \"Country\": \"New Zealand\",\r\n \"Currency\": \"nzdollar\",\r\n \"IsoCurrencyCode\": \"NZD\",\r\n \"IsoCountryCode\": \"NZ\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"64\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_SUBURB|LABEL_STATE_REGION|LABEL_POSTCODE\"\r\n },\r\n PH: {\r\n \"Country\": \"Philippines\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"PH\",\r\n \"PostalCodeFormat\": \"NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}$\",\r\n \"CountryCallingCode\": \"63\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n PR: {\r\n \"Country\": \"Puerto Rico\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"PR\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^00[679]\\\\d{2}([ \\\\-]\\\\d{4})?$\",\r\n \"CountryCallingCode\": \"+1\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n PT: {\r\n \"Country\": \"Portugal\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"PT\",\r\n \"PostalCodeFormat\": \"NNNN|NNNN-nnn|NNNNnnn\",\r\n \"PostalCodeRegEx\": \"^\\\\d{4}([\\\\-]\\\\d{3})?$\",\r\n \"CountryCallingCode\": \"351\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n SE: {\r\n \"Country\": \"Sweden\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"SE\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{3}[ ]?\\\\d{2}$\",\r\n \"CountryCallingCode\": \"46\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n SG: {\r\n \"Country\": \"Singapore\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"SG\",\r\n \"PostalCodeFormat\": \"NNNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{6}$\",\r\n \"CountryCallingCode\": \"65\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n TH: {\r\n \"Country\": \"Thailand\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"TH\",\r\n \"PostalCodeFormat\": \"NNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}$\",\r\n \"CountryCallingCode\": \"66\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n TT: {\r\n \"Country\": \"Trinidad & Tobago\",\r\n \"Currency\": \"ttdollar\",\r\n \"IsoCurrencyCode\": \"TTD\",\r\n \"IsoCountryCode\": \"TT\",\r\n \"PostalCodeFormat\": \"NNNNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{6}$\",\r\n \"CountryCallingCode\": \"868\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|false|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n US: {\r\n \"Country\": \"United States\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"US\",\r\n \"PostalCodeFormat\": \"NNNNN-NNNN\",\r\n \"PostalCodeRegEx\": \"^\\\\d{5}([\\\\-]\\\\d{4})?$\",\r\n \"CountryCallingCode\": \"1\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n },\r\n OTHER: {\r\n \"Country\": \"Other\",\r\n \"Currency\": \"usdollar\",\r\n \"IsoCurrencyCode\": \"USD\",\r\n \"IsoCountryCode\": \"OTHER\",\r\n \"PostalCodeFormat\": \"NNNNN-NNNN\",\r\n \"PostalCodeRegEx\": \".*\",\r\n \"CountryCallingCode\": \"1\",\r\n \"LanguageId\": \"1\",\r\n \"PhoneFormat\": \"#####\",\r\n \"PhoneRegEx\": \"^##$\",\r\n \"AddressBlockShows\": \"true|true|true|true|true\",\r\n \"AddressBlockLabels\": \"LABEL_ADDRESS1|LABEL_ADDRESS2|LABEL_CITY|LABEL_STATE|LABEL_ZIPCODE\"\r\n }\r\n },\r\n APP_FIELDLABELS: {},\r\n LOGIN_URL: \"login\",\r\n ROUTE_NAMES: {\r\n accountsync: \"quickbooksOnline\",\r\n appointmentBook: \"appointmentBook\",\r\n standingBlocks: \"standingBlocks\",\r\n blockTypes: \"blockTypes\",\r\n businessInfo: \"businessInfo\",\r\n businessTypes: \"businessTypes\",\r\n businessPreferences: \"businesssettings\",\r\n consumerAppSettings: \"consumerAppSettings\",\r\n locationGroups: \"locationGroups\",\r\n location: \"location\",\r\n notificationSetting: \"notificationSetting\",\r\n tax: \"tax\",\r\n cancellationReasons: \"cancellationReasons\",\r\n client: \"client\",\r\n clientClientType: \"clientClientType\",\r\n clientMerge: \"clientMerge\",\r\n clientManualMerge: \"clientManualMerge\",\r\n confirmationManager: \"confirmationManager\",\r\n controlGallery: \"controllGallery\",\r\n drawer: \"drawer\",\r\n drawerHistory: \"drawerHistory\",\r\n drawerManager: \"drawerManager\",\r\n egifts: \"egift\",\r\n shippingFees: \"shippingFees\",\r\n employee: \"employee\",\r\n teachers: \"teachers\",\r\n employeeCategories: \"employeeCategories\",\r\n employeeTemplates: \"employeeTemplates\",\r\n employeeTemplatePromotions: \"employeeTemplatePromotions\",\r\n emmaAccountSettings: \"emmaAccountSettings\",\r\n fieldLabels: \"fieldLabels\",\r\n giftCardTypes: \"giftCardTypes\",\r\n home: \"home\",\r\n itemDetail: \"itemDetail\",\r\n localizationTest: \"localizationTest\",\r\n login: \"login\",\r\n meevoTheming: \"meevoTheming\",\r\n onlineBooking: \"onlineBooking\",\r\n referralTypes: \"referralTypes\",\r\n register: \"register\",\r\n reports: \"reports\",\r\n reportScheduler: \"reportScheduler\",\r\n reportingHierarchy: \"reportingHierarchy\",\r\n schedules: \"schedules\",\r\n search: \"search\",\r\n securityRoles: \"securityRoles\",\r\n securityRolesManager: \"securityRolesManager\",\r\n services: \"services\",\r\n serviceCategories: \"serviceCategories\",\r\n standingAppointments: \"standingAppointments\",\r\n styleGallery: \"styleGallery\",\r\n meevoPay: \"meevo-pay/merchant-account\",\r\n visitNoteTypes: \"visitNoteTypes\",\r\n resources: \"resources\",\r\n appointmentCategories: \"appointmentCategories\",\r\n waitList: \"waitList\",\r\n resourceCategory: \"resourceCategory\",\r\n distributor: \"distributor\",\r\n notificationTemplates: \"notificationTemplates\",\r\n workActivities: \"workActivities\",\r\n product: \"product\",\r\n productBulkUpdate: \"product-bulk-update\",\r\n productInfoModal: \"productInfoModal\",\r\n payinoutreasons: \"payinoutreasons\",\r\n equipment: \"equipment\",\r\n stockLevels: \"stockLevels\",\r\n walkinManagerSettings: \"walkinManagerSettings\",\r\n walkinManager: \"walkinManager\",\r\n walkinManagerDisplay: \"walkinManagerDisplay\",\r\n callCenter: \"bookingAgent\",\r\n productCategories: \"productCategories\",\r\n distributors: \"distributors\",\r\n meevoBi: \"meevoBi\",\r\n clientApp:\"clientApp\",\r\n manufacturer: \"manufacturer\",\r\n manufacturers: \"manufacturers\",\r\n discounts: \"discounts\",\r\n walkinManagerKiosk: \"walkinManagerKiosk\",\r\n onlineBookingSettings: \"onlineBookingSettings\",\r\n financialInfoSetting: \"financialInfoSettings\",\r\n userDefinedControls: \"userDefinedControls\",\r\n paymentType: \"paymentType\",\r\n posHardware: \"posHardware\",\r\n packageTypes: \"packageTypes\",\r\n packages: \"packages\",\r\n paging: \"paging\",\r\n purchaseOrder: \"purchaseOrder\",\r\n memberships: \"memberships\",\r\n membershipTypes: \"membershipTypes\",\r\n membershipDefinitions: \"membershipDefinitions\",\r\n memberBenefitTemplates: \"memberBenefitTemplates\",\r\n membershipCancellation: \"membershipCancellation\",\r\n membershipManager: \"membershipManager\",\r\n floorLocation: \"floorLocation\",\r\n swapGroups: \"swapGroups\",\r\n inventoryCount: \"inventoryCount\",\r\n inventoryTransfer: \"inventoryTransfer\",\r\n ipRestrictions: \"ipRestrictions\",\r\n marketPricing: \"marketPricing\",\r\n transactionEditor: \"transactionEditor\",\r\n profileSettings: \"profileSettings\",\r\n holiday: \"holiday\",\r\n merchantAccounts: \"merchantAccounts\",\r\n integrations: \"integrations\",\r\n eventSchedules: \"eventSchedules\",\r\n timeClock: \"timeClock\",\r\n addOnGroup: \"addOnGroup\",\r\n productBundles: \"productBundles\",\r\n customBranding: \"customBranding\",\r\n clientPoint: \"clientPoint\",\r\n compensationSettings: \"compensationSettings\",\r\n clockInOutRulesSettings: \"clockInOutRulesSettings\",\r\n periodSettings: \"periodSettings\",\r\n cultureSettings: \"cultureSettings\",\r\n employeeSupplyUsage: \"employeeSupplyUsage\",\r\n smartCenters: \"smartCenters\",\r\n giftCardBalance: \"giftCardBalance\",\r\n giftCardIntegration: \"giftCardIntegration\",\r\n miscSupplyDefinitions: \"miscSupplyDefinitions\",\r\n inventoryReturns: \"inventoryReturns\",\r\n splitCommissionSettings: \"splitCommissionSettings\",\r\n activityLog: \"activityLog\",\r\n alertsManager: \"alertsManager\",\r\n alertsLog: \"alertsLog\",\r\n imageGalleryCategory: \"imageGalleryCategory\",\r\n packageLookup: \"packageLookup\",\r\n saleProgram: \"saleProgram\",\r\n eftControlPanel: \"eftControlPanel\",\r\n sandbox: \"sandbox\",\r\n payroll: \"payroll\",\r\n basicEmailMarketing: \"basicEmailMarketing\",\r\n departments: \"departments\",\r\n department: \"department\",\r\n departmentGoal: \"departmentGoal\",\r\n employeeGoal: \"employeeGoal\",\r\n dashboardGoals: \"dashboardGoals\",\r\n meevoStore: \"meevoStore\",\r\n pointPromotionCampaign: \"pointPromotionCampaign\",\r\n docsAndForms: \"docsAndForms\",\r\n docsAndFormsKiosk: \"docsAndFormsKiosk\",\r\n transworld: \"transworld\",\r\n techSphere: \"techSphere\",\r\n meevoMessenger: \"meevoMessenger\",\r\n meevoMessengerSettings: \"meevoMessengerSettings\",\r\n textelBlast: \"textelBlast\",\r\n salesRankings: \"salesRankings\",\r\n ratingsControlPanel: \"ratingsControlPanel\",\r\n servicesWizard:\"servicesWizard\",\r\n student: \"student\",\r\n help: \"help\",\r\n meevoInspo: \"meevo-inspo\",\r\n referAFriend: \"refer-a-friend\",\r\n meevoFacebook: \"meevoFacebook\",\r\n remoteTraining: \"remote-training\",\r\n clientIntake: \"clientIntake\",\r\n clientIntakeForm: \"clientIntakeForm\",\r\n selfCheckInKiosk: \"selfCheckInKiosk\",\r\n selfCheckInKioskSettings: \"selfCheckInKioskSettings\",\r\n aveda: \"aveda\",\r\n employeeServiceTimesPricing: \"employeeServiceTimesPricing\",\r\n fiveStarRatingSetting: \"fiveStarRatingSetting\",\r\n serviceCharges: \"serviceCharges\",\r\n fameAdvantage: 'fameAdvantage',\r\n adpRunIntegration: \"adpRunIntegration\",\r\n adpWfnIntegration: \"adpWfnIntegration\",\r\n adpWiselyIntegration: \"adpWiselyIntegration\",\r\n royaltyExport: \"royaltyExport\",\r\n quickbooksDesktop: \"quickbooksDesktop\",\r\n reputationManagement: \"reputationManagement\",\r\n localProfileSettings: \"localProfileSettings\",\r\n onlineListingsManagement: \"onlineListingsManagement\",\r\n onlinePresenceAnalytics: \"onlinePresenceAnalytics\",\r\n onlinePresenceSettings: \"onlinePresenceSettings\",\r\n onlinePresenceNotificationSettings: \"onlinePresenceNotificationSettings\",\r\n systemToolbox: \"systemToolbox\",\r\n yieldManagementStrategy: \"yieldManagementStrategy\",\r\n yieldManagementProgram: \"yieldManagementProgram\",\r\n interopSample: \"interopSample\",\r\n newSchedules: \"newSchedules\",\r\n newFormBuilder: \"docs-and-forms\",\r\n newIntakeFormBuilder: \"client-intake-form\",\r\n csvExport: \"dataexport\",\r\n systemVersions: \"systemVersions\",\r\n usageReasons: \"usageReasons\",\r\n paymentPlans: \"payment-plans\",\r\n dashboards: \"dashboards/categories\",\r\n dashboardsLicenses: \"dashboards/licenses\",\r\n paymentRequests: \"payment-requests\",\r\n releaseNotes: \"release-notes\",\r\n pbiDashboards: \"pbi-dashboards\",\r\n advancedDashboardsHelp: \"advancedDashboardsHelp\",\r\n tippy: \"tippy\",\r\n knowledgeArticles: \"knowledgeArticles\"\r\n },\r\n AUDIT_NAMES: {\r\n appointmentCategories: \"Appointment Category Search screen\",\r\n activityLog: \"Activity Log\",\r\n alertsLog: \"Alert Logs\",\r\n alertsManager: \"Alert Manager\",\r\n blockTypes: \"Block Type Search screen\",\r\n businessPreferences: \"Business Preferences screen\",\r\n standingBlocks: \"Block Schedule Search screen\",\r\n basicEmailMarketing: \"Client Selection Export\",\r\n businessTypes: \"Business Type Search screen\",\r\n payroll: \"Payroll\",\r\n cancellationReasons: \"Cancellation Reason Search screen\",\r\n client: \"Client Search screen\",\r\n clientClientType: \"Client Type Search screen\",\r\n clientPoint: \"Client Point Manager Search screen\",\r\n confirmationManager: \"Confirmation Manager screen\",\r\n discounts: \"Discount Search screen\",\r\n distributors: \"Distributor Search screen\",\r\n drawer: \"Drawer Search screen\",\r\n drawerHistory: \"Drawer History screen\",\r\n drawerManager: \"Drawer Manager screen\",\r\n eftControlPanel: \"Eft Control Panel screen\",\r\n egifts: \"Egift\",\r\n shippingFees: \"Shipping Fees\",\r\n employee: \"Employee Search screen\",\r\n employeeCategories: \"Employee Category Search screen\",\r\n employeeTemplates: \"Employee Template Search screen\",\r\n employeeTemplatePromotions: \"Employee Promotion Search screen\",\r\n employeeSupplyUsage: \"Employee Supply Usage screen\",\r\n floorLocation: \"Floor Location Search screen\",\r\n giftCardBalance: \"Gift Card Balance screen\",\r\n giftCardTypes: \"Gift Card Type Search screen\",\r\n home: \"Meevo Home Page\",\r\n imageGalleryCategory: \"Image Gallery Category Search screen\",\r\n inventoryCount: \"Inventory Count Search screen\",\r\n inventoryReturns: \"Inventory Return Search screen\",\r\n inventoryTransfer: \"Inventory Transfer Search screen\",\r\n ipRestrictions: \"IP Restrictions\",\r\n clientMerge: \"IntelliMerge Page\",\r\n clientManualMerge: \"Manual Merge\",\r\n locationGroups: \"Location Group Search screen\",\r\n location: \"Location Maintenance Search screen\",\r\n memberships: \"Membership Search screen\",\r\n membershipCancellation: \"Membership Cancellation Reason Search screen\",\r\n memberBenefitTemplates: \"Member Benefit Template Search screen\",\r\n membershipManager: \"Membership Manager screen\",\r\n membershipTypes: \"Membership Type Search screen\",\r\n marketPricing: \"Market Pricing Search screen\",\r\n saleProgram: \"Mark Items On Sale Search screen\",\r\n manufacturers: \"Manufacturer Search screen\",\r\n merchantAccounts: \"Merchant Account Search screen\",\r\n miscSupplyDefinitions: \"Miscellaneous Supply Search screen\",\r\n notificationTemplates: \"Notification Template Search screen\",\r\n packageTypes: \"Package Search screen\",\r\n packageLookup: \"Package Lookup\",\r\n payinoutreasons: \"Pay In/Out Reason Search screen\",\r\n paymentType: \"Payment Type Search screen\",\r\n product: \"Product Search screen\",\r\n productBulkUpdate: \"Product Bulk Update Search Screen\",\r\n productBundles: \"Product Bundle Search screen\",\r\n productCategories: \"Product Category Search screen\",\r\n profileSettings: \"My Profile screen\",\r\n purchaseOrder: \"Purchase Orders Search screen\",\r\n referralTypes: \"Referral Type Search screen\",\r\n resources: \"Resource Search screen\",\r\n resourceCategory: \"Resource Category Search screen\",\r\n securityRoles: \"Security Role Search screen\",\r\n securityRolesManager: \"Security Roles Manager\",\r\n services: \"Service Search screen\",\r\n addOnGroup: \"Service AddOn Mapping Search screen\",\r\n smartCenters: \"Smart Center Designer Search screen\",\r\n standingAppointments: \"Standing Definition Search screen\",\r\n swapGroups: \"Swap Group\",\r\n transactionEditor: \"Transaction Editor\",\r\n visitNoteTypes: \"Visit Note Type Search screen\",\r\n userDefinedControls: \"User Defined Field\",\r\n walkinManager: \"WalkIn Manager\",\r\n walkinManagerDisplay: \"WalkIn Manager Display\",\r\n walkinManagerKiosk: \"WalkIn Manager Kiosk\",\r\n walkinManagerSettings: \"WalkIn Manager Setting Main Settings\",\r\n workActivities: \"Work Activity Search screen\",\r\n departments: \"Department Search screen\",\r\n pointPromotionCampaign: \"Point Promotion Campaign Search screen\",\r\n dashboardGoals: \"Goals Dashboard\",\r\n docsAndForms: \"Docs And Forms Search screen\",\r\n docsAndFormsKiosk: \"Docs And Forms Kiosk Mode\",\r\n student: \"Student Search screen\",\r\n teachers: \"Teacher Search screen\",\r\n selfCheckInKiosk: \"Self Check-In Kiosk screen\",\r\n serviceCharges: \"Service Charges\",\r\n meevoBi: \"Meevo Business Intelligence\",\r\n adpRunIntegration: \"ADP Integration Screen\",\r\n adpWfnIntegration: \"ADP WFN Integration Screen\",\r\n clientApp:\"MeGo\",\r\n adpWiselyIntegration: \"ADP Wisely Integration Screen\",\r\n royaltyExport: \"Royalty Export\",\r\n accountsync: 'Quickbooks Online',\r\n quickbooksDesktop: \"Quickbooks Desktop\",\r\n systemToolbox: \"System Toolbox\",\r\n yieldManagementStrategy: \"Yield Management Strategy Search screen\",\r\n yieldManagementProgram: \"Yield Management Program Search screen\",\r\n usageReasons:\"Usage Reasons\",\r\n paymentPlans: \"Payment Plan Manager\",\r\n meevoPay: \"MeevoPay\",\r\n tippy: \"Tippy\"\r\n },\r\n REPORT_SERVER_URL: \"/Reports/\",\r\n SECURITY_ACCESS_KEYS: \"\",\r\n SERVER_EVENTS_API_URL: \"\",\r\n SERVER_EVENTS_ENABLED: false,\r\n MEEVO_MODULES_URL: AppSettings.modulesUrl,\r\n INTEROP_URL: AppSettings.interopUrl\r\n }\r\n }\r\n\r\n private static readonly LOCAL_INTEROP_URL = 'http://localhost:4444';\r\n\r\n static get interopUrl(): string {\r\n if (window.location.origin.indexOf('localhost') >= 0) {\r\n return AppSettings.LOCAL_INTEROP_URL;\r\n } else {\r\n return `${window.location.origin}`;\r\n }\r\n }\r\n\r\n static get modulesUrl(): string {\r\n if (window.location.origin.indexOf('localhost') >= 0) {\r\n return AppSettings.LOCAL_INTEROP_URL;\r\n } else {\r\n return `${window.location.origin}/MeevoShellv2`;\r\n }\r\n }\r\n }\r\n angular.module(\"meevo\")\r\n .constant(\"meevo.AppSettings\", AppSettings.Default);\r\n}\r\n","/// \r\n\r\nmodule Meevo.Components {\r\n \"use strict\";\r\n declare var EventSource: any;\r\n declare var window: any;\r\n\r\n enum ReadyStateEnum {\r\n Connecting,\r\n Open,\r\n Closed\r\n }\r\n\r\n export class MeevoPushMessageHandler implements angular.IDirective {\r\n\r\n initiate(locationId?: number) {\r\n const token = window['bearerToken'];\r\n\r\n const source = new EventSource(`${this.appSettings.SERVER_EVENTS_API_URL}/event-stream?sse=${token}`);\r\n \r\n source.addEventListener(\"onMessage\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.PENDING_MESSAGES, data);\r\n });\r\n source.addEventListener(\"onDrawerClosed\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.DRAWER_CLOSED_BY_ANOTHER_WARNING, data);\r\n });\r\n source.addEventListener(\"onNoShow\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.NO_SHOW, data);\r\n });\r\n source.addEventListener(\"onMerchantAccountTipSettingUpdated\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.ENABLE_TIPS_SETTING_UPDATED, data);\r\n });\r\n source.addEventListener(\"onMeevoMessengerMessageReceived\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.TEXTEL_INBOUND_MESSAGE, data);\r\n });\r\n source.addEventListener(\"onMeevoMessengerMessageStatusChange\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.TEXTEL_MESSAGE_STATUS, data);\r\n });\r\n source.addEventListener(\"onMeevoMessengerUnsubscribeMessageReceived\", ({ data }) => {\r\n if (_.contains(JSON.parse(data), this.identityService.current().userId)) this.reconnectToChanel(source);\r\n });\r\n source.addEventListener(\"onTippyTipsSelection\", ({ data }) => {\r\n this.$rootScope.$broadcast(Meevo.Components.Common.Messages.TIPPY_TIPS_SELECTED, data);\r\n });\r\n\r\n source.addEventListener(\"open\", () => {\r\n this.pushMessageHandlerService.isOpen = true;\r\n });\r\n\r\n source.addEventListener(\"error\", () => {\r\n this.pushMessageHandlerService.isOpen = false;\r\n });\r\n\r\n //this.scheduleTokenExpiration(token).then(_ => {\r\n // this.reconnectToChanel(source);\r\n //});\r\n }\r\n\r\n /**\r\n * Renew token and close current eventStream\r\n * @param { EventSource } source\r\n */\r\n private reconnectToChanel(source: any): void {\r\n source.close();\r\n this.initiate();\r\n }\r\n\r\n /*\r\n private scheduleTokenExpiration(expiresAt: Date): ng.IPromise {\r\n const deferred = this.$q.defer();\r\n if (!expiresAt) return deferred.promise;\r\n\r\n const expireDate = moment(expiresAt);\r\n const dateNow = moment();\r\n\r\n const expiresIn = moment.duration(expireDate.diff(dateNow)).as('milliseconds');\r\n\r\n if (expiresIn < 0) return deferred.promise;\r\n\r\n setTimeout(() => {\r\n deferred.resolve();\r\n }, expiresIn);\r\n\r\n return deferred.promise;\r\n }*/\r\n\r\n constructor(private appSettings: Meevo.Components.Common.IAppSettings,\r\n private $rootScope,\r\n private $location,\r\n private identityService,\r\n public $q: ng.IQService,\r\n private pushMessageHandlerService: PushMessageHandlerService) { }\r\n\r\n static factory(): angular.IDirectiveFactory {\r\n let svc = (appSettings,\r\n $rootScope,\r\n $location,\r\n identityService,\r\n $q,\r\n pushMessageHandlerService) => {\r\n return new MeevoPushMessageHandler(appSettings,\r\n $rootScope,\r\n $location,\r\n identityService,\r\n $q,\r\n pushMessageHandlerService);\r\n };\r\n svc.$inject = [\"meevo.AppSettings\",\r\n \"$rootScope\",\r\n \"$location\",\r\n \"meevo.components.common.IdentityService\",\r\n \"$q\",\r\n \"meevo.components.common.meevoPushMessageHandlerService\"];\r\n return svc;\r\n }\r\n }\r\n\r\n angular.module(\"meevo.components.common\")\r\n .factory(\"meevo.components.common.meevoPushMessageHandler\", MeevoPushMessageHandler.factory());\r\n\r\n export class PushMessageHandlerService {\r\n isOpen: boolean = false;\r\n\r\n static factory(): Function {\r\n let svc = () => new PushMessageHandlerService()\r\n \r\n return svc;\r\n }\r\n }\r\n\r\n angular.module(\"meevo.components.common\")\r\n .factory(\"meevo.components.common.meevoPushMessageHandlerService\", PushMessageHandlerService.factory());\r\n}\r\n","/// \r\n\r\nmodule Meevo.AuditHistory {\r\n export class AuditHistoryController {\r\n\r\n static $inject = [\r\n \"$mdDialog\",\r\n \"auditLog\",\r\n \"userId\",\r\n //\"auditcreatedrecord\",\r\n \"userName\"\r\n ];\r\n\r\n constructor(\r\n private $mdDialog: angular.material.IDialogService,\r\n protected auditLog = [],\r\n protected userId: any,\r\n //protected auditcreatedrecord: any,\r\n protected userName: any) {\r\n\r\n var user = this.userId;\r\n var log = this.auditLog;\r\n\r\n }\r\n\r\n close() {\r\n this.$mdDialog.hide();\r\n }\r\n\r\n }\r\n\r\n angular.module(\"meevo\")\r\n .controller(\"meevo.auditHistory.AuditHistoryController\", AuditHistoryController);\r\n}\r\n\r\n","module Meevo {\r\n export class Guid {\r\n protected guid: string = \"00000000000000000000000000000000\";\r\n\r\n constructor(guidStr: string) {\r\n if (guidStr == null || !guidStr) {\r\n return;\r\n }\r\n guidStr = guidStr.replace(/[{}()\\-]/g, \"\");\r\n let regex = /^[0-9a-fA-F]{32}/i;\r\n let matchArray = guidStr.match(regex);\r\n if (!matchArray && guidStr.length === 32) {\r\n throw new TypeError(\"the string passed in is not a valid Guid.\");\r\n }\r\n this.guid = guidStr;\r\n }\r\n\r\n toString(format?: string): string {\r\n if (format === null || format == undefined) {\r\n format = \"D\";\r\n }\r\n format = format.toUpperCase();\r\n if (!format.match(/^[NDBP]/)) {\r\n throw new TypeError(\"the string passed in is not a valid format.\");\r\n }\r\n let result: string = \"\";\r\n switch (format) {\r\n case \"B\":\r\n result += \"{\";\r\n break;\r\n case \"P\":\r\n result += \"(\";\r\n break;\r\n\r\n default:\r\n }\r\n for (let i = 0; i < 32; i++) {\r\n if (i === 8 || i === 12 || i === 16 || i === 20) {\r\n result = result + \"-\";\r\n }\r\n result += String.fromCharCode(this.guid.charCodeAt(i));\r\n if (format === \"N\") {\r\n continue;\r\n }\r\n }\r\n switch (format) {\r\n case \"B\":\r\n result += \"}\";\r\n break;\r\n case \"P\":\r\n result += \")\";\r\n break;\r\n\r\n default:\r\n }\r\n return result;\r\n }\r\n\r\n static empty: Guid = new Guid(\"00000000-0000-0000-0000-000000000000\");\r\n\r\n static toString(guid: Guid, format?: string) {\r\n try {\r\n return new Guid(guid.toString()).toString(format);\r\n } catch (e) {\r\n return guid == null ? guid : guid.toString();\r\n }\r\n }\r\n\r\n static newGuid(): Guid {\r\n let result: string;\r\n let char: string;\r\n\r\n result = \"\";\r\n for (let i = 0; i < 32; i++) {\r\n char = Math.floor(Math.random() * 16).toString(16).toUpperCase();\r\n result = result + char;\r\n }\r\n return new Guid(result);\r\n }\r\n\r\n static newSqlSequentialGuid(): Guid {\r\n let baseUtc = 2208988800000; // Total number of millisenconds between 1900-1-1 and 1970-1-1\r\n let now = new Date();\r\n let nowUtc = now.getTime() + now.getTimezoneOffset() * 60 * 1000;\r\n let days = Math.floor((nowUtc + baseUtc) / 1000 / 60 / 60 / 24);\r\n let msecs = Math.floor((now.getUTCHours() * 60 * 60 * 1000) +\r\n (now.getUTCMinutes() * 60 * 1000) +\r\n (now.getUTCSeconds() * 1000) +\r\n (now.getUTCMilliseconds()));\r\n // we reverse the byte arrays to match SQL Server ordering.\r\n let daysArray = days.getByteArray().reverse();\r\n // Note that SQL Server is accurate to 1/300th of a millisecond so we divide by 3.33333333 \r\n let msecsArray = Math.floor(msecs / 3.33333333).getByteArray(8).reverse();\r\n\r\n let result = \"\";\r\n for (let i = 0; i < 20; i++) {\r\n result = result + Math.floor(Math.random() * 16).toString(16);\r\n }\r\n result += daysArray[daysArray.length - 2].toString(16).padLeft(2, \"0\");\r\n result += daysArray[daysArray.length - 1].toString(16).padLeft(2, \"0\");\r\n result += msecsArray[msecsArray.length - 4].toString(16).padLeft(2, \"0\");\r\n result += msecsArray[msecsArray.length - 3].toString(16).padLeft(2, \"0\");\r\n result += msecsArray[msecsArray.length - 2].toString(16).padLeft(2, \"0\");\r\n result += msecsArray[msecsArray.length - 1].toString(16).padLeft(2, \"0\");\r\n return new Guid(result);\r\n }\r\n\r\n private static getByteArray(value: number, arrayLenght = 4): number[] {\r\n let result: number[] = [];\r\n while (value > 0) {\r\n let byte = value & 0xff;\r\n result.push(byte);\r\n value = (value - byte) / 256;\r\n if (result.length === arrayLenght) {\r\n return result;\r\n }\r\n }\r\n for (let i = result.length; i <= arrayLenght; i++) {\r\n result.push(0);\r\n }\r\n return result;\r\n }\r\n\r\n static equals(guid1: Guid, guid2: Guid): boolean {\r\n try {\r\n return new Guid(guid1.toString()).toString(\"N\") === new Guid(guid2.toString()).toString(\"N\");\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n equals(guid: Guid): boolean {\r\n try {\r\n return this.toString(\"N\") === new Guid(guid.toString()).toString(\"N\");\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n valueOf(): string {\r\n return this.toString(\"N\");\r\n }\r\n }\r\n\r\n // 7/30/2015 Alex & David.\r\n // we had tyo create this prototype function in the String \r\n // cause when the Guids get returned from the server\r\n // they get returned as strings, so there is a possibility \r\n // when comparing what we think is a guid in reallity is a string.\r\n // this function will resolve that prb.\r\n String.prototype.equals = function(str: any): boolean {\r\n try {\r\n return Guid.equals(new Guid(this), new Guid(str.toString()));\r\n }\r\n catch (e) {\r\n return this === str;\r\n }\r\n }\r\n String.prototype.padLeft = function (lenght: number, paddingChar = \" \"): string {\r\n let padding = \"\";\r\n try {\r\n paddingChar = paddingChar.substr(0, 1);\r\n }\r\n catch (e) {\r\n paddingChar = \" \";\r\n }\r\n for (let i = this.length; i < lenght; i++) {\r\n padding = padding + paddingChar;\r\n }\r\n return padding + this;\r\n }\r\n String.prototype.padRight = function (lenght: number, paddingChar = \" \"): string {\r\n let padding = \"\";\r\n try {\r\n paddingChar = paddingChar.substr(0, 1);\r\n }\r\n catch (e) {\r\n paddingChar = \" \";\r\n }\r\n for (let i = this.length; i < lenght; i++) {\r\n padding = padding + paddingChar;\r\n }\r\n return this + padding;\r\n }\r\n\r\n Number.prototype.getByteArray = function (arrayLenght = 4): number[] {\r\n let result: number[] = [];\r\n let value = this;\r\n while (value > 0) {\r\n let byte = value & 0xff;\r\n result.push(byte);\r\n value = (value - byte) / 256;\r\n if (result.length === arrayLenght) {\r\n return result;\r\n }\r\n }\r\n for (let i = result.length; i <= arrayLenght; i++) {\r\n result.push(0);\r\n }\r\n return result;\r\n }\r\n}\r\n\r\ninterface String {\r\n equals(str: any): boolean;\r\n padLeft(lenght: number, paddingChar: string): string;\r\n padRight(lenght: number, paddingChar: string): string;\r\n}\r\ninterface Number {\r\n getByteArray(arrayLenght?: number): number[];\r\n}","/// \r\n/// \r\n\r\nmodule Meevo.Components.BaseClasses {\r\n\r\n /**\r\n * Concrete implementation of IDataService.\r\n * Provides core functionality of maintenance forms.\r\n */\r\n export abstract class DataServiceBase implements IDataService {\r\n\r\n get Promise(): angular.IQService {\r\n return this.$q;\r\n }\r\n\r\n constructor(protected appSettings: Meevo.Components.Common.IAppSettings,\r\n protected $http: angular.IHttpService,\r\n protected $q: angular.IQService,\r\n protected identityService: Meevo.Components.Common.IIdentityService,\r\n protected $cookies: angular.cookies.ICookiesService)\r\n {\r\n\r\n }\r\n\r\n /**\r\n * Returns whether or not the request meets validation requirements.\r\n * @param {Model.ClientValidate} request\r\n * @return {IPromise}\r\n */\r\n validate(baseEndpoint: string, request: any) {\r\n let uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/Validation/`;\r\n return this.$http.post(uri, request)\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Retrieves item data by id\r\n * @param {string} baseEndpoint - base end point\r\n * @param {Guid} [id] - item id\r\n * @param {string} [sectionEndpoint] - section end point\r\n * @return {IPromise}\r\n */\r\n getItem(baseEndpoint: string, id?: Guid, sectionEndpoint?: string): angular.IPromise {\r\n let uri = '';\r\n\r\n if (id && sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`;\r\n } else if (id) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}`;\r\n }\r\n\r\n return this.$http.get(uri)\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Retrieves search results for a maintenance form item based on the supplied request.\r\n * @param {Model.SearchPage} request\r\n * @return {IPromise}\r\n */\r\n getListPaged(baseEndpoint: string, request: Model.SearchPage): angular.IPromise;\r\n getListPaged(baseEndpoint: string, request: Model.SearchPage, id?: Guid, sectionEndpoint?: string, requestConfig?: Object): angular.IPromise {\r\n let uri = \"\";\r\n if (id && sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}/List/`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/List/`;\r\n }\r\n\r\n if (!requestConfig) {\r\n requestConfig = {};\r\n }\r\n\r\n return this.$http.post(uri, request, requestConfig)\r\n .then((response) => response.data);\r\n }\r\n\r\n getCount(baseEndpoint: string, request: Model.SearchCount): angular.IPromise;\r\n getCount(baseEndpoint: string, request: Model.SearchCount, id?: Guid, sectionEndpoint?: string): angular.IPromise {\r\n\r\n let uri = \"\";\r\n if (id && sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}/Count/`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/Count/`;\r\n }\r\n\r\n return this.$http.post(uri, request)\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Retrieves a maintenance form section for an item matching the supplied id at the specified endpoint.\r\n * @param {Guid} id\r\n * @param {string} endpoint\r\n * @return {IPromise}\r\n */\r\n getSectionById(baseEndpoint: string, id: Guid, sectionEndpoint: string): angular.IPromise;\r\n getSectionById(baseEndpoint: string, id: Guid, sectionEndpoint: string, asLocationId?: number): angular.IPromise {\r\n\r\n var localParams: any = {};\r\n if (asLocationId !== null)\r\n localParams.asLocationId = asLocationId;\r\n\r\n return this.$http.get(`/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`, { params: localParams })\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Deletes the item corresponding to the supplied id.\r\n * @param {Guid} id\r\n * @return {IPromise}\r\n */\r\n\r\n delete(baseEndpoint: string, id: Guid, entityVersion: number, asLocationId?: number): angular.IPromise;\r\n delete(baseEndpoint: string, id: Guid, entityVersion: number, asLocationId?: number, sectionEndpoint?: string, sectionItemId?: Guid, params = {}): angular.IPromise {\r\n let uri = \"\";\r\n if (sectionEndpoint && sectionItemId) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}/${sectionItemId}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}`;\r\n }\r\n\r\n var localParams: any = { entityVersion: entityVersion };\r\n if (asLocationId !== null)\r\n localParams.asLocationId = asLocationId;\r\n\r\n angular.extend(localParams, params);\r\n\r\n return this.$http.delete(uri, {\r\n params: localParams\r\n })\r\n .then((response) => response.data);\r\n }\r\n\r\n deleteWithJsonBody(baseEndpoint: string, data: any): angular.IPromise {\r\n let uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/`;\r\n return this.customMethodData(uri, 'DELETE', data)\r\n .then((res) => {\r\n if (res.status == 409) {\r\n var data: any = res.data;\r\n data.isWarning = true;\r\n }\r\n return res.data;\r\n });\r\n }\r\n\r\n deleteFile(baseEndpoint: string, data: any): angular.IPromise;\r\n deleteFile(baseEndpoint: string, data: any, sectionEndpoint?: string, sectionItemId?: Guid): angular.IPromise {\r\n let uri = \"\";\r\n\r\n console.log(\"identity: \", this.identityService.current());\r\n let identity = this.identityService.current();\r\n document.cookie = \"ssid=\" + identity.id;\r\n if (sectionEndpoint && sectionItemId) {\r\n uri = `${baseEndpoint}${sectionEndpoint}/${sectionItemId}`;\r\n } else {\r\n uri = `${baseEndpoint}`;\r\n }\r\n let jwtToken = sessionStorage.getItem('mil:meevo:token');\r\n\r\n return this.$http.delete(\r\n uri,\r\n {\r\n data: data,\r\n withCredentials: true,\r\n headers: {\r\n \"Content-Type\": \"application/json;charset=utf-8\",\r\n 'Accept': 'application/json',\r\n 'Authorization': `Bearer ${jwtToken}`,\r\n }\r\n }).then((response) => response.data);\r\n }\r\n\r\n /**\r\n* Allows the user to customize an API call his their specific needs.\r\n* params: uri, method & data\r\n* @returns {}\r\n*/\r\n customMethodData(uri: string, method: string, data: any): angular.IPromise;\r\n customMethodData(uri: string, method: string, data: any, params?: any): angular.IPromise;\r\n customMethodData(uri: string, method: string, data: any, params?: any): angular.IPromise {\r\n if (params) {\r\n return this.$http({\r\n url: uri,\r\n method: method,\r\n params: params,\r\n data: data,\r\n headers: { \"Content-Type\": \"application/json;charset=utf-8\" }\r\n })\r\n .then((res) => {\r\n return res;\r\n });\r\n }\r\n else {\r\n return this.$http({\r\n url: uri,\r\n method: method,\r\n data: data,\r\n headers: { \"Content-Type\": \"application/json;charset=utf-8\"}\r\n })\r\n .then((res) => {\r\n return res;\r\n });\r\n }\r\n\r\n }\r\n\r\n getTotalCount(baseEndpoint: string): angular.IPromise {\r\n return this.$http.get(`/${this.appSettings.API_ROOT}/${baseEndpoint}/totalCount`)\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Undeletes the item corresponding to the supplied id.\r\n * @param {Guid} id\r\n * @return {IPromise}\r\n */\r\n undelete(baseEndpoint: string, id: Guid, entityVersion: number, asLocationId?: number): angular.IPromise;\r\n undelete(baseEndpoint: string, id: Guid, entityVersion: number, asLocationId?: number, sectionEndpoint?: string, sectionItemId?: Guid): angular.IPromise {\r\n let uri = \"\";\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}/${sectionItemId}/undelete`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/undelete/`;\r\n }\r\n\r\n var localParams: any = { entityVersion: entityVersion };\r\n if (asLocationId !== null)\r\n localParams.asLocationId = asLocationId;\r\n\r\n return this.$http.delete(uri, {\r\n params: localParams\r\n })\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Persists an add for the supplied entity.\r\n * @param {any} entity\r\n * @return {IPromise}\r\n */\r\n add(baseEndpoint: string, entity: any): angular.IPromise;\r\n add(baseEndpoint: string, entity: any, id?: Guid, sectionEndpoint?: string): angular.IPromise {\r\n let uri = \"\";\r\n\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}`;\r\n }\r\n return this.$http.post(uri, entity)\r\n .then((response) => {\r\n if (response.status == 409) {\r\n var data: any = response.data;\r\n data.isWarning = true;\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n addFile(baseEndpoint: string, entity: any): angular.IPromise;\r\n addFile(baseEndpoint: string, entity: any, id?: Guid, sectionEndpoint?: string): angular.IPromise {\r\n let uri = \"\";\r\n\r\n console.log(\"identity: \", this.identityService.current());\r\n let identity = this.identityService.current();\r\n //let cookie = this.$cookies.put(\"ssid\", identity.id);\r\n\r\n document.cookie = \"ssid=\" + identity.id;\r\n console.log(\"COOKIES!: \",this.$cookies.getAll());\r\n if (sectionEndpoint) {\r\n uri = `${baseEndpoint}${id}/${sectionEndpoint}`;\r\n } else {\r\n uri = `${baseEndpoint}`;\r\n }\r\n //withCredentials: true,\r\n let jwtToken = sessionStorage.getItem('mil:meevo:token');\r\n\r\n return this.$http.post(`${uri}`, entity, {\r\n withCredentials: true, headers: {\r\n \"Content-Type\": \"application/json\",\r\n 'Accept': 'application/json',\r\n 'Authorization': `Bearer ${jwtToken}`,\r\n }\r\n })\r\n .then((response) => {\r\n if (response.status == 409) {\r\n var data: any = response.data;\r\n data.isWarning = true;\r\n }\r\n return response.data;\r\n });\r\n }\r\n /**\r\n * Persists an update for the supplied entity.\r\n * @param {T} entity\r\n * @param {Guid} id\r\n * @param {string} sectionEndpoint\r\n * @return {IPromise}\r\n */\r\n update(baseEndpoint: string, entity: any): angular.IPromise;\r\n update(baseEndpoint: string, entity: any, id?: Guid, sectionEndpoint?: string, asLocationId?: number): angular.IPromise {\r\n let uri = \"\";\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/`;\r\n }\r\n\r\n var localParams: any = {};\r\n if (asLocationId !== undefined && asLocationId !== null)\r\n localParams.asLocationId = asLocationId;\r\n\r\n return this.$http.put(uri, entity, {\r\n params: localParams\r\n })\r\n .then((response) => {\r\n if (response.status == 409) {\r\n var data: any = response.data;\r\n data.isWarning = true;\r\n }\r\n if (response.status == 422) {\r\n var data: any = response.data;\r\n data.isValidationException = true;\r\n }\r\n return response.data;\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Patches the object state member for the item corresponding to the supplied id\r\n * @param baseEndpoint\r\n * @param id\r\n * @param entityVersion\r\n * @param objectState\r\n * @param asLocationId\r\n */\r\n objectStatePatch(baseEndpoint: string, id: Guid, entityVersion: number, objectState: number, asLocationId?: number): angular.IPromise;\r\n objectStatePatch(baseEndpoint: string, id: Guid, entityVersion: number, objectState: number, asLocationId?: number, sectionEndpoint?: string, suppressWarnings?: boolean): angular.IPromise {\r\n let uri = \"\";\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}`;\r\n }\r\n\r\n var localParams: any = { entityVersion: entityVersion, objectState: objectState };\r\n if (asLocationId !== null)\r\n localParams.asLocationId = asLocationId;\r\n\r\n if (suppressWarnings !== null)\r\n localParams.suppressWarnings = suppressWarnings;\r\n\r\n return this.customMethodData(uri, 'PATCH', localParams)\r\n .then((res) => {\r\n if (res.status == 409) {\r\n var data: any = res.data;\r\n data.isWarning = true;\r\n }\r\n return res.data;\r\n });\r\n }\r\n\r\n /**\r\n * Persists a patch for the supplied entity.\r\n * @param {T} entity\r\n * @param {Guid} id\r\n * @param {string} sectionEndpoint\r\n * @return {IPromise}\r\n */\r\n patchArray(baseEndpoint: string, entity: any): angular.IPromise;\r\n patchArray(baseEndpoint: string, entity: any, id?: Guid, sectionEndpoint?: string): angular.IPromise {\r\n let uri = \"\";\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/`;\r\n }\r\n\r\n return this.$http({\r\n method: 'PATCH', url: uri, data: entity, transformRequest: function (data, headerGetter) {\r\n var output = [];\r\n for (var i = 0; i < _.keys(data).length; i++) {\r\n output.push(data[i]);\r\n }\r\n return angular.toJson(output);\r\n }\r\n }).then((response) => response.data);\r\n }\r\n\r\n patch(baseEndpoint: string, entity: any): angular.IPromise;\r\n patch(baseEndpoint: string, entity: any, id?: Guid): angular.IPromise;\r\n patch(baseEndpoint: string, entity: any, id?: Guid, sectionEndpoint?: string): angular.IPromise;\r\n patch(baseEndpoint: string, entity: any, id?: Guid, sectionEndpoint?: string): angular.IPromise {\r\n let uri = \"\";\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}`;\r\n } else if (id) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/`;\r\n }\r\n return this.$http.patch(uri, entity)\r\n .then((res) => {\r\n if (res.status == 409) {\r\n var data: any = res.data;\r\n data.isWarning = true;\r\n }\r\n return res.data;\r\n });\r\n }\r\n\r\n /**\r\n * Cache used to store enum values.\r\n */\r\n private static enumCache: Meevo.Components.BaseClasses.ICache> = {};\r\n\r\n /**\r\n * Retrieves a list of enumerations belonging to the supplied enumType\r\n * This will cache the values for future reference.\r\n * @param {Model.EnumTypeEnum} - enumType\r\n * return {Model.EnumDto[]>}\r\n */\r\n getEnumList(...enumTypes: Model.EnumTypeEnum[]): angular.IPromise {\r\n let deferred = this.$q.defer();\r\n let listOfEnums: Model.EnumDto[] = [];\r\n\r\n let uncachedEnumTypes: Model.EnumTypeEnum[] = [];\r\n enumTypes.forEach((enumType, ndx) => {\r\n let cachedEnum = DataServiceBase.enumCache[enumType.toString()];\r\n if (_.isUndefined(cachedEnum)) {\r\n uncachedEnumTypes.push(enumType);\r\n }\r\n else {\r\n listOfEnums.push(...cachedEnum);\r\n }\r\n });\r\n\r\n if (uncachedEnumTypes.length > 0) {\r\n\r\n /* Use this.appSettings.APP_LANGUAGEID When DB Is Ready */\r\n let languageId = this.appSettings.APP_LANGUAGEID;\r\n\r\n this.$http.get(`/${this.appSettings.API_ROOT}/System/Enums/?enumTypes=${uncachedEnumTypes.join(\",\")}&languageId=${languageId}`)\r\n .then((response) => {\r\n let enums = _.chain(response.data).each((item: Model.EnumDto) => { item.labelId = \"ENUM_LABEL_\" + item.id; }).groupBy((item: Model.EnumDto) => { return item.enumTypeId; }).value();\r\n for (var key in enums) {\r\n DataServiceBase.enumCache[key.toString()] = >enums[key];\r\n listOfEnums.push(...>enums[key]);\r\n }\r\n deferred.resolve(listOfEnums);\r\n });\r\n }\r\n else {\r\n deferred.resolve(listOfEnums);\r\n }\r\n\r\n return deferred.promise;\r\n }\r\n\r\n /**\r\n * Retrieves a list of enumerations belonging to the supplied enumType\r\n * This will cache the values for future reference.\r\n * @param {Model.EnumTypeEnum} - enumType\r\n * return {Model.EnumDto[]>}\r\n */\r\n getSettings(settingType: Model.BusinessSettingCategoryEnum, location:any): angular.IPromise {\r\n let deferred = this.$q.defer();\r\n var settingUrl = `/${this.appSettings.API_ROOT}/settings/${Model.BusinessSettingCategoryEnum[settingType]}`;\r\n if (location) {\r\n settingUrl = settingUrl + '?asLocationId=' + location.id;\r\n }\r\n this.$http.get(settingUrl)\r\n .then((response) => {\r\n deferred.resolve(response.data);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n /**\r\n * Gets a template represenation of the object at the specified endpoint.\r\n * @param baseEndpoint\r\n * @param {Guid} id\r\n * @param {string} sectionEndpoint\r\n * @return {IPromise}\r\n */\r\n getTemplate(baseEndpoint: string): angular.IPromise;\r\n getTemplate(baseEndpoint: string, id?: Guid, sectionEndpoint?: string): angular.IPromise;\r\n getTemplate(baseEndpoint: string, id?: Guid, sectionEndpoint?: string, localParams?: any): angular.IPromise {\r\n let uri = \"\";\r\n\r\n if (sectionEndpoint) {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/${id}/${sectionEndpoint}/template`;\r\n } else {\r\n uri = `/${this.appSettings.API_ROOT}/${baseEndpoint}/template`;\r\n }\r\n\r\n return this.$http.get(uri, { params: localParams })\r\n .then((response) => response.data);\r\n }\r\n\r\n /**\r\n * Creates a usage tracking entry.\r\n * @param noun\r\n * @param verb\r\n * @param details\r\n */\r\n trackUsage(noun: Meevo.Model.NounEnum, verb: Meevo.Model.VerbEnum, details: any): angular.IPromise;\r\n trackUsage(noun: Meevo.Model.NounEnum, verb: Meevo.Model.VerbEnum, details: any, mainEntityId?: Guid): angular.IPromise;\r\n trackUsage(noun: Meevo.Model.NounEnum, verb: Meevo.Model.VerbEnum, details: any, mainEntityId?: Guid, shortDescription?: string): angular.IPromise {\r\n\r\n let request: any = {\r\n noun: noun,\r\n verb: verb,\r\n mainEntityId: mainEntityId,\r\n details: details,\r\n shortDescription: shortDescription\r\n };\r\n\r\n return this.$http.post(`/${this.appSettings.API_ROOT}/UsageTracking`, request)\r\n .then((response) => response.data);\r\n }\r\n }\r\n}","/// \r\n/// \r\n///\r\n\r\n\r\nmodule Meevo.Components.BaseClasses {\r\n\r\n import IAppAreaTab = Meevo.Model.IAppAreaTab;\r\n import IShortCutGroup = Meevo.Components.ShortCuts.IShortCutGroup;\r\n\r\n interface IAnswerItem {\r\n control_TId: Guid,\r\n item_TId?: Guid,\r\n displayValue?: string,\r\n customDataResourceObject?: Meevo.Model.ICustomDataResource,\r\n answerItems?: Array