{"version":3,"sources":["pdf/pdfjs.ts","api/base.ts","api/common.ts","api/api.ts","api/configuration.ts","services/api.ts","pdf/shared/utils.ts","services/alerts.ts","app/widgets/Alerts.tsx","app/icons/accurate-icon.svg","app/icons/active-users.svg","app/icons/add-new.svg","app/icons/all-permissions-granted.svg","app/icons/all-stores.svg","app/icons/analytics.svg","app/icons/android-logo.svg","app/icons/app-customers.svg","app/icons/animated/AppReg.tsx","app/icons/app-downloads.svg","app/icons/app-store.svg","app/icons/apple-logo.svg","app/icons/avatar-placeholder.svg","app/icons/avg-visit-duration.svg","app/icons/beacon-area.svg","app/icons/beacon-tab2.svg","app/icons/beaconsmind.svg","app/icons/blog-post.svg","app/icons/bluetooth-enabled.svg","app/icons/bounce-rate.svg","app/icons/calendar-white.svg","app/icons/calendar.svg","app/icons/campaigns.svg","app/icons/categories.svg","app/icons/change-log.svg","app/icons/clock.svg","app/icons/conversion-stats.svg","app/icons/conversion.svg","app/icons/converted-message-icon.svg","app/icons/converting-message-trigger.svg","app/icons/customer-segments.svg","app/icons/down-arrow-red.svg","app/icons/download.svg","app/icons/dropdown.svg","app/icons/featured-item.svg","app/icons/featured-items.svg","app/icons/frame.svg","app/icons/health-check.svg","app/icons/heatmap.svg","app/icons/help-center.svg","app/icons/hot-prospect.svg","app/icons/hourglass.svg","app/icons/house-menu.svg","app/icons/in-store.svg","app/icons/item-list.svg","app/icons/location-green.svg","app/icons/location-lightgreen.svg","app/icons/location-red.svg","app/icons/location-yellow.svg","app/icons/locations.svg","app/icons/loyal-customer.svg","app/icons/maximum-time.svg","app/icons/menu.svg","app/icons/minimum-time.svg","app/icons/mute-notification.svg","app/icons/new-app-customers.svg","app/icons/new-returning.svg","app/icons/new-visitors.svg","app/icons/notification.svg","app/icons/page-next.svg","app/icons/page-previous.svg","app/icons/peak-day.svg","app/icons/peak-time.svg","app/icons/pin.svg","app/icons/plus.svg","app/icons/product.svg","app/icons/push-notification-tick.svg","app/icons/push-notification.svg","app/icons/qr-code.svg","app/icons/recurring-visit.svg","app/icons/repeat-purchase.svg","app/icons/returning-visitors.svg","app/icons/revenue.svg","app/icons/right-arrow-next.svg","app/icons/settings.svg","app/icons/sort-down.svg","app/icons/sort-up.svg","app/icons/sort.svg","app/icons/spy-glass.svg","app/icons/stopwatch.svg","app/icons/store-visit.svg","app/icons/store.svg","app/icons/switzerland.svg","app/icons/table-row.svg","app/icons/three-dots.svg","app/icons/total-customers.svg","app/icons/transaction-dollar.svg","app/icons/transaction-vertical.svg","app/icons/transaction.svg","app/icons/up-arrow-green.svg","app/icons/upload.svg","app/icons/user-location.svg","app/icons/user-management.svg","app/icons/vip-customer.svg","deployments.tsx","services/hooks.ts","services/objects.ts","services/streams.ts","state/authentication.ts","state/configuration.ts","state/deployment.tsx","services/date.ts","services/format.ts","services/localization.ts","data/texts.ts","services/tooltip.ts","state/globalFilters.ts","app/widgets/Legend.tsx","app/widgets/Loading.tsx","app/widgets/MapWithMarkers.tsx","app/cards/analytics-heatmap/StoreLayoutHeatmap.tsx","app/cards/analytics-heatmap/simple-maps/MapProvider.js","app/cards/analytics-heatmap/simple-maps/ComposableMap.tsx","app/cards/analytics-heatmap/simple-maps/utils.js","app/cards/analytics-heatmap/simple-maps/useGeographies.js","app/cards/analytics-heatmap/simple-maps/Geographies.js","app/cards/analytics-heatmap/simple-maps/Geography.js","app/cards/analytics-heatmap/simple-maps/useZoomPan.js","app/cards/analytics-heatmap/WorldHeatmap.tsx","app/cards/analytics-heatmap/Heatmap.tsx","app/cards/Card.tsx","app/modals/Modal.tsx","app/widgets/ValidationError.tsx","app/forms/Select.tsx","app/widgets/PaginatedView.tsx","app/forms/Input.tsx","app/widgets/Pagination.tsx","app/widgets/PaginatedTable.tsx","app/tables/notifications/LabelCampaign.tsx","services/string.ts","app/widgets/Avatar.tsx","app/tables/notifications/NotificationUsersTable.tsx","app/tables/notifications/NotificationsTable.tsx","app/tables/notifications/TopNotifications.tsx","app/tables/TopAreas.tsx","app/tables/BeaconDataTable.tsx","app/tables/TopBeacons.tsx","services/table.ts","state/globalSearch.ts","app/widgets/HighlightedString.tsx","app/tables/CustomerDataTable.tsx","app/tables/TopCustomers.tsx","app/tables/ProductsTable.tsx","app/tables/TopProducts.tsx","app/tables/StoresTable.tsx","app/tables/TopStores.tsx","app/forms/DateRange.tsx","app/widgets/TimeBeacons.tsx","app/widgets/TimeLocation.tsx","app/widgets/PageHeaders.tsx","app/cards/StatsCardWithTrend.tsx","app/tables/analytics/AppInteractionUsersTable.tsx","app/tables/analytics/AppRevenueUsersTable.tsx","app/tables/analytics/AppTransactionUsersTable.tsx","app/tables/analytics/AvgTransactionQuantityUsersTable.tsx","app/tables/analytics/AvgTransactionValueUsersTable.tsx","app/tables/analytics/RedemptionUsersTable.tsx","app/tables/analytics/SalesConversionUsersTable.tsx","app/tables/analytics/TimeSpentUsersTable.tsx","app/tables/analytics/VisitingUsersTable.tsx","pages/analytics/BottomRow.tsx","app/cards/StatsCardSimple.tsx","app/tables/analytics/AppDownloadsTable.tsx","app/tables/analytics/AppOpensTable.tsx","app/tables/analytics/AppRegistrationsTable.tsx","app/tables/analytics/ConvertedUsersTable.tsx","app/tables/analytics/NewCustomersTable.tsx","app/tables/analytics/TotalAppCustomersTable.tsx","app/tables/analytics/TotalAppUsersTable.tsx","pages/analytics/TopRow.tsx","pages/Analytics.tsx","app/tables/AppTouchpointsTable.tsx","app/widgets/Graph.tsx","pages/app-touchpoints/TouchpointGraph.tsx","pages/app-touchpoints/TouchpointsWithoutRevenue.tsx","pages/app-touchpoints/TouchpointsWithRevenue.tsx","pages/AppTouchpoints.tsx","services/validators.ts","app/forms/Checkbox.tsx","app/modals/utils.tsx","app/modals/EditBeacon.tsx","pages/Beacons.tsx","app/widgets/PaginatedCards.tsx","app/cards/BlogPostCard.tsx","app/forms/AlertMissingValidationErrors.tsx","app/forms/ImageUpload.tsx","app/forms/LanguagePicker.tsx","app/modals/EditBlogPost.tsx","pages/BlogPosts.tsx","app/cards/CampaignCard.tsx","app/forms/date-picker/FormDatePicker.tsx","app/modals/EditCampaign.tsx","pages/Campaigns.tsx","app/tables/PropertyChanges.tsx","pages/ChangeLog.tsx","pages/CustomerVisitsGraph.tsx","pages/customer-data/InteractionBasedStatistics.tsx","pages/customer-data/RevenueBasedStatistics.tsx","pages/CustomerData.tsx","pages/CustomerDetails.tsx","services/useBreakpoint.ts","app/cards/CustomerSegmentCard.tsx","app/modals/EditCustomerSegment.tsx","pages/CustomerSegments.tsx","app/cards/FeaturedItemCard.tsx","app/modals/EditFeaturedItem.tsx","pages/FeaturedItems.tsx","pages/HealthCheck.tsx","app/tables/LocationOverviewStores.tsx","app/tables/LocationOverviewBeacons.tsx","app/world-map/Constants.ts","app/world-map/Helpers.ts","app/world-map/RequestAuthenticator.ts","app/world-map/AzureMapsTiles.ts","app/forms/LocationPicker.tsx","app/world-map/Types.ts","app/modals/EditStore.tsx","app/widgets/StoreLocationMap.tsx","pages/LocationOverview.tsx","app/modals/forms/audience-editors/common.tsx","app/modals/forms/audience-editors/AgeEditor.tsx","app/modals/forms/audience-editors/BirthdayEditor.tsx","app/modals/forms/audience-editors/ClickAndCollectEditor.tsx","app/modals/forms/audience-editors/inputs/LocationInput.tsx","app/modals/forms/audience-editors/CustomerEngagementEditor.tsx","app/modals/forms/audience-editors/CustomerSegmentEditor.tsx","app/modals/forms/audience-editors/ExistingOfferEditor.tsx","app/modals/forms/audience-editors/FavoriteStoreEditor.tsx","app/modals/forms/audience-editors/GenderEditor.tsx","app/forms/date-picker/DatePicker.tsx","app/modals/forms/audience-editors/inputs/FixedDateInput.tsx","app/modals/forms/audience-editors/inputs/RelativeTimeInput.tsx","app/modals/forms/audience-editors/inputs/TimeSpanRangeInput.tsx","app/modals/forms/audience-editors/LastBeaconContactEditor.tsx","app/modals/forms/audience-editors/LiveBeaconContactEditor.tsx","app/modals/forms/audience-editors/LoyalCustomersEditor.tsx","services/number.ts","app/modals/forms/audience-editors/inputs/NumberOrPercentInput.tsx","app/modals/forms/audience-editors/MostActiveCustomersEditor.tsx","app/modals/forms/audience-editors/MostStoreVisitsEditor.tsx","app/modals/forms/audience-editors/NewRegistrationsEditor.tsx","app/modals/forms/audience-editors/ProducePreferenceEditor.tsx","app/modals/forms/audience-editors/inputs/PurchaseCheckInput.tsx","app/modals/forms/AudienceEditors.tsx","app/modals/forms/audience-editors/inputs/RateOfOccurenceInput.tsx","app/modals/forms/audience-editors/ProductAndPurchasesEditor.tsx","app/modals/forms/audience-editors/ReturningCustomersEditor.tsx","app/modals/forms/audience-editors/SpecificBeaconContactEditor.tsx","app/modals/forms/audience-editors/VipCustomersEditor.tsx","app/modals/forms/audience-editors/VisitsWithoutPurchaseEditor.tsx","app/modals/forms/AudienceForm.tsx","app/cards/MessageImage.tsx","app/cards/MessageCard.tsx","app/modals/forms/DeepLinkForm.tsx","app/forms/ReactQuill.tsx","app/forms/RichText.tsx","app/forms/ComplexSelector.tsx","app/forms/SchedulePicker.tsx","app/forms/ValidityPicker.tsx","app/modals/forms/ScheduleForm.tsx","app/modals/forms/MessageForm.tsx","services/token.ts","app/modals/EditMessage.tsx","app/widgets/YearMonthPicker.tsx","pages/Messages.tsx","app/cards/ProductCategoryCard.tsx","app/modals/EditProductCategory.tsx","pages/ProductCategories.tsx","app/cards/ProductCard.tsx","app/modals/EditProduct.tsx","pages/Products.tsx","app/tables/notifications/LocalGlobal.tsx","pages/PushNotificationCampaigns.tsx","app/tables/AppSalesByCustomerType.tsx","app/widgets/Circles.tsx","app/widgets/Demographics.tsx","pages/revenue-statistics/ShopperTrends.tsx","pages/RevenueStatistics.tsx","pages/Stores.tsx","app/tables/DailyVisitingAnalytics.tsx","app/tables/TopVisitors.tsx","pages/visitor-statistics/BottomRowStatistics.tsx","pages/visitor-statistics/TopRowStatistics.tsx","pages/VisitorStatistics.tsx","pages/contact-tracking/ContactUsers.tsx","pages/contact-tracking/ContactTracking.tsx","pages/customer-utils/LiveContactTracking.tsx","pages/customer-utils/DiagnosticsTable.tsx","pages/customer-utils/LiveMessageTracking.tsx","pages/customer-utils/CustomerUtils.tsx","app/forms/Debug.tsx","pages/debug/DebugSelect.tsx","app/tables/EarlyBirdVisitorsData.tsx","app/tables/FavoriteStores.tsx","app/tables/TopCity.tsx","app/tables/TopCountry.tsx","pdf/DocumentContext.tsx","pdf/Message.tsx","pdf/LinkService.ts","pdf/Document.tsx","pdf/OutlineContext.jsx","pdf/Ref.ts","pdf/shared/propTypes.ts","pdf/OutlineItem.jsx","pdf/Outline.jsx","pdf/PageContext.tsx","pdf/Page/PageCanvas.tsx","pdf/Page/PageSVG.jsx","pdf/Page/TextLayerItem.jsx","pdf/Page/TextLayer.jsx","pdf/Page/AnnotationLayer.jsx","pdf/Page.tsx","services/useBorderAutoScroll.ts","services/useRectangleSelector.ts","app/modals/EditFloorplanPdf.tsx","app/forms/FloorplanUpload.tsx","app/widgets/EditableTitle.tsx","app/widgets/tabs/components/utils.ts","app/widgets/tabs/components/UncontrolledTabs.tsx","app/widgets/tabs/components/Tabs.tsx","app/widgets/tabs/components/TabList.tsx","app/widgets/tabs/components/Tab.tsx","app/widgets/tabs/components/TabPanel.tsx","pages/heatmap/editor/MapWithBeacons.tsx","pages/heatmap/editor/FloorplanOverview.tsx","pages/heatmap/LayoutEditor.tsx","pages/heatmap/Heatmap.tsx","pages/import-data/drag-and-drop/DraggableItem.tsx","pages/import-data/drag-and-drop/DroppableList.tsx","pages/import-data/editors/ExcelTable.tsx","pages/import-data/editors/UploadButton.tsx","pages/import-data/editors/ExcelUpload.tsx","services/array.ts","pages/import-data/ImportData.tsx","pages/login/Login.tsx","pages/login/forms/CustomerAppNotice.tsx","pages/login/forms/ForgotPasswordForm.tsx","pages/login/forms/LoginForm.tsx","pages/login/forms/ResetPasswordForm.tsx","pages/poc/QRSample.tsx","app/modals/EditPocUser.tsx","pages/poc/UserManagement.tsx","app/forms/Search.tsx","app/widgets/Dropdown.tsx","app/widgets/MainMenu.tsx","app/widgets/Sidebar.tsx","app/widgets/Header.tsx","app/App.tsx","reportWebVitals.ts","services/infrastructure.tsx","index.tsx"],"names":["relativeToAbsolute","relative","view","left","Math","min","right","width","max","top","bottom","height","fitBBox","box","maxWidth","maxHeight","scaleWidth","scaleHeight","scale","renderToImage","pdf","options","a","getPage","pageNm","page","fullView","getViewport","clipBox","selection","scaledBox","clippedView","clone","offsetX","offsetY","canvas","document","createElement","context","getContext","renderContext","viewport","canvasContext","renderInteractiveForms","includeAnnotationStorage","result","render","promise","Promise","resolve","reject","asDataString","data","toDataURL","remove","toBlob","blob","Error","err","BASE_PATH","replace","BaseAPI","configuration","basePath","axios","globalAxios","this","RequiredError","field","msg","name","DUMMY_BASE_URL","assertParamExists","functionName","paramName","paramValue","undefined","setBearerAuthToObject","object","accessToken","isArrayOfIds","value","Array","isArray","length","every","item","AppInteractionUsersFilter","CampaignSort","CampaignStatus","ChangeAction","CustomAudienceType","CustomerFilter","CustomerPurchasesColumn","CustomerSort","CustomerSummaryStatistic","DayOfWeek","Frequency","FrequencyCheck","Gender","LoggingLevel","MessageInteractionPerformanceSortColumn","MessageRevenuePerformanceSortColumn","MessageSort","MessageStatus","NotificationMark","PhoneOS","PlatformType","ProductImportColumn","PurchaseAction","ReceptionPeriod","RecipientSelection","RedemptionUsersFilter","ResendInterval","ResultStatus","RuleExpressionPartType","SalesConversionUsersFilter","SortDirection","Strength","Table","TimeSpanRange","TimeUnit","TimeframeType","setSearchParams","url","searchParams","URLSearchParams","search","objects","key","delete","set","join","append","toString","serializeDataIfNeeded","requestOptions","nonString","isJsonMime","headers","JSON","stringify","toPathString","pathname","hash","createRequestFunction","axiosArgs","axiosRequestArgs","request","AccessControlApiFp","localVarAxiosParamCreator","getPermissions","localVarUrlObj","URL","baseOptions","localVarRequestOptions","method","localVarHeaderParameter","localVarQueryParameter","query","headersFromBaseOptions","AccessControlApiAxiosParamCreator","localVarAxiosArgs","AccessControlApi","then","AnalyticsApiFp","getAppDownloadUsers","skip","limit","rangeType","rangeStart","rangeEnd","stores","countries","cities","areas","beacons","Date","toISOString","getAppInteractionRate","getAppInteractionUsers","filter","getAppOpenUsers","getAppRegistrationUsers","getAverageTransactionQuantity","getAverageTransactionValue","getAvgRedemptionRate","getAvgShoppingTime","includeTrend","getAvgTransactionQuantityUsers","getAvgTransactionValueUsers","getConversionStatistics","getConvertedUsers","getDownloads","getInteractionUpliftStatistics","getLogins","getLoyalCustomersCount","getMostActiveCustomersCount","getNewCustomers","getNewCustomersCount","getOpenings","getRedemptionUsers","getRegistrations","getRegistrationsByDevice","getSalesConversionRate","getSalesConversionUsers","getSalesPerDay","getShoppingStatistics","getStoreVisitsUplift","getTimeSpentUsers","getTotalAppCustomers","getTotalAppUsers","getTotalCustomersCount","getTotalUsersCount","getTouchpointsStatistics","getTraffic","getUpliftStatistics","getVipCustomersCount","getVisitorStatistics","getVisitorsPerDay","AnalyticsApiAxiosParamCreator","AnalyticsApi","requestParameters","AuthApiFp","token","grantType","username","password","localVarFormParams","AuthApiAxiosParamCreator","AuthApi","BeaconsApiFp","_delete","beaconId","localVarPath","encodeURIComponent","String","create","beaconModel","getAll","getAllAreas","getBeaconVisitsStatistics","getByAverageTimeSpent","size","getByMaximumTimeSpent","getByMinimumTimeSpent","getForLookup","storeId","getOne","getTopAreas","getWarnings","update","BeaconsApiAxiosParamCreator","BeaconsApi","BlogPostsApiFp","id","blogPostModel","get","language","BlogPostsApiAxiosParamCreator","BlogPostsApi","CampaignsApiFp","createCampaignCommand","sort","onlyActive","onlyRecent","includeDeleted","updateCampaignCommand","CampaignsApiAxiosParamCreator","CampaignsApi","ChangeLogApiFp","action","tables","getPropertyChanges","entityChangeId","ChangeLogApiAxiosParamCreator","ChangeLogApi","ConfigurationApiFp","getAppConfiguration","userId","phoneOS","bundleId","getWebConfiguration","ConfigurationApiAxiosParamCreator","ConfigurationApi","CustomersApiFp","deactivateDevice","customerId","deviceId","hideZeros","visitorsOnly","sortDirection","customerFilter","customerSummaryStatistic","getBeaconVisits","getByBeaconContacts","getByRevenue","getByTouchpoints","getByVisits","getContacts","getCustomerDataCsv","getDailyPurchases","getDevices","getMessages","getSentMessages","offerId","getStatistics","getStoreVisits","lookupAll","reset","CustomersApiAxiosParamCreator","CustomersApi","DemographicsApiFp","getForTransactions","getForVisits","DemographicsApiAxiosParamCreator","DemographicsApi","FeaturedItemsApiFp","featuredItemModel","FeaturedItemsApiAxiosParamCreator","FeaturedItemsApi","HealthChecksApiFp","getHealthChecks","HealthChecksApiAxiosParamCreator","HealthChecksApi","ImageApiFp","settings","image","formDataCtor","FormData","Blob","type","ImageApiAxiosParamCreator","ImageApi","ImportApiFp","uploadCustomerPurchases","uploadCustomerPurchasesRequest","uploadProducts","uploadProductsRequest","ImportApiAxiosParamCreator","ImportApi","LocationsApiFp","getCitiesForCountry","countryId","getCountries","getLocations","excludeAreas","excludeBeacons","excludeStores","excludeCities","excludeCountries","getWorldHeatmap","LocationsApiAxiosParamCreator","LocationsApi","MessagesApiFp","messageId","clearMessageStatistics","draftId","messageModel","forceSendMessage","forceSendMessageRequest","campaignIds","includeInactive","status","validFrom","validTo","getInteractionPerformance","audienceType","sortColumn","getOfferPreview","offerTitle","offerText","imageUrl","isRedeemable","callToActionTitle","callToActionLink","disableOnclicks","getPerformanceNotificationUsers","flag","getRevenuePerformance","MessagesApiAxiosParamCreator","MessagesApi","OfferAudienceApiFp","getAudienceEstimate","customAudienceExpression","OfferAudienceApiAxiosParamCreator","OfferAudienceApi","OfferDraftApiFp","createDraft","offerDraftModel","deleteDraft","getDrafts","updateDraft","OfferDraftApiAxiosParamCreator","OfferDraftApi","PasswordApiFp","changePassword","changePasswordRequest","deprecatedChangePassword","depreactedChangePasswordRequest","deprecatedResetPassword","deprecatedResetPasswordRequest","email","skipSendingEmail","forgotPassword","forgotPasswordRequest","resetPassword","resetPasswordRequest","verifyToken","verifyTokenRequest","PasswordApiAxiosParamCreator","PasswordApi","PocAccountApiFp","createUser","pocUserModel","getQRCodeSample","PocAccountApiAxiosParamCreator","PocAccountApi","ProductCategoriesApiFp","productCategoryModel","ProductCategoriesApiAxiosParamCreator","ProductCategoriesApi","ProductsApiFp","productModel","categoryIds","ProductsApiAxiosParamCreator","ProductsApi","PurchaseHistoryApiFp","getBrandsForLookup","PurchaseHistoryApiAxiosParamCreator","PurchaseHistoryApi","RevenueStatisticsApiFp","getAppRevenueUsers","getAppSalesByCustomerType","getAppTransactionUsers","getAverageTransactionValueForReturningCustomers","getNewVsReturning","getRecurringTransactions","getRevenue","getTransactions","RevenueStatisticsApiAxiosParamCreator","RevenueStatisticsApi","SegmentGroupsApiFp","segmentGroupId","segmentGroupModel","SegmentGroupsApiAxiosParamCreator","SegmentGroupsApi","StoresApiFp","storeModel","getBeacons","includeAllStores","getByFavoriteCustomers","getCitiesByVisits","getCountriesByVisits","getLayout","getStoreBeaconVisits","updateLayout","storeLayoutModel","visitorData","StoresApiAxiosParamCreator","StoresApi","TrackingApiFp","deleteDiagnostics","platformDeviceId","getDiagnostics","getUserTracking","startHour","endHour","TrackingApiAxiosParamCreator","TrackingApi","VisitorStatisticsApiFp","getNewVisitorsCount","getNmRecurringVisits","getVisitStatistics","getVisitingUsers","getVisitorsCount","VisitorStatisticsApiAxiosParamCreator","VisitorStatisticsApi","Configuration","param","apiKey","mime","jsonMime","RegExp","test","toLowerCase","isAxiosResponse","partial","statusText","config","isHttpOk","obj","success","isServiceResult","Success","isBrowser","window","isLocalFileSystem","location","protocol","isDefined","variable","isProvided","isArrayBuffer","ArrayBuffer","isBlob","isFile","File","isDataURI","str","dataURItoByteString","dataURI","split","headersString","dataString","indexOf","atob","unescape","consoleOnDev","warnOnDev","message","errorOnDev","displayCORSWarning","cancelRunningTask","runningTask","cancel","makePageCallback","Object","defineProperty","configurable","isCancelException","error","loadFromFile","file","reader","FileReader","onload","event","Uint8Array","onerror","target","code","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","SECURITY_ERR","ABORT_ERR","readAsArrayBuffer","mergeRefs","inputRefs","ref","forEach","inputRef","current","mergeClassNames","args","prototype","slice","call","reduce","classList","arg","concat","logErrorSilently","console","confirmDialog","onConfirm","onReject","confirmText","rejectText","confirmAlert","buttons","label","onClick","AlertContent","props","diagnosticError","ServerUnavailable","ValidationMessage","_g","UnexpectedError","href","_excluded","_extends","assign","i","arguments","source","hasOwnProperty","apply","_objectWithoutProperties","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgAccurateIcon","_ref","svgRef","title","titleId","xmlns","xmlnsXlink","x","y","viewBox","fill","style","enableBackground","xmlSpace","d","ForwardRef","SvgAddNew","transform","_metadata","SvgAllPermissionsGranted","xs","SvgAllStores","SvgAnalytics","_g2","_g3","_g4","_g5","_g6","_g7","_g8","_g9","_g10","_g11","_g12","_g13","_g14","_g15","_g16","SvgAndroidLogo","AppReg","percentage","totalLength","PI","fullLength","ceil","useState","stroke","setStroke","useEffect","dashes","clipRule","r","cx","cy","strokeWidth","transformOrigin","transition","strokeDasharray","SvgAppCustomers","SvgAppDownloads","SvgAppStore","SvgAppleLogo","SvgAvatarPlaceholder","SvgAvgVisitDuration","SvgBeaconArea","SvgBeaconTab2","_path2","SvgBeaconsmind","fillRule","SvgBlogPost","className","SvgBluetoothEnabled","shapeRendering","textRendering","imageRendering","SvgBounceRate","_defs","SvgCalendarWhite","clipPath","SvgCalendar","SvgCampaigns","_path3","_path4","SvgCategories","strokeLinecap","strokeLinejoin","strokeMiterlimit","SvgChangeLog","SvgClock","SvgConversionStats","SvgConversion","SvgConvertedMessageIcon","_polygon","SvgConvertingMessageTrigger","points","SvgCustomerSegments","opacity","SvgDownArrowRed","SvgDownload","SvgDropdown","SvgFeaturedItems","SvgHealthCheck","fillOpacity","SvgHeatmap","SvgHotProspect","SvgHourglass","SvgHouseMenu","SvgInStore","SvgItemList","SvgLocationGreen","SvgLocationLightgreen","SvgLocations","SvgLoyalCustomer","SvgMaximumTime","SvgMenu","SvgMinimumTime","SvgMuteNotification","SvgNewAppCustomers","SvgNewReturning","SvgNewVisitors","SvgPageNext","SvgPagePrevious","SvgPeakDay","SvgPeakTime","SvgPin","SvgPlus","SvgProduct","SvgPushNotificationTick","SvgPushNotification","_desc","SvgQrCode","xlinkHref","SvgRecurringVisit","SvgRepeatPurchase","SvgReturningVisitors","SvgRevenue","SvgRightArrowNext","SvgSettings","SvgSortDown","SvgSortUp","SvgSort","SvgSpyGlass","SvgStoreVisit","SvgStore","SvgTableRow","SvgThreeDots","SvgTotalCustomers","SvgTransactionDollar","fontSize","fontFamily","fontWeight","SvgTransactionVertical","verticalAlign","overflow","SvgTransaction","SvgUpArrowGreen","SvgUpload","SvgUserLocation","SvgUserManagement","SvgVipCustomer","defaultSettings","loginLogo","loginWallpaperSrc","navbarLogo","cssClass","translations","store","singular","plural","disablePurchaseHistories","enablePurchasesImport","enableProductsImport","enableWhitelabelFeatures","enablePocFeatures","enableChangeLog","deployments","suxxess","src","alt","skycell","demo","sportfive","log","noop","useEventHandler","handler","handlerRef","useRef","useCachedInstance","instanceRef","isEqual","useStateEx","initial","component","state","innerSet","setState","useCallback","mergeState","prev","next","imageExists","img","setAttribute","makeCancellable","isCancelled","enriched","catch","enumerable","writable","mouseEvents","touchEvents","keyboardEvents","focusEvents","makeEventProps","getArgs","eventProps","eventName","logFunction","listen","onChange","ignoreDeepEqualChanges","flyd","scan","createStore","isFunction","stream","useStore","componentState","setComponentState","listener","_debugName","end","useMemo","logger","previous","mutation","createMutators","useMappedStore","mapFunction","skipDeepEqualChanges","mapFunctionRef","proxy","setProxy","mapped","map","keepAliveHandle","LOCAL_STORAGE_KEY","LOCAL_TOKEN_LIFETIME_SECONDS","empty","remember","localExpiration","permissions","users","suiteAccess","readSelfUserData","createSuperAdmin","createAdmin","readLogs","accessHangfire","pocManagementAccess","loginViaSocialProvider","deleteContactsAndVisits","deleteMessageStatistics","load","auth","text","parse","tryParseJson","localStorage","getItem","persistToLocalStorage","setItem","clearTimeout","setTimeout","setSeconds","getSeconds","LOCAL_TOKEN_REFRESH_SECONDS","removeItem","loadPermissions","reloadedPermissions","accessControlApi","getApiHost","login","invalidCredentialsMessage","getApiConfig","authenticationApi","disableUnauthorizedInterception","response","access_token","payload","decodeJwt","nameid","user_id","redirectToApp","firstName","given_name","lastName","family_name","logout","mapToPermissions","useAuthentication","useAccessControl","apiUrl","process","host","parameters","createContext","loading","cloneDeep","buildDeploymentConfig","cloned","suiteVariant","WebConfigProvider","model","alert","reason","Provider","children","useDeploymentConfig","useContext","utcToLocal","date","offset","getTimezoneOffset","real","stringToDate","getTime","getUtcDate","localToUtc","stringFromDate","withTime","df","useMoneyFormatter","defaultCurrency","postfix","symbol","formatMoney","formatNumber","convertMoney","valueInDefaultCurrency","currentPostfix","calcTrend","digits","toLocaleString","maximumFractionDigits","toFixed","formatPercentage","formatDecimal","formatApproximateDuration","seconds","approximateDuration","unit","formatHour","hour","wholeHours","floor","hoursText","minuteText","round","explicitUnit","formatHourAmPm","formattedValue","formatDayOfWeek","formatDateTime","formatStr","format","formatDurationBetweenDates","start","referencePoint","realStart","realEnd","totalSeconds","differenceInSeconds","adjustedSeconds","abs","adjustedMinutes","adjustedHours","adjustedDays","duration","formatDuration","minutes","hours","days","formatPreciseDuration","h","m","useLocalizedText","cachedTranslations","words","Store","STORE","toUpperCase","Stores","STORES","analyticsPage","items","appDownloads","tooltip","appRegistrations","newAppCustomers","totalAppCustomers","appOpenings","totalAppUsers","conversionStats","appRevenue","appTransactions","avgAppTransactions","avgQtyPerAppTransactions","customerVisits","salesConvRate","avgRedemptionRate","appInteractionRate","userVisits","avgTimeSpent","topPerformingArea","appCustomersPage","newCustomers","vipCustomers","mostActiveCustomers","loyalCustomers","newVisitors","visitors","convertedVisitors","convertedVisitorRate","revenueStatisticsPage","recurringTransactions","avgTransactionValueReturningCustomers","transactions","revenue","newVsReturning","appTouchpointsPage","bulletedItems","touchpointsGraph","bulletPoints","conversionUplift","transactionValueUplift","interactionUplift","interactionRate","storeVisitUplift","appLogins","customerDetailsPage","totalRevenue","sales","productsPerBasket","storeVisits","sent","received","read","clicked","redeemed","visitorStatisticsPage","minVisitingTime","maxVisitingTime","avgVisitingTime","peakVisitingHour","peakVisitingDay","recurringVisits","avgVisitDuration","day","heatmapPage","noStoreWarning","noSelectionWarning","appTouchpointsTable","startOfWeek","endOfWeek","local","global","appOpens","beaconContacts","notificationColumnHeaders","labelAndCampaign","startDate","conversion","conversionRate","avgTransactionValue","avgQuantity","noOfVisits","salesConversionRate","clickRate","redemptionRate","heatmap","returningVisitors","bounceRate","storeLegend","color","beaconLegend","usersTable","role","appSalesByCustomerType","newCustomerTooltip","returningCustomerTooltip","customerType","averageQuantity","messages","forceSend","audienceEditor","newRegistrations","withBeaconContact","liveBeaconContact","lastBeaconContact","specificBeaconContact","productAndPurchases","mostStoreVisits","favoriteStore","specificGender","specificAge","birthdayToday","productPreference","clickAndCollect","lastPurchase","returningCustomers","visitWithoutPurchase","customerEngagement","customerSegment","receivedExistingOffer","payloadEditor","keyValue","importDataPage","customersTable","fullName","loyaltyNumber","nmTouchPoints","nmStoreVisits","nmBeaconVisits","contactUsersTable","storesTable","city","area","nmOfBeacons","beaconVisits","mostFavorited","beaconDataTable","description","areaAndStore","maxVisitDurationSeconds","longestTimeSpent","leastTimeSpent","averageTimeSpent","appInteractionUsersTable","nmOfInteractions","healthCheckPage","allPermissionsEnabled","pushNotificationEnabled","bluetoothEnabled","locationAlwaysAllowed","locationAllowedWhileUsing","locationFullPrecision","locationEnabled","messageForm","tokens","pushText","localizeUserInterfaceText","checkErrors","languageList","localizationErrors","invalidLanguages","localization","index","languageCode","push","getTooltip","getBulletedTooltip","bp","getImageTooltip","globalFilters","topFilterAreas","topFilterStores","topFilterBeacons","topFilterCountries","selectedTime","startOfYear","endDate","timeframeType","ThisYear","loadCountries","api","s","loadStores","countryIds","loadAreas","storeIds","areaId","loadFilters","memoize","filters","all","selectedCountries","selectedStores","reloadFilters","cache","clear","useGlobalFilters","selectTime","time","selectAreas","areaIds","selectedAreas","selectBeacons","beaconIds","selectedBeacons","selectStores","selectCountries","isSingleStore","input","createTimeLocationFilters","AllTime","useIsSingleStore","useTimeLocationFilters","formatOptions","delimiter","v","find","o","useFilterDescriptionText","topFilters","period","startText","endText","formatPeriods","locations","Symbol","GetSymbol","Circle","Square","backgroundColor","Legend","legendList","Loading","clsx","React","memo","getStyle","p","MapWithMarkers","imgRef","divRef","handleResizing","naturalWidth","naturalHeight","clientHeight","clientWidth","ReactTooltip","rebuild","pDebounce","addEventListener","removeEventListener","markerJson","markers","handleLoad","e","display","handleError","innerRadius","outerRadius","onError","onLoad","getImage","clientRects","currentTarget","getClientRects","imagePos","relX","clientX","relY","clientY","htmlId","stopPropagation","StoreLayoutHeatmap","isLoading","loadData","apiConfig","storesApi","visitCounts","layout","markerColor","beacon","maxNumber","b","nmVisits","floors","visitCount","c","geoPath","d3Geo","projections","MapContext","MapProvider","projection","projectionConfig","restProps","center","rotate","rx","ry","rz","parallels","p1","p2","projMemo","proj","translate","makeProjection","path","ComposableMap","getCoords","w","t","xOffset","k","yOffset","getFeatures","geographies","parseGeographies","features","feats","feature","getMesh","outline","mesh","borders","prepareFeatures","rsmKey","svgPath","useGeographies","geography","output","setOutput","fetch","res","ok","json","geos","preparedMesh","prepareMesh","Geographies","Geography","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","isPressed","setPressed","isFocused","setFocus","tabIndex","evt","useZoomPan","filterZoomEvent","onMoveStart","onMoveEnd","onMove","translateExtent","Infinity","scaleExtent","zoom","lon","lat","position","setPosition","lastPosition","mapRef","zoomRef","bypassEvents","a1","a2","b1","b2","minZoom","maxZoom","svg","d3Select","d3Zoom","d3Event","ctrlKey","button","on","coordinates","invert","sourceEvent","dragging","coords","d3ZoomIdentity","transformString","MarkerGroup","marker","MapContent","maxNmVisits","projectedMarkers","projected","longitude","latitude","some","isNaN","topLeftX","topLeftY","bottomRightX","bottomRightY","scaleY","scaleX","markerSize","groups","getRadius","queue","pop","added","group","sqrt","add","groupByArea","jsonGroups","g","CountriesData","geo","WorldHeatmap","Heatmap","texts","deployment","averageVisitDurationSeconds","oneStoreSelected","avgVisit","avgVisitUnit","avgVisitText","Card","classes","selected","modalStore","useModal","modalId","openIds","isOpen","includes","isAnyOpen","openModal","closeModal","closeAllModals","Modal","customModalStyle","overlay","inset","zIndex","content","padding","background","border","freezeWidth","innerWidth","body","onRequestClose","shouldCloseOnEsc","shouldCloseOnOverlayClick","preventScroll","ValidationError","OptionWithCheckbox","option","checkClasses","isSelected","Option","NormalOption","labelClassName","deactivated","descriptionClassName","Empty","SelfPositioningMenu","innerRef","innerProps","menuRef","useLayoutEffect","getBoundingClientRect","documentElement","setRefs","el","Menu","AbstractSelect","fieldName","errorLabel","errorPath","renderError","componentOverrides","SelectContainer","hint","Control","icon","ValueContainer","values","getValue","selectProps","inputValue","isMulti","multiValueItemLabel","renderValue","MenuList","required","components","prefix","classNamePrefix","hasValue","clearValue","onMenuClose","clearText","MultiValue","SingleValue","DropdownIndicator","IndicatorSeparator","NoOptionsMessage","commonProps","readOnly","menuIsOpen","isMenuOpen","closeMenuOnSelect","placeholder","isDisabled","isClearable","hideSelectedOptions","blurInputOnSelect","getCssClasses","styles","container","control","cursor","font","boxShadow","valueContainer","flexWrap","menuList","WebkitOverflowScrolling","override","cacheOptions","defaultOptions","loadOptions","isSearchable","valuesToOptions","allOptions","optionsAreGroups","flatMap","allValues","uniq","valueToOption","optionsToValues","optionToValue","valueTransformer","Select","common","meta","SelectAsync","debounceInterval","debounceLoadOptions","debouncedOptions","FormSelect","useController","defaultValue","fieldState","FormSelectAsync","usePaginatedView","forceShowProgress","minLoadingTimeMs","onTotalCountChange","totalCount","currentPage","countTracking","lastCount","changeHandler","wasUnmounted","handleLoadedPage","loadedPage","count","resetView","loadPage","loadingStart","now","minLoadingTime","loadingEnd","leftover","differenceInMilliseconds","refreshPageApi","refreshPage","force","shouldReload","getHtmlInputType","Input","forwardRef","IconComponent","interceptValue","otherProps","onChangeHandler","onBlurHandler","onFocusHandler","hasError","errorNode","refCallback","interceptOnChange","selectionStart","selectionEnd","isEnd","inputNode","step","FormInput","register","errors","registerProps","setValueAs","parseFloat","parseInt","parseValueAs","tryGetError","Pagination","pageCount","onPageChange","setPage","setInputValue","debouncedHandle","changePage","newPage","immediate","actualPage","alwaysVisible","previousDisabled","nextDisabled","valueAsNumber","Number","PaginatedTable","initialPageSize","getDefaultPageSize","pageSize","setPageSize","headerClick","onHeaderClick","dataSource","tableDataSource","loadCallback","useImperativeHandle","apiRef","hideLoadingAnimation","renderFakeRows","range","tableHeaders","j","row","randomElementId","random","sectionRef","renderPagination","hidePagination","pageSelector","pagination","globalHeaderHeight","element","tableTopPosition","offsetTop","scrollIntoView","scroll","scrollToElementTop","tableClasses","tableClassName","showFooter","mainHeader","header","direction","sortable","None","Descending","Ascending","rowModel","tableRowFactory","cell","LabelCampaign","messageTitle","campaignTitle","convertingOfferLabel","initialOrEmpty","extractInitials","parts","trim","addSpaces","capitalize","firstChar","toCsvValue","val","Avatar","invalid","setInvalid","loaded","setLoaded","avatar","initials","NotificationUsersTable","flagName","Delivered","to","pictureUrl","platform","storeLocationAtSend","InteractionNotifications","isEmpty","Sent","renderCells","renderCount","thumbnailUrl","offerRichText","nmSent","nmDelivered","Read","nmRead","hasCallToAction","Clicked","nmClicked","clickThroughRate","Redeemed","nmRedeemed","redeemedRate","Converted","nmConversions","RevenueNotifications","nmSales","NotificationsTable","TopNotifications","footer","TopAreas","numberOfContacts","Metric","BeaconDataTable","MaxTime","AverageTime","MinimumTime","filterTexts","timefilterText","locationFilterText","setHeaders","getMetricTexts","metric","updateLastHeader","newHeader","selectedMetric","setMetric","getData","payLoad","metricDropdown","stringValue","changeMetric","areaName","storeName","getColumnHeader","selectedValue","TopBeacons","metricOptions","generateSortableHeader","toggleSortForHeader","indexOfToggle","oldSortDirection","globalSearch","isVisible","useGlobalSearch","setText","enableAndClear","enabled","HighlightedString","deconstructed","highlighted","splice","part","matches","matchAll","highlights","substring","lastMatch","lastIndex","highlightMatches","span","Fragment","highlight","CustomerDataTable","storeWord","hasPurchaseHistories","statisticOptions","customOptions","NmOfTouchpoints","NmOfStoreVisits","NmOfBeaconContacts","Transactions","TotalPurchaseAmount","route","useRouteMatch","filterTextPeriod","selectedFilter","userCount","setUserCount","statisticTotal","setStatisticTotal","isExporting","setIsExporting","columnTexts","defaultStatHeader","resetSort","resetSortHeaders","getStatisticTexts","statistic","updateStatisticHeader","newStatisticHeader","selectedStat","params","selectedStatistic","setStatistic","sortedHeader","statisticTitle","sortTitle","Name","Email","LoyaltyNumber","Statistic","showOnlyVisitors","loadExportData","csvHeaders","rows","statisticValue","csv","link","createObjectURL","download","click","customerSummary","sumOfStatistics","formatStatisticValue","statisticDropdown","history","pushState","changeStatistic","userOrCustomer","New","Loyal","MostActive","Vip","getFilteredTitle","disabled","TopCustomers","sortOptions","firstRun","ProductsTable","Products","revenueGenerated","TopProducts","setIsEmpty","StoresTable","storesWord","StoreVisits","BeaconContacts","CustomerFavorite","Revenue","formatValue","squareMeter","TopStores","rangeEquals","isSameDay","DateRange","ranges","includeNowOption","startOfToday","startOfDay","endOfToday","endOfDay","startOfYesterday","addDays","endOfYesterday","startOfMonth","endOfMonth","startOfLastMonth","addMonths","endOfLastMonth","Today","Yesterday","Last7Days","Last30Days","ThisMonth","PreviousMonth","addYears","endOfYear","PreviousYear","Now","getStaticRanges","timeButtonRef","calendarWrapperRef","visible","pickingEnd","handleOutsideClick","calendarWrapper","Node","contains","range1","newSelection","isPredefinedRange","CustomRange","showMonthAndYearPickers","showDateDisplay","showPreview","weekStartsOn","maxDate","minDate","staticRanges","inputRanges","timeFilter","offsetHeight","offsetWidth","isSameMonth","isSameYear","TimeBeacons","hoursVisible","setVisibility","setBeacons","beaconOptions","fixedDate","selectedBeaconHour","timeframe","isNowTimeframe","timeCaption","timeFormat","inline","timeIntervals","addMinutes","selectsRange","isDate","mergeBeaconHour","getHours","getMinutes","showTimeSelect","showTimeSelectOnly","disabledKeyboardNavigation","startValue","ids","pinIcon","allStoresIcon","areaIcon","TimeLocation","debouncedFilterState","debounce","newFilters","debounceStateHandler","defaultToFirstStore","showStoreCountryFilters","hideLocationFilters","showAreaFilter","disableStoreMultiSelect","AnalyticsPageHeader","filtersText","storeDetail","PageHeader","subTitle","BeaconTrackingHeader","StatsCardWithTrend","currentValue","previousValue","trendChangePercent","hideDots","tooltipText","showTrendChange","showPrevValue","cardClassNames","AppInteractionUsersTable","All","setFilter","Interacted","NoInteractions","dropdown","toast","AppRevenueUsersTable","joinDate","AppTransactionUsersTable","AvgTransactionQuantityUsersTable","quantity","avgTransactionQuantity","AvgTransactionValueUsersTable","RedemptionUsersTable","NonRedeemed","sentDate","redemptionDate","SalesConversionUsersTable","VisitedOnly","VisitedAndPurchased","TimeSpentUsersTable","nmOfVisits","totalVisitDurationSeconds","VisitingUsersTable","visitStart","visitDurationSeconds","emptyValue","BottomRowForRevenue","setRevenue","setTransactions","averageTransactionValue","setAverageTransactionValue","averageTransactionQuantity","setAverageTransactionQuantity","setStoreVisits","setSalesConversionRate","analyticsApi","revenueApi","visitorApi","appRevenueModalId","openAppRevenueModal","closeAppRevenueModal","appTransactionModalId","openAppTransactionModal","closeAppTransactionModal","avgTransactionValueModalId","openAvgTransactionValueModal","closeAvgTransactionValueModal","avgTransactionQuantityModalId","openAvgTransactionQuantityModal","closeAvgTransactionQuantityModal","customerVisitsModalId","openCustomerVisitsModal","closeCustomerVisitsModal","salesConversionModalId","openSalesConversionModal","closeSalesConversionModal","BottomRowForInteractions","topArea","setTopArea","setAppInteractionRate","setAvgRedemptionRate","avgTimeInStore","setAvgTimeInStore","beaconsApi","redemptionModalId","openRedemptionModal","closeRedemptionModal","userVisitsModalId","openUserVisitModal","closeUserVisitModal","avgTimeModalId","openAvgTimeModal","closeAvgTimeModal","interactionRateModalId","openInteractionRateModal","closeInteractionRateModal","BottomRow","decimals","asPercentage","valuePostfix","number","factor","pow","StatsCardSimple","decimalPlaces","subLabel","figure","showDots","dragHandleProps","cardClasses","dotsRef","marginRight","AppDownloadsTable","downloadDate","AppOpensTable","appVersion","openDate","AppRegistrationsTable","registrationDate","ConvertedUsersTable","trackedOffer","conversionDate","NewCustomersTable","firstPurchaseDate","TotalAppCustomersTable","TotalAppUsersTable","Widgets","createWidget","widget","downloads","androidRatio","registrations","nmRegistrations","nmAndroid","iosRatio","nmIos","totalCustomers","totalUsers","rate","conversions","subItem","total","TopRow","posDisabled","defaultWidgets","allowedWidgets","savedWidgets","parsedWidgets","intersection","loadWidgetsFromLocalStorage","widgets","setWidgets","selectedWidget","renderModal","reorder","list","startIndex","endIndex","from","removed","onDragEnd","destination","reorderedItems","droppableId","provided","snapshot","droppableProps","draggableId","draggableProps","Analytics","AppTouchpointsTable","touchpointsView","statistics","frequency","touchpoints","firstHeader","Weekly","secondHeader","Daily","Hourly","filterItems","secondCell","setDate","getDate","today","logins","opens","Graph","titleTooltip","ResponsiveContainer","AreaChart","XAxis","dataKey","ticks","manualTicks","YAxis","Tooltip","formatter","yAxisName","CartesianGrid","Area","TouchpointGraph","manualDateTicks","nmOfDatapoints","dateFormat","chartData","TouchpointsWithoutRevenue","TouchpointsWithRevenue","avgTransactionValueUplift","AppTouchpoints","newError","yup","StoreValidator","country","typeError","integer","openingDate","closingDate","notRequired","nullable","email1","email2","phone","fax","zipCode","storeManager","street","instagramUrl","facebookUrl","defined","BeaconValidator","uuid","excludeEmptyString","major","minor","beaconType","CampaignValidator","MessageValidator","languages","campaign","pushMessage","plain","rich","bothHaveValues","bothEmpty","receivedCodes","expectedCode","grayImageUrl","grayThumbnailUrl","schedule","ScheduleValidator","validity","absoluteDateTime","monthsAfterSent","customAudience","onlyOnce","dateTime","default","indefiniteFrom","duringPeriod","constrainHours","messageResend","resendInterval","customNumberOfDays","_","CustomDays","nmDays","SegmentGroupValidator","segments","sumBy","ForgotPasswordValidator","LoginFormValidator","ResetPasswordValidator","confirmPassword","LocalizationValidator","requiredLanguages","optional","testText","temp","allTextsEmpty","txt","allTextsProvided","PocUserValidator","expirationDate","CheckboxRender","onCheckedChange","checked","renderErrors","Result","showErrors","setError","isHttpBadRequest","convertBadRequestToFieldErrors","fields","isServiceResultError","INVALID_UUID_CHARS","formatUUID","replaceAll","EditBeacon","hideDeleteButton","onSave","onDelete","onSaveHandler","onDeleteHandler","canDeleteBeacons","defaultValues","defaultStore","useForm","resolver","yupResolver","handleSubmit","formState","watch","areaField","handleSave","handleDelete","typeOptions","onSubmit","onCancel","isSubmitting","Beacons","storeFilter","isNew","cachedStoreFilter","canAddBeacon","canUpdateBeacon","loadStoresAndAreas","formModified","setFormModified","handleCancel","closeModalAndReset","deleteBeacon","saveBeacon","warnings","showTooManyRegionsWarning","warn","storeOptions","disableAdd","addButtonTooltip","filterStores","areaOptions","editBeacon","lastContact","parseJSON","classNames","visitsLast7Days","getLimitSkip","hideAddNew","PaginatedCards","rest","getNmPages","showAddNewCard","onAddNew","loadingCardFactory","loadedCardFactory","BlogPostCard","leadText","articleText","imageNode","highlightedText","authorName","authorDescription","onEditClick","onDeleteClick","firstError","isFieldError","maybeError","deepError","AlertMissingValidationErrors","useFormState","shouldDisplay","optionalError","querySelectorAll","isAcceptableFileList","files","fileType","useImageUploading","errorMessage","uploadInProgress","useImageController","controller","thumbnail","thumbnailName","grayscale","grayscaleName","grayscaleThumbnail","grayscaleThumbnailName","handleNonValidationError","uploadFile","generateGrayscale","generateThumbnail","generateThumbnailGrayscale","skipResizing","imagePath","thumbnailPath","imageGrayscalePath","thumbnailGrayscalePath","onUploaded","grayImage","grayThumbnail","ImageUploadButton","getCssClass","buttonLabel","multiple","accept","instruction","renderInfoOrError","ImageUploadArea","containerRef","imageRef","dragActive","showImage","hideImage","onDragEnter","onDragLeave","onDragOver","preventDefault","onDrop","dataTransfer","htmlFor","placeholderIcon","placeholderText","languageFlagMap","en","flags","US","de","DE","fr","FR","it","IT","da","DK","hu","HU","cs","CZ","ar","AE","ru","RU","renderFlag","Flag","LanguagePicker","allowedLanguages","l","EditBlogPost","authorImageUrl","titleLocalizations","leadTextLocalizations","mainTextLocalizations","backendErrors","defaultModel","selectedLanguage","setSelectedLanguage","getValues","subscription","unsubscribe","titleTranslationIndex","findIndex","titleField","leadTranslationIndex","leadField","mainTranslationIndex","mainField","trySaveModel","updateImageUrls","existingBlogPost","errorList","getLanguageErrors","backgroundImage","BlogPosts","pageApi","openAddModal","saveBlogPost","editBlogPost","deleteBlogPost","CampaignCard","useHistory","Expired","Deleted","Live","Paused","getStatusColor","getStatusText","getExpires","onAddMessageClick","FormDatePicker","InputWithIcon","onClear","rules","wrapperClassName","customInput","nextMonthButtonLabel","previousMonthButtonLabel","minimumDate","ScheduledOption","Scheduled","LiveOption","ExpiredOption","PausedOption","DeletedOption","ValidStatuses","EditCampaign","initialModel","headerTitle","submitTitle","onChangeRef","statusEnabled","statusOptions","Campaigns","Newest","Oldest","sortOrder","saveCampaign","valueNumber","valueOf","editCampaign","deleteCampaign","deletedMessage","handleDeleteCampaign","PropertyChanges","originalValue","newValue","FilterOption","ChangeLog","selectedAction","selectedTables","actionOptions","Added","Updated","tableOptions","actioned","entityId","table","nameOrId","userNameOrId","localDate","utcDate","clickable","entityIdDes","titleDes","userDes","selectedId","selectedEntityDescription","CustomerVisitsGraph","visitStatistics","storeVisitsStatistics","onclick","InteractionBasedStatistics","visitorStatsApi","promises","convertedVisits","convertedVisitRate","finally","RevenueBasedStatistics","handleClick","onCustomerCardClick","CustomerData","changeTimeFilter","onGraphClick","dateLabel","activeLabel","selectedDate","parseDate","customerWidgets","CustomerDetails","missing","loadPurchaseData","loadMessageData","details","birthDay","birthDate","ageGender","differenceInYears","gender","Male","Female","avatarUrl","renderAvatar","houseNumber","landlinePhone","externalId","disablePushNotifications","avgQuantityPerSale","visits","partialSum","visit","getTotalVisits","nmPurchases","utcSent","utcReceived","utcRead","utcClicked","utcRedeemed","EMPTY_BREAKPOINT","breakpoint","minWidth","useBreakpoint","defaultBreakpoint","hydrateInitial","mediaQueries","breakpoints","sortedBreakpoints","nextBreakpoint","createMediaQueries","matchMedia","currentBreakpoint","setCurrentBreakpoint","updateBreakpoint","subscribers","handleChange","useDebugValue","CustomerSegmentCard","highlightText","BarChart","Bar","onClickDelete","onClickEdit","SegmentationOptions","getSegments","nmParts","EditCustomerSegment","segmentsField","segmentsFieldState","CustomerSegments","segmentId","editSegment","saveSegment","deleteSegment","FeaturedItemCard","EditFeaturedItem","textLocalizations","startsWith","translationIndex","textField","existingItem","FeaturedItems","saveItem","editItem","deleteItem","renderRateSubItem","rateItem","HealthCheck","topWidgets","bottomWidgets","LocationOverviewStores","LocationOverviewBeacons","AuthOptions","clientId","subscriptionKey","Constants","events","tokenAcquired","tokenExpiresIn","tokenRefreshClockSkew","tokenExpired","AUTHORIZATION","AUTHORIZATION_SCHEME","MAP_AGENT","MS_AM_REQUEST_ORIGIN","MS_AM_REQUEST_ORIGIN_VALUE","X_MS_CLIENT_ID","SESSION_ID","SHORT_DOMAIN","DEFAULT_DOMAIN","SDK_VERSION","TARGET_SDK","Helpers","crypto","getRandomValues","RequestAuthenticator","authOptions","sessionId","opt","azMapsDomain","signRequest","mode","Headers","domain","instance","compareOptions","newInstance","renderV2TileUrl","AzureMapsTiles","tileSize","tilesetId","trafficFlowThickness","exOptions","authManager","baseUrl","au","am","getInstance","setTilesetId","hideAttribution","attr","attribution","partner","getFullYear","getFormattedUrl","_getZoomForUrl","done","getRequest","getTileUrl","blobResponse","visibility","readAsDataURL","refresh","timeStamp","thickness","getAzureTileSize","getTrafficStyle","ts","L","TileLayer","address","encodeURI","LocationPicker","hasView","setHasView","setInitialView","ll","setView","animate","renderer","layer","addLayer","latlng","lng","divIcon","html","iconSize","point","addTo","getBounds","flyTo","removeFrom","GeographicEntityType","SearchAddressResultType","QueryType","EditStore","addressRef","setValue","coordinatesField","updateBasedOnAddress","searchAddress","results","loadCities","selectedCountry","getImageUrl","StoreLocationMap","setStores","mapObj","latLong","markerObj","fitBounds","latLngBounds","rebuildTooltips","markerEl","getElement","LocationOverview","saveStore","editorClassName","additional","closestValue","predefined","minDistance","currentDistance","AgeEditor","selectOptions","selectValues","ageGroups","ag","BirthdayEditor","ClickAndCollectEditor","LocationInput","toOptions","typeName","cityId","includeBeacons","CustomerEngagementEditor","selectedLocations","CustomerSegmentEditor","setGroups","groupId","segmentIndex","groupOptions","segmentOptions","ExistingOfferEditor","setMessages","Ever","Exclude","messageOptions","periodOptions","SinceYesterday","InLastSevenDays","InLastThirtyDays","InLastThreeMonths","InLastSixMonths","Include","offer","selectedMessage","FavoriteStoreEditor","GenderEditor","Other","DatePicker","toValue","isRange","yearFormat","shortPreview","FixedDateInput","RelativeTimeInput","safeParse","safeValue","timeUnitOptions","selectedAmount","amount","selectedToAmount","toAmount","selectedTimeUnit","Day","errorClasses","fromClassName","TimeSpanRangeInput","applySemantics","rangeSemantics","generalGroup","customGeneralOptions","SevenDaysAgo","ThirtyDaysAgo","ThreeMonthsAgo","SixMonthsAgo","includeOptionNever","Never","includeOptionAny","AnyTime","includeRelativeGroup","RelativeTime","RelativeTimeRange","includeFixedGroup","FixedDate","FixedDateRange","hourOptions","noon","validHour","rangeValue","hourValue","isTodayRange","isRelativeTime","isRelativeRange","isFixedDate","isFixedDateRange","firstClassName","relativeTime","relativeTimeRange","fixedDateRange","LastBeaconContactEditor","selectedTimerange","LiveBeaconContactEditor","durationOptions","minDuration","minDurationSeconds","maxDistance","maxDistanceSeconds","LoyalCustomersEditor","NumberOrPercentInput","isPercent","MostActiveCustomersEditor","topPercentage","minNumberOfPurchases","MostStoreVisitsEditor","selectedPercentage","topPercent","NewRegistrationsEditor","ProducePreferenceEditor","PurchaseCheckInput","purchaseActions","SpecificProduct","HasNotPurchased","OrderWithTotalAmount","OrderWithDiscountAmount","selectedType","purchaseAction","hideAmountInput","amountError","currency","AudienceType","RateOfOccurenceInput","frequencyOptions","AtLeastOnce","Exactly","AtLeast","AtMost","selectedFrequency","frequencyCheck","isAtLeastOnce","amountClassName","ProductAndPurchasesEditor","LastMonth","brands","selectedBrand","brand","selectedKeywords","descriptionKeywords","keywordsAsString","selectedPurchaseCheck","purchaseCheck","selectedRateOfOccurence","rateOfOccurence","hidePurchaseInputs","ReturningCustomersEditor","SpecificBeaconContactEditor","VipCustomersEditor","VisitsWithoutPurchaseEditor","defaultTime","isNotEmpty","array","isLocationValid","validateLocations","validateTime","validateRelative","validateRelativeRange","property","renderTime","semantics","pluralEnd","renderLocation","locationNames","useEditorConfiguration","editor","Editors","validate","adjectives","flat","check","displayTexts","keywords","minPurchases","productCategory","hasPercent","hasMinNumber","RuleEditor","editorConfiguration","editorIds","last","andField","and","sentence","sentenceField","sentenceState","editorSelectOptions","editorSelectValue","andClass","orClass","renderEditor","modelFromExpression","Sentence","And","Or","AudienceFormResolver","ruleErrors","rule","editorKey","hasErrors","errorKey","validateRuleSentence","AudienceForm","useFieldArray","keyName","editors","isLast","identifier","expression","expressionFromModel","f","AudienceDisplay","audience","final","ruleIndex","sentences","describeSentence","sentenceIndex","renderListItems","PhonePage","MessageImage","placeholderImage","defaultPage","showPageSelector","NotificationPage","OfferPage","iOS","previewHtml","iOSSelectClass","androidSelectClass","Android","notificationPageClass","offerPageClass","notificationContentClass","richText","getOfferRichText","pushTitle","getPushTitle","getPushText","srcDoc","frameBorder","disclaimer","formatDate","renderMessageDuration","at","dateAt","dateFrom","dateTo","MessageCard","audienceConfig","allUsers","Custom","isSilent","isConvertedMessage","isConvertingMessage","convertedOfferLabel","getColor","getStatus","Global","estimatedAudience","dangerouslySetInnerHTML","__html","onForceSend","onClickDuplicate","PayloadEditor","DeepLinkFormResolver","keyValues","kv","pair","pair2","valueError","keyError","match","validateKeyValue","DeepLinkForm","defaultPayload","defaultDeepLinkPayload","savedModel","omit","ReactQuill","generation","editingArea","lastDeltaChangeSet","regenerationSnapshot","unprivilegedEditor","onEditorChange","rangeOrDelta","oldRangeOrDelta","onEditorChangeText","root","innerHTML","onEditorChangeSelection","isControlled","Children","child","only","nextProps","nextState","validateProps","prevContents","getEditorContents","nextContents","isEqualValue","setEditorContents","setEditorReadOnly","cleanProps","dirtyProps","prop","instantiateEditor","destroyEditor","prevProps","prevState","shouldComponentRegenerate","delta","getContents","getSelection","setContents","postpone","setEditorSelection","createEditor","getEditingArea","getEditorConfig","unhookEditor","bounds","formats","modules","scrollingContainer","theme","Quill","setEditorTabIndex","hookEditor","makeUnprivilegedEditor","off","ops","nextValue","isDelta","sel","getEditorSelection","clipboard","convert","getLength","setSelection","domNode","disable","enable","getHTML","bind","getText","ReactDOM","findDOMNode","nodeType","preserveWhitespace","properties","cloneElement","onKeyPress","onKeyDown","onKeyUp","renderEditingArea","nextSelection","currentSelection","hasGainedFocus","hasLostFocus","onChangeSelection","focus","blur","Component","fn","displayName","defaultProps","EmojiBlot","quillEmoji","ShortNameEmoji","ToolbarEmoji","TextAreaEmoji","RichTextComponent","focused","setFocused","wrapperRef","quillRef","emojiMenu","getElementById","parentNode","removeChild","wrapper","toolbar","plainTextDiv","innerText","ComplexSelector","setMenuIsOpen","open","setEditor","selectedOption","renderedValue","getRenderedValue","getOptionLabel","closeEditorIfOpen","setValueAndClose","closeAfterSave","editorNode","handleSelectionStart","useDefault","useEditor","rawOptions","raw","svgIcon","customIcon","onMenuOpen","getSelectedRawOption","renderScheduleModel","dates","fromDate","toDate","ScheduleTypes","setDates","date1","date2","setHourState","datesSelected","setDatesSelected","hour1Selected","setHour1Selected","hour2Selected","setHour2Selected","time1","time2","handleHourChange","hour1","hour2","newHours","isNumber","SchedulePicker","StateSchedulePicker","isoDate","onClickOutside","onCalendarClose","ValidityPicker","ControlledValidityPicker","ScheduleForm","resendOptions","Monthly","Yearly","dayOptions","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","schedulePickerError","constrainDays","formModel","selectedResendInterval","selectedAllowedDays","daysAllowed","selectedCustomDays","isCustomDays","customDaysClassName","resendClassName","ScheduleWarning","warning","campaignFrom","campaignTo","campaignFromStr","campaignToStr","Tokens","MessageForm","formTexts","lastCustomAudience","scheduleModel","customAudienceField","isRedeemableField","isSilentField","selectedAudience","hasPayload","translationFieldPrefix","pushTitleField","pushTextField","offerTitleField","offerTextField","ctaTitleField","ctaLinkField","textQuillRef","getCurrentModel","formValues","isScheduled","audienceOptions","scheduleDateTime","renderScheduleModelWithDuration","defaultTokens","getTokenDisplay","existingMessages","campaigns","enumValue","customAudienceParts","onEditAudience","translation","pushTitleFocused","pushTextFocused","offerTitleFocused","elements","getElementsByName","textBeforeCursor","textAfterCursor","newPosition","setSelectionRange","insertTokenIntoInput","offerTextFocused","quill","getEditor","insertText","insertTokenIntoQuill","insertToken","onEditDeepLink","onEditSchedule","isDraft","onDiscardDraft","onSaveDraft","MessagePreview","translationPrefix","useWatch","buttonTitle","buttonUrl","WizardState","EditMessage","initialCampaignId","wizardState","campaignApi","campaignId","selectedCampaign","editAudience","EditAudience","saveAudience","estimate","editDeepLink","EditDeepLink","saveDeepLink","deepLinkPayload","editSchedule","EditSchedule","saveSchedule","cancelWizardStep","saveDraft","discardDraft","getMessageEditorDescription","existingDraftId","existingMessageId","brandOptions","currentMessageId","isAConvertingOffer","convertingOfferId","messageIdentifier","YearMonthPicker","selectedMonth","selectedYear","notifyChange","year","currentYear","yearOptions","monthOptions","month","TitleAsc","TitleDesc","Messages","editModal","openEditModal","closeEditModal","campaignIdParam","campaignOptions","sortMode","filterStatus","filterFrom","filterTo","openNew","handle","Drafts","requestParams","editMessage","saveMessage","draft","deleteMessage","draftResult","duplicateMessage","ProductCategoryCard","EditProductCategory","nameLocalizations","nameField","existingCategory","ProductCategories","saveCategory","editCategory","deleteCategory","PriceText","prices","fromPrice","toPrice","ProductCard","categoryImageUrl","categoryImageNode","emptyLanguages","EditProduct","descriptionLocalizations","categoryId","categoryOptions","categories","nameTranslationIndex","descriptionTranslationIndex","descriptionField","existingProduct","categoryIdParam","productCategoryId","saveProduct","editProduct","deleteProduct","LocalGlobalRevenue","Label","CampaignStartDate","NmConversions","toggleSort","campaignStartDate","LocalGlobalInteractions","LocalGlobal","PushNotificationCampaigns","Local","AppSalesByCustomerType","transactionCount","storeVisitsCount","class","Blue","Red","Yellow","Purple","Green","Lightblue","Pink","Orange","Golden","Black","White","AgeChart","itemTitle","ages","isKnown","yearsFrom","yearsTo","circle","men","women","other","PieChart","Pie","paddingAngle","Cell","GenderChart","metricTitle","genders","ShopperTrends","RevenueStatistics","demographics","orderBy","locationOptions","cachedSelectedLocations","loadCountriesAndCities","word","deleteStore","processDeletion","exists","editStore","DailyVisitingAnalytics","statsByDay","minTimeInSec","maxTimeInSec","avgTimeInSec","peakHour","TopVisitors","BottomRowStatistics","stats","statisticsByDayAverages","peakDayOfWeek","TopRowStatistics","nmNew","nmReturning","VisitorStatistics","statisticsByDay","ContactUsers","tableApi","refreshTimer","setInterval","clearInterval","userName","ContactTracking","beaconHour","VisitTimings","utcStart","utcEnd","utcNow","relStart","relEnd","absStart","absEnd","actualDurationText","absoluteTime","LiveContactTracking","contactStats","loadContactsAndVisits","displayLimit","contacts","trigger","beaconText","beaconUuid","beaconMajor","beaconMinor","utcTime","displayAbsoluteTime","beaconName","clockText","DiagnosticsTable","localStorageKey","defaultHeaders","saved","parsed","loadSavedColumnsOrDefault","savedHeaders","setSavedHeaders","columnHeaders","union","columnDropdown","loadPageOnce","userIdDescription","deviceIdDescription","deleteButton","LiveMessageTracking","sending","setSending","selectedDeviceId","setDeviceId","userSentMessages","userDevices","loadMessages","customerApi","sentMessages","messageApi","loadDevices","deviceResponse","sendMessage","delaySeconds","platformType","platformId","renderTimestamp","baseDate","baseDateName","absValue","relValue","orderedDevices","utcDeactivated","devices","deviceStats","phoneOSType","Apns","Fcm","isActive","utcActivated","phoneOSVersion","phoneManufacturer","phoneModel","messagePayload","hasFailed","failedTimes","sentOfferId","utcQueued","failedAt","failureReason","displayLimitOptions","searchCustomers","u","searchMessages","CustomerUtils","customer","setCustomer","setMessage","setDisplayLimit","displayAbsTime","setDisplayAbsTime","optionToNumber","handleClearContacts","handleClearMessages","ShowFormInDiv","picked","pick","valueJson","errorJson","ShowStateInDiv","stateJson","initialSelection","defaultFormValues","readonly","grouped","withDescription","singleOption","multiOption","singleValue","multiValue","Debug","menuState","setMenuState","setMenuOpen","createOptions","createOptionsModel","normalOptions","fetchOptions","SelectOptions","opts","SortOptions","EarlyBirdVisitorsData","setSort","changeSort","FavoriteStores","TopCity","getCountryFlag","TopCountry","iso2","Message","LinkService","externalLinkTarget","externalLinkRel","externalLinkEnabled","pdfDocument","pdfViewer","numPages","currentPageNumber","dest","destRef","getPageIndex","pageIndex","pageNumber","pagesCount","scrollPageIntoView","goToDestination","PasswordResponses","Document","linkService","pages","loadingTask","viewer","onItemClick","loadDocument","findDocumentSource","onSourceSuccess","onSourceError","onLoadProgress","onPassword","destroy","getDocument","onProgress","cancellable","fingerprints","onLoadSuccess","onLoadError","setupLinkService","setViewer","setDocument","registerPage","unregisterPage","imageResourcesPath","renderMode","fileByteString","PDFDataRangeTransport","otherParams","DocumentContext","childContext","noData","foreverLoad","renderChildren","renderContent","PureComponent","callback","prompt","Ref","num","gen","fileTypes","PropTypes","func","string","instanceOf","shape","oneOfType","httpHeaders","withCredentials","bool","arrayOf","oneOf","_transport","fontLoader","isRequired","commonObjs","_objs","getAnnotations","getTextContent","getDestination","getOutline","any","node","OutlineItemInternal","getPageNumber","subitems","subitem","subitemIndex","renderSubitems","OutlineItem","Consumer","documentContext","OutlineContext","outlineContext","PageCanvasInternal","canvasLayer","onRenderStart","onRenderSuccess","onRenderError","drawPageOnCanvas","renderViewport","cancelRenderingTask","cleanup","pixelRatio","devicePixelRatio","rotation","dir","canvasRef","userSelect","PageCanvas","PageContext","coalesce","PageSVGInternal","renderSVG","getOperatorList","operatorList","svgGfx","pdfjs","objs","getSVG","drawPageOnContainer","firstElementChild","appendChild","PageSVG","TextLayerItemInternal","getElementWidth","sideways","alignTextItem","unrotatedViewport","defaultSideways","fontHeightPx","fontWidthPx","yMin","yMax","xMin","fontName","getFontData","fontData","fallbackFontName","fallbackName","targetWidth","actualWidth","ascent","WebkitTransform","customTextRenderer","whiteSpace","pointerEvents","TextLayerItem","TextLayerInternal","textItems","loadTextItems","onGetTextSuccess","onGetTextError","textItem","itemIndex","renderTextItems","TextLayer","AnnotationLayerInternal","annotations","loadAnnotations","onGetAnnotationsSuccess","onGetAnnotationsError","onRenderAnnotationLayerSuccess","onRenderAnnotationLayerError","dontFlip","div","annotationLayer","renderAnnotationLayer","AnnotationLayer","pageContext","PageInternal","createRef","pageScale","scaleWithDefault","pageKeyNoScale","pageKey","renderTextLayer","renderMainLayer","Page","getScrollParentOrBody","ownerDocument","scrollHeight","scrollWidth","useBorderAutoScroll","scroller","scrollWhenNearBounds","scrollerRect","visibleX","pageX","visibleY","pageY","margin","scrollBy","behavior","getRelativeMousePosition","elementRect","elementPageX","scrollX","elementPageY","scrollY","rectToPoly","rect","FloorPreview","pageRef","mouseDetectorRef","rendered","onStart","onFinish","selecting","callbacks","startSelecting","expandSelection","selectionLeft","selectionTop","stopSelecting","clearSelection","useRectangleSelector","hasSelection","changeName","editorRef","setEditorAndWidth","handleResize","setPageRef","numbers","show","hide","reverse","rectMaskPoly","n","renderPage","EditFloorplanPdf","saving","saveAttempted","wasCancelled","documentProxy","wasUnmountedRef","useWasUnmountedRef","getError","saveFloorplans","floorPromises","req","errorContent","plan","renderPages","validateFile","valid","isPdf","FloorplanUpload","onFileSelect","appendFloorplans","imageApi","layoutPromise","uploadPromises","uploaded","newFloors","onSuccess","EditableTitle","ignoreClicks","initialEditable","attributes","editable","spanRef","spanRect","spanWidth","commitChange","altKey","makeTypeChecker","tabsRole","isTab","isTabList","isTabPanel","deepMap","isTabChild","deepForEach","getTabsCount","tabCount","canUseActiveElement","isNode","isTabNode","getAttribute","isTabDisabled","UncontrolledTabs","tabNodes","tabIds","panelIds","handleKeyDown","disableUpDownKeys","isTabFromContainer","selectedIndex","useSelectedIndex","keyCode","getNextTab","getPrevTab","getLastTab","getFirstTab","setSelected","parentElement","onSelect","getTab","panelCount","getPanelsCount","disabledTabClassName","forceRenderTabPanel","selectedTabClassName","selectedTabPanelClassName","environment","diff","listIndex","wasTabFocused","env","activeElement","determineCanUseActiveElement","toArray","tab","tabRef","panelId","selectedClassName","disabledClassName","tabId","forceRender","nodeAncestor","domRef","getChildren","Tabs","handleSelected","copyPropsToState","defaultFocus","defaultIndex","newState","getModeFromProps","maxTabIndex","TabList","Tab","checkFocus","classNameOrDefault","disabledClassNameOrDefault","selectedClassNameOrDefault","TabPanel","MapWithBeacons","initialBeaconId","currentBeaconId","editing","popupRef","layoutRef","maxNmVisit","allBeacons","positionPopup","beaconsHtmlEl","layoutRect","beaconRect","hidePopup","updateBeacon","newBeacons","onChanged","clearBeacon","getMarkers","existingFloorPlacement","FloorplanOverview","activeTab","existingPlacements","keyBy","existingPlacement","beaconsWithPlacement","tabs","hasImage","panels","setLayout","used","validateLayout","images","LayoutEditor","saveLayout","loadHeatmap","beaconResponse","layoutResponse","anyStores","selectedStore","DraggableItem","draggableIndex","DroppableList","dropListClasses","isFixedWidth","isDropDisabled","disableDrop","ExcelTable","headerRowClass","columns","column","readExcel","readType","startReading","readAsText","workbook","XLSX","cellText","cellDates","SheetNames","worksheetName","worksheet","Sheets","sheet_to_json","dateNF","decode_range","encode_col","getColumnHeaders","UploadButton","isUploading","setUploading","onFileSelected","defaultListType","downloadCsv","ExcelUpload","stepOneExtraRequirement","mappingRowRef","isProcessing","setProcessing","setShowErrors","allRequiredFields","allOptionalFields","initialLists","requiredFields","optionalFields","lists","setLists","handleFileSelected","hasHeader","mappingLists","isFieldList","requiredField","autoClose","onClose","columnMappings","uploadRequest","failedRows","nmAddedRows","nmUpdatedRows","entityPlural","nmFailedRows","previewRows","importFieldLists","loadingClasses","loadingText","sourceList","destList","itemToMove","newItems","elementToMove","arr","firstRow","defineField","customerPurchaseFields","PurchaseDate","TotalQuantity","TotalPrice","PurchaseUniqueId","FirstName","LastName","TotalDiscount","JoinDatetimeUtc","BirthDate","HouseNumber","Street","ZipCode","City","Country","Language","PhoneNumber","StoreId","StoreImageUrl","SalesPersonId","CustomerClubId","productsFields","ProductIdentifier","Description","ImageUrl","FromPrice","ToPrice","Url","CategoryName","CategoryUrl","CategoryImageUrl","ImportData","setActiveTab","submitCustomerPurchases","submitProducts","defaultLanguage","setLanguage","productsStepOneExtra","activeForms","form","formProps","Login","forCustomers","hideSSL","CustomerAppNotice","appStoreUri","clientApps","playStoreUri","showDownloadInfo","ForgotPasswordForm","isWorking","setWorking","doNotSendEmail","info","forCustomer","isCustomer","LoginForm","attemptedPath","defaultChecked","ResetPasswordForm","isValidToken","setValidToken","useLocation","has","useEmailAndCodeFromLocation","verifyResetPasswordToken","tokenPurpose","isValid","isSubmitted","QRSample","qrCode","setQRCode","getQRCode","EditPocUser","tomorrow","currentExpDate","UserManagement","savePocAccount","oldExpDate","newExpDate","editUser","expiration","expirationDateLocal","hasExpired","Search","over","onChangeDebounceInMs","inputHandlers","DropdownItem","Dropdown","opened","setOpened","firstUrls","MainMenu","sidebar","useSidebar","isSidebarOpen","closeSidebar","toggleSidebar","SidebarItem","Sidebar","setSidebar","apiHost","overlayRef","showUtils","closeOnClick","cw","getClassnames","urls","EnvironmentIndicator","currentEnvironment","Header","globalSearchText","globalSearchVisible","setGlobalSearch","isModalOpen","userFullName","userInitials","enableGlobalSearch","scrollTo","allowSearch","FullLayout","enableSales","exact","LoginLayout","App","accessControl","classnames","closeButton","draggable","delayShow","textColor","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","LogoutWhenUnauthorized","isLoggingOut","unauthorizedInterceptor","onResponse","interceptor","rqId","interceptors","use","onRequest","onRejectedRequest","rsId","onRejectedResponse","eject","applyInterceptor","defaults","validateStatus","workerSrc","rootElement","ReactModal","setAppElement","StrictMode"],"mappings":"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AAAA,I,sBAAAA,M,cAieAC,O,mBAAAA,I,kBAAAA,M,cAyPAC,O,aAAAA,I,aAAAA,I,2BAAAA,I,kBAAAA,M,cAsFAC,O,iBAAAA,I,yBAAAA,I,uBAAAA,I,qCAAAA,I,mBAAAA,I,yBAAAA,I,6BAAAA,I,mBAAAA,I,qBAAAA,I,eAAAA,I,sBAAAA,I,wBAAAA,I,8BAAAA,I,oCAAAA,I,gCAAAA,I,wCAAAA,I,mCAAAA,I,6BAAAA,I,mCAAAA,I,mCAAAA,I,uBAAAA,I,mCAAAA,I,6BAAAA,I,+BAAAA,I,6CAAAA,I,uCAAAA,I,0CAAAA,M,cA0JAC,O,iBAAAA,I,eAAAA,I,iCAAAA,I,0BAAAA,M,cA6IAC,O,6CAAAA,I,2CAAAA,I,qCAAAA,I,qCAAAA,I,gCAAAA,M,cAkJAC,O,mBAAAA,I,mBAAAA,I,qBAAAA,I,yBAAAA,I,uBAAAA,I,mBAAAA,I,wBAAAA,M,cAglBAC,O,mBAAAA,I,iBAAAA,I,oBAAAA,M,cAoBAC,O,qBAAAA,I,6BAAAA,I,qBAAAA,I,oBAAAA,M,cAwBAC,O,iBAAAA,I,eAAAA,I,oBAAAA,M,cA4ZAC,O,qBAAAA,I,iBAAAA,I,eAAAA,I,qBAAAA,I,iBAAAA,I,sBAAAA,M,cA6IAC,O,iBAAAA,I,yCAAAA,I,eAAAA,I,eAAAA,I,qBAAAA,I,uBAAAA,I,yBAAAA,I,kCAAAA,M,cAyYAC,O,iBAAAA,I,yCAAAA,I,eAAAA,I,eAAAA,I,qBAAAA,I,uBAAAA,I,yBAAAA,I,kCAAAA,M,cA4PAC,O,mBAAAA,I,mBAAAA,I,uBAAAA,I,0BAAAA,M,cAwBAC,O,yBAAAA,I,eAAAA,I,qBAAAA,I,qBAAAA,I,oBAAAA,M,cA2YAC,O,eAAAA,I,yBAAAA,I,eAAAA,I,qBAAAA,I,uBAAAA,I,0BAAAA,M,cAkMAC,O,iBAAAA,I,qBAAAA,I,cAAAA,M,cAmDAC,O,qBAAAA,I,aAAAA,I,gBAAAA,M,cA2bAC,O,yCAAAA,I,uBAAAA,I,yBAAAA,I,qBAAAA,I,eAAAA,I,6BAAAA,I,aAAAA,I,iCAAAA,I,yCAAAA,I,gCAAAA,Q,cA6fAC,O,qCAAAA,I,qCAAAA,I,+CA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","file":"static/js/main.7f46311d.chunk.js","sourcesContent":["// eslint-disable-next-line import/no-internal-modules\r\nimport { PDFDocumentProxy, RenderParameters } from \"pdfjs-dist/legacy/build/pdf\";\r\nimport { Rectangle } from \"../services/useRectangleSelector\";\r\n\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"pdfjs-dist/legacy/build/pdf\";\r\n\r\nfunction relativeToAbsolute(relative: Rectangle, view: { width: number; height: number }) {\r\n return {\r\n left: (Math.min(relative.left, relative.right) / 100) * view.width,\r\n right: (Math.max(relative.left, relative.right) / 100) * view.width,\r\n top: (Math.min(relative.top, relative.bottom) / 100) * view.height,\r\n bottom: (Math.max(relative.top, relative.bottom) / 100) * view.height,\r\n };\r\n}\r\n\r\nfunction fitBBox(box: Rectangle, maxWidth: number, maxHeight: number) {\r\n const selectionWidth = box.right - box.left;\r\n const selectionHeight = box.bottom - box.top;\r\n const scaleWidth = maxWidth / selectionWidth;\r\n const scaleHeight = maxHeight / selectionHeight;\r\n const scale = Math.min(scaleWidth, scaleHeight);\r\n return {\r\n scale: scale,\r\n box: {\r\n left: box.left * scale,\r\n right: box.right * scale,\r\n top: box.top * scale,\r\n bottom: box.bottom * scale,\r\n },\r\n };\r\n}\r\n\r\ntype RenderOptions = {\r\n pageNm: number;\r\n selection: Rectangle;\r\n maxWidth: number;\r\n maxHeight: number;\r\n asDataString: boolean;\r\n};\r\n\r\nexport async function renderToImage(pdf: PDFDocumentProxy, options: RenderOptions): Promise {\r\n const page = await pdf.getPage(options.pageNm);\r\n const fullView = page.getViewport({ scale: 1 });\r\n\r\n const clipBox = relativeToAbsolute(options.selection, fullView);\r\n const { scale, box: scaledBox } = fitBBox(clipBox, options.maxWidth, options.maxHeight);\r\n\r\n const clippedView = fullView.clone({ scale: scale, offsetX: -scaledBox.left, offsetY: -scaledBox.top });\r\n clippedView.width = scaledBox.right - scaledBox.left;\r\n clippedView.height = scaledBox.bottom - scaledBox.top;\r\n\r\n const canvas = document.createElement(\"canvas\");\r\n const context = canvas!.getContext(\"2d\")!;\r\n const renderContext: RenderParameters = {\r\n viewport: clippedView,\r\n canvasContext: context,\r\n renderInteractiveForms: false,\r\n includeAnnotationStorage: false,\r\n };\r\n canvas.width = renderContext.viewport.width;\r\n canvas.height = renderContext.viewport.height;\r\n const result = page.render(renderContext);\r\n\r\n await result.promise;\r\n\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (options.asDataString) {\r\n const data = canvas.toDataURL(\"image/png\");\r\n // release canvas resources\r\n canvas.width = 0;\r\n canvas.height = 0;\r\n canvas.remove();\r\n resolve(data);\r\n } else {\r\n canvas.toBlob((blob) => {\r\n // release canvas resources\r\n canvas.width = 0;\r\n canvas.height = 0;\r\n canvas.remove();\r\n if (blob) {\r\n resolve(blob);\r\n } else {\r\n reject(new Error(\"Received null blob!\"));\r\n }\r\n }, \"image/png\");\r\n }\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n}\r\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Suite Beaconsmind API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"http://localhost\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","/* tslint:disable */\r\n/* eslint-disable */\r\n/**\r\n * Suite Beaconsmind API\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport { Configuration } from \"./configuration\";\r\nimport { RequiredError, RequestArgs } from \"./base\";\r\nimport { AxiosInstance, AxiosRequestConfig } from \"axios\";\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const DUMMY_BASE_URL = \"https://example.com\";\r\n\r\n/**\r\n *\r\n * @throws {RequiredError}\r\n * @export\r\n */\r\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\r\n if (paramValue === null || paramValue === undefined) {\r\n throw new RequiredError(\r\n paramName,\r\n `Required parameter ${paramName} was null or undefined when calling ${functionName}.`\r\n );\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {\r\n if (configuration && configuration.apiKey) {\r\n const localVarApiKeyValue =\r\n typeof configuration.apiKey === \"function\"\r\n ? await configuration.apiKey(keyParamName)\r\n : await configuration.apiKey;\r\n object[keyParamName] = localVarApiKeyValue;\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\r\n if (configuration && (configuration.username || configuration.password)) {\r\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\r\n if (configuration && configuration.accessToken) {\r\n const accessToken =\r\n typeof configuration.accessToken === \"function\"\r\n ? await configuration.accessToken()\r\n : await configuration.accessToken;\r\n object[\"Authorization\"] = \"Bearer \" + accessToken;\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const setOAuthToObject = async function (\r\n object: any,\r\n name: string,\r\n scopes: string[],\r\n configuration?: Configuration\r\n) {\r\n if (configuration && configuration.accessToken) {\r\n const localVarAccessTokenValue =\r\n typeof configuration.accessToken === \"function\"\r\n ? await configuration.accessToken(name, scopes)\r\n : await configuration.accessToken;\r\n object[\"Authorization\"] = \"Bearer \" + localVarAccessTokenValue;\r\n }\r\n};\r\n\r\nfunction isArrayOfIds(value: any): value is (number | string)[] {\r\n return (\r\n Array.isArray(value) &&\r\n (value.length === 0 || value.every((item) => typeof item === \"number\" || typeof item === \"string\"))\r\n );\r\n}\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\r\n const searchParams = new URLSearchParams(url.search);\r\n for (const object of objects) {\r\n for (const key in object) {\r\n const value = object[key];\r\n if (Array.isArray(value)) {\r\n searchParams.delete(key);\r\n if (value.length > 0) {\r\n if (isArrayOfIds(value)) {\r\n searchParams.set(key, value.join(\",\"));\r\n } else {\r\n for (const item of value) {\r\n searchParams.append(key, item);\r\n }\r\n }\r\n }\r\n } else {\r\n searchParams.set(key, value);\r\n }\r\n }\r\n }\r\n url.search = searchParams.toString();\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\r\n const nonString = typeof value !== \"string\";\r\n const needsSerialization =\r\n nonString && configuration && configuration.isJsonMime\r\n ? configuration.isJsonMime(requestOptions.headers[\"Content-Type\"])\r\n : nonString;\r\n return needsSerialization ? JSON.stringify(value !== undefined ? value : {}) : value || \"\";\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const toPathString = function (url: URL) {\r\n return url.pathname + url.search + url.hash;\r\n};\r\n\r\n/**\r\n *\r\n * @export\r\n */\r\nexport const createRequestFunction = function (\r\n axiosArgs: RequestArgs,\r\n globalAxios: AxiosInstance,\r\n BASE_PATH: string,\r\n configuration?: Configuration\r\n) {\r\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\r\n const axiosRequestArgs: AxiosRequestConfig = {\r\n ...axiosArgs.options,\r\n url: (configuration?.basePath || basePath) + axiosArgs.url,\r\n };\r\n return axios.request(axiosRequestArgs);\r\n };\r\n};\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n/**\r\n * Suite Beaconsmind API\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: v1\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nimport { Configuration } from './configuration';\r\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\r\n// Some imports not used depending on template conditions\r\n// @ts-ignore\r\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface AgeGroup\r\n */\r\nexport interface AgeGroup {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroup\r\n */\r\n from?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroup\r\n */\r\n to?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AgeGroupView\r\n */\r\nexport interface AgeGroupView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroupView\r\n */\r\n yearsFrom?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroupView\r\n */\r\n yearsTo?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroupView\r\n */\r\n women: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroupView\r\n */\r\n men: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AgeGroupView\r\n */\r\n other: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppConfigurationResponse\r\n */\r\nexport interface AppConfigurationResponse {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof AppConfigurationResponse\r\n */\r\n loggingEnabled: boolean;\r\n /**\r\n * \r\n * @type {LoggingLevel}\r\n * @memberof AppConfigurationResponse\r\n */\r\n loggingLevel: LoggingLevel;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppConfigurationResponse\r\n */\r\n bugFenderKey?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof AppConfigurationResponse\r\n */\r\n metricsEnabled: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppConfigurationResponse\r\n */\r\n metricsIntervalSeconds?: number | null;\r\n /**\r\n * \r\n * @type {CurrencyView}\r\n * @memberof AppConfigurationResponse\r\n */\r\n defaultCurrency?: CurrencyView | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppConfigurationResponse\r\n */\r\n pocPublicKey?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppDownloadUserView\r\n */\r\nexport interface AppDownloadUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserView\r\n */\r\n platform?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AppDownloadUserView\r\n */\r\n downloadDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppDownloadUserViewDataPage\r\n */\r\nexport interface AppDownloadUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppDownloadUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppDownloadUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AppDownloadUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppInteractionUpliftStatistics\r\n */\r\nexport interface AppInteractionUpliftStatistics {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppInteractionUpliftStatistics\r\n */\r\n interactionUplift: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppInteractionUpliftStatistics\r\n */\r\n interactionRate: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppInteractionUserView\r\n */\r\nexport interface AppInteractionUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppInteractionUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppInteractionUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppInteractionUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppInteractionUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppInteractionUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppInteractionUserView\r\n */\r\n nmOfInteractions: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppInteractionUserViewDataPage\r\n */\r\nexport interface AppInteractionUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppInteractionUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppInteractionUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AppInteractionUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (All) 2 (Interacted) 3 (NoInteractions)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum AppInteractionUsersFilter {\r\n /**\r\n * All\r\n */\r\n All = 1,\r\n /**\r\n * Interacted\r\n */\r\n Interacted = 2,\r\n /**\r\n * NoInteractions\r\n */\r\n NoInteractions = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface AppOpenUserView\r\n */\r\nexport interface AppOpenUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserView\r\n */\r\n appVersion?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AppOpenUserView\r\n */\r\n openDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppOpenUserViewDataPage\r\n */\r\nexport interface AppOpenUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppOpenUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppOpenUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AppOpenUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppRegistrationUserView\r\n */\r\nexport interface AppRegistrationUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserView\r\n */\r\n platform?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AppRegistrationUserView\r\n */\r\n registrationDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppRegistrationUserViewDataPage\r\n */\r\nexport interface AppRegistrationUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppRegistrationUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppRegistrationUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AppRegistrationUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppSalesByCustomerTypeView\r\n */\r\nexport interface AppSalesByCustomerTypeView {\r\n /**\r\n * \r\n * @type {CustomerStatistics}\r\n * @memberof AppSalesByCustomerTypeView\r\n */\r\n newCustomers?: CustomerStatistics | null;\r\n /**\r\n * \r\n * @type {CustomerStatistics}\r\n * @memberof AppSalesByCustomerTypeView\r\n */\r\n returningCustomers?: CustomerStatistics | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppTransactionUserView\r\n */\r\nexport interface AppTransactionUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppTransactionUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppTransactionUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppTransactionUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppTransactionUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppTransactionUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppTransactionUserView\r\n */\r\n transactions: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppTransactionUserViewDataPage\r\n */\r\nexport interface AppTransactionUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AppTransactionUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppTransactionUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AppTransactionUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AppUpliftStatistics\r\n */\r\nexport interface AppUpliftStatistics {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppUpliftStatistics\r\n */\r\n conversion: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppUpliftStatistics\r\n */\r\n avgTransactionValue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AppUpliftStatistics\r\n */\r\n storeVisits: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AreaView\r\n */\r\nexport interface AreaView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AreaView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AreaView\r\n */\r\n name?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AvgTransactionQuantityUserView\r\n */\r\nexport interface AvgTransactionQuantityUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n quantity: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n transactions: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionQuantityUserView\r\n */\r\n avgTransactionQuantity: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AvgTransactionQuantityUserViewDataPage\r\n */\r\nexport interface AvgTransactionQuantityUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionQuantityUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionQuantityUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AvgTransactionQuantityUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AvgTransactionValueUserView\r\n */\r\nexport interface AvgTransactionValueUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n revenue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n transactions: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionValueUserView\r\n */\r\n avgTransactionValue: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface AvgTransactionValueUserViewDataPage\r\n */\r\nexport interface AvgTransactionValueUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AvgTransactionValueUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AvgTransactionValueUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AvgTransactionValueUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconLookupView\r\n */\r\nexport interface BeaconLookupView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconLookupView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconLookupView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconLookupView\r\n */\r\n area?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconLookupView\r\n */\r\n store?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconModel\r\n */\r\nexport interface BeaconModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n name: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n uuid: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n major: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n minor: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconModel\r\n */\r\n maxVisitDurationSeconds: number;\r\n /**\r\n * \r\n * @type {LabelValue}\r\n * @memberof BeaconModel\r\n */\r\n area?: LabelValue | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModel\r\n */\r\n beaconType: string;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof BeaconModel\r\n */\r\n cashbox?: boolean | null;\r\n /**\r\n * \r\n * @type {LabelValue}\r\n * @memberof BeaconModel\r\n */\r\n store: LabelValue;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconModelServiceResult\r\n */\r\nexport interface BeaconModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof BeaconModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof BeaconModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {BeaconModel}\r\n * @memberof BeaconModelServiceResult\r\n */\r\n data?: BeaconModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconReference\r\n */\r\nexport interface BeaconReference {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconReference\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconReference\r\n */\r\n name?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconView\r\n */\r\nexport interface BeaconView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconView\r\n */\r\n storeId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n storeName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n uuid?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n major?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n minor?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconView\r\n */\r\n lastContact?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconView\r\n */\r\n maxVisitDurationSeconds: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconView\r\n */\r\n areaName?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconView\r\n */\r\n visitsLast7Days: number;\r\n /**\r\n * \r\n * @type {Strength}\r\n * @memberof BeaconView\r\n */\r\n strength: Strength;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconViewDataPage\r\n */\r\nexport interface BeaconViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconVisitCountView\r\n */\r\nexport interface BeaconVisitCountView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitCountView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitCountView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconVisitCountView\r\n */\r\n nmVisits: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitCountView\r\n */\r\n areaName?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconVisitView\r\n */\r\nexport interface BeaconVisitView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconVisitView\r\n */\r\n storeId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitView\r\n */\r\n userId?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconVisitView\r\n */\r\n utcStart: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconVisitView\r\n */\r\n utcEnd?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconVisitView\r\n */\r\n durationSeconds?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitView\r\n */\r\n beaconId?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitView\r\n */\r\n beaconName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitView\r\n */\r\n beaconUuid?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitView\r\n */\r\n beaconMajor?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitView\r\n */\r\n beaconMinor?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconVisitViewDataPage\r\n */\r\nexport interface BeaconVisitViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconVisitViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconVisitViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconVisitsStatistic\r\n */\r\nexport interface BeaconVisitsStatistic {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconVisitsStatistic\r\n */\r\n durationTick?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconVisitsStatistic\r\n */\r\n nmOfVisits: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconVisitsStatisticsView\r\n */\r\nexport interface BeaconVisitsStatisticsView {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconVisitsStatisticsView\r\n */\r\n beaconVisitsStatistics?: Array | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconVisitsStatisticsView\r\n */\r\n predefinedTicks?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BeaconWarningModel\r\n */\r\nexport interface BeaconWarningModel {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof BeaconWarningModel\r\n */\r\n showTooManyRegionsWarning: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BlogPostModel\r\n */\r\nexport interface BlogPostModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostModel\r\n */\r\n authorImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostModel\r\n */\r\n authorName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostModel\r\n */\r\n authorDescription?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BlogPostModel\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BlogPostModel\r\n */\r\n titleLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BlogPostModel\r\n */\r\n leadTextLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BlogPostModel\r\n */\r\n mainTextLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostModel\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostModel\r\n */\r\n titleLocalizationId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostModel\r\n */\r\n leadTextLocalizationId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostModel\r\n */\r\n mainTextLocalizationId?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BlogPostModelServiceResult\r\n */\r\nexport interface BlogPostModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof BlogPostModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof BlogPostModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {BlogPostModel}\r\n * @memberof BlogPostModelServiceResult\r\n */\r\n data?: BlogPostModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BlogPostView\r\n */\r\nexport interface BlogPostView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n authorImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n authorName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n authorDescription?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BlogPostView\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n leadText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostView\r\n */\r\n articleText?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof BlogPostView\r\n */\r\n deleted: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BlogPostViewDataPage\r\n */\r\nexport interface BlogPostViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BlogPostViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface BrandLookupView\r\n */\r\nexport interface BrandLookupView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BrandLookupView\r\n */\r\n brand?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CampaignDetails\r\n */\r\nexport interface CampaignDetails {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignDetails\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignDetails\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignDetails\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignDetails\r\n */\r\n validTo?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignDetails\r\n */\r\n validFrom?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {CampaignStatus}\r\n * @memberof CampaignDetails\r\n */\r\n status: CampaignStatus;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CampaignLookupView\r\n */\r\nexport interface CampaignLookupView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignLookupView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignLookupView\r\n */\r\n name?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CampaignModel\r\n */\r\nexport interface CampaignModel {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignModel\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignModel\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignModel\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignModel\r\n */\r\n validTo?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignModel\r\n */\r\n validFrom?: IsoDateTimeString | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CampaignModelServiceResult\r\n */\r\nexport interface CampaignModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof CampaignModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CampaignModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {CampaignModel}\r\n * @memberof CampaignModelServiceResult\r\n */\r\n data?: CampaignModel | null;\r\n}\r\n/**\r\n * Values represent: 0 (Newest) 1 (Oldest)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CampaignSort {\r\n /**\r\n * Newest\r\n */\r\n Newest = 0,\r\n /**\r\n * Oldest\r\n */\r\n Oldest = 1\r\n}\r\n\r\n/**\r\n * Values represent: 0 (Scheduled) 1 (Live) 2 (Expired) 3 (Paused) 4 (Deleted)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CampaignStatus {\r\n /**\r\n * Scheduled\r\n */\r\n Scheduled = 0,\r\n /**\r\n * Live\r\n */\r\n Live = 1,\r\n /**\r\n * Expired\r\n */\r\n Expired = 2,\r\n /**\r\n * Paused\r\n */\r\n Paused = 3,\r\n /**\r\n * Deleted\r\n */\r\n Deleted = 4\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface CampaignView\r\n */\r\nexport interface CampaignView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignView\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignView\r\n */\r\n validFrom?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignView\r\n */\r\n validTo?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignView\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignView\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignView\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignView\r\n */\r\n nmMessages: number;\r\n /**\r\n * \r\n * @type {CampaignStatus}\r\n * @memberof CampaignView\r\n */\r\n status: CampaignStatus;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CampaignView\r\n */\r\n actualExpiration: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CampaignViewDataPage\r\n */\r\nexport interface CampaignViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CampaignViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (Added) 2 (Updated) 3 (Deleted)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum ChangeAction {\r\n /**\r\n * Added\r\n */\r\n Added = 1,\r\n /**\r\n * Updated\r\n */\r\n Updated = 2,\r\n /**\r\n * Deleted\r\n */\r\n Deleted = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface ChangePasswordRequest\r\n */\r\nexport interface ChangePasswordRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ChangePasswordRequest\r\n */\r\n oldPassword?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ChangePasswordRequest\r\n */\r\n newPassword?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CityView\r\n */\r\nexport interface CityView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CityView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CityView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CityView\r\n */\r\n countryId: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ClientApps\r\n */\r\nexport interface ClientApps {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ClientApps\r\n */\r\n playStoreUri?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ClientApps\r\n */\r\n appStoreUri?: string | null;\r\n /**\r\n * \r\n * @type {PrivacyPolicySettings}\r\n * @memberof ClientApps\r\n */\r\n privacyPolicy?: PrivacyPolicySettings | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ConstrainDaysModel\r\n */\r\nexport interface ConstrainDaysModel {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ConstrainDaysModel\r\n */\r\n daysAllowed?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ConstrainHoursModel\r\n */\r\nexport interface ConstrainHoursModel {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ConstrainHoursModel\r\n */\r\n from: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ConstrainHoursModel\r\n */\r\n to: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ContactView\r\n */\r\nexport interface ContactView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ContactView\r\n */\r\n storeId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n userId?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n event?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ContactView\r\n */\r\n utcTime: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ContactView\r\n */\r\n suiteTime: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n beaconId?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n beaconName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n beaconUuid?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n beaconMajor?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactView\r\n */\r\n beaconMinor?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ContactViewDataPage\r\n */\r\nexport interface ContactViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ContactViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ContactViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ContactViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ConversionStatistics\r\n */\r\nexport interface ConversionStatistics {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ConversionStatistics\r\n */\r\n total: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ConversionStatistics\r\n */\r\n conversionRate: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ConvertedUserView\r\n */\r\nexport interface ConvertedUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConvertedUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConvertedUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConvertedUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConvertedUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {TrackedOfferView}\r\n * @memberof ConvertedUserView\r\n */\r\n trackedOffer?: TrackedOfferView | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ConvertedUserView\r\n */\r\n conversionDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ConvertedUserViewDataPage\r\n */\r\nexport interface ConvertedUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConvertedUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ConvertedUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ConvertedUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface Coordinates\r\n */\r\nexport interface Coordinates {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Coordinates\r\n */\r\n latitude: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Coordinates\r\n */\r\n longitude: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CountryView\r\n */\r\nexport interface CountryView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CountryView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CountryView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CountryView\r\n */\r\n iso2?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CountryView\r\n */\r\n iso3?: string | null;\r\n /**\r\n * \r\n * @type {PhoneCode}\r\n * @memberof CountryView\r\n */\r\n phoneCode?: PhoneCode | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CreateCampaignCommand\r\n */\r\nexport interface CreateCampaignCommand {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CreateCampaignCommand\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CreateCampaignCommand\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CreateCampaignCommand\r\n */\r\n validTo?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CreateCampaignCommand\r\n */\r\n validFrom?: IsoDateTimeString | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CrudAccessModel\r\n */\r\nexport interface CrudAccessModel {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CrudAccessModel\r\n */\r\n create: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CrudAccessModel\r\n */\r\n read: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CrudAccessModel\r\n */\r\n update: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CrudAccessModel\r\n */\r\n remove: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CurrencyView\r\n */\r\nexport interface CurrencyView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CurrencyView\r\n */\r\n code?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CurrencyView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CurrencyView\r\n */\r\n symbol?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CurrencyView\r\n */\r\n unitValueInEuro: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomAudienceExpression\r\n */\r\nexport interface CustomAudienceExpression {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomAudienceExpression\r\n */\r\n parts?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomAudienceExpressionPart\r\n */\r\nexport interface CustomAudienceExpressionPart {\r\n /**\r\n * \r\n * @type {RuleExpressionPartType}\r\n * @memberof CustomAudienceExpressionPart\r\n */\r\n type: RuleExpressionPartType;\r\n /**\r\n * \r\n * @type {RuleSentence}\r\n * @memberof CustomAudienceExpressionPart\r\n */\r\n sentence?: RuleSentence | null;\r\n}\r\n/**\r\n * Values represent: 0 (Global) 1 (Local)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CustomAudienceType {\r\n /**\r\n * Global\r\n */\r\n Global = 0,\r\n /**\r\n * Local\r\n */\r\n Local = 1\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerDailyPurchasesView\r\n */\r\nexport interface CustomerDailyPurchasesView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerDailyPurchasesView\r\n */\r\n index: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDailyPurchasesView\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDailyPurchasesView\r\n */\r\n date?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerDailyPurchasesView\r\n */\r\n nmPurchases: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerDailyPurchasesView\r\n */\r\n revenue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerDailyPurchasesView\r\n */\r\n quantity: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerDailyPurchasesViewDataPage\r\n */\r\nexport interface CustomerDailyPurchasesViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDailyPurchasesViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerDailyPurchasesViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomerDailyPurchasesViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerDataView\r\n */\r\nexport interface CustomerDataView {\r\n /**\r\n * \r\n * @type {CustomerSummaryViewDataPage}\r\n * @memberof CustomerDataView\r\n */\r\n customerSummary?: CustomerSummaryViewDataPage | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerDataView\r\n */\r\n sumOfStatistics: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerDetailsView\r\n */\r\nexport interface CustomerDetailsView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {Gender}\r\n * @memberof CustomerDetailsView\r\n */\r\n gender: Gender;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n street?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n houseNumber?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n zipCode?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n city?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n country?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n language?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n landlinePhone?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n avatarUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n avatarThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n customerType?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n externalId?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n birthDate?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n modifiedProfile?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CustomerDetailsView\r\n */\r\n disablePushNotifications: boolean;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n lastDisabledPushNotificationsTime?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerDetailsView\r\n */\r\n joinDate?: string | null;\r\n /**\r\n * \r\n * @type {StoreView}\r\n * @memberof CustomerDetailsView\r\n */\r\n favoriteStore?: StoreView | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerEngagement\r\n */\r\nexport interface CustomerEngagement {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomerEngagement\r\n */\r\n locations?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (New) 2 (Vip) 3 (MostActive) 4 (Loyal)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CustomerFilter {\r\n /**\r\n * New\r\n */\r\n New = 1,\r\n /**\r\n * Vip\r\n */\r\n Vip = 2,\r\n /**\r\n * MostActive\r\n */\r\n MostActive = 3,\r\n /**\r\n * Loyal\r\n */\r\n Loyal = 4\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerLookupView\r\n */\r\nexport interface CustomerLookupView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerLookupView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerLookupView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerLookupView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerLookupView\r\n */\r\n loyaltyNumber?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerLookupView\r\n */\r\n pictureUrl?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerLookupViewDataPage\r\n */\r\nexport interface CustomerLookupViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerLookupViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerLookupViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomerLookupViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 0 (Email) 1 (FirstName) 2 (LastName) 3 (JoinDatetimeUtc) 4 (Gender) 5 (BirthDate) 6 (HouseNumber) 7 (Street) 8 (ZipCode) 9 (City) 10 (Country) 11 (Language) 12 (PhoneNumber) 13 (CustomerClubId) 14 (PurchaseDate) 15 (PurchaseUniqueId) 101 (TotalQuantity) 102 (TotalPrice) 103 (TotalDiscount) 104 (SalesPersonId) 105 (StoreId) 106 (StoreImageUrl) 107 (ArticleEan) 108 (ArticleName) 109 (ArticleDescription) 110 (ArticleQuantity) 111 (ArticleFullPrice)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CustomerPurchasesColumn {\r\n /**\r\n * Email\r\n */\r\n Email = 0,\r\n /**\r\n * FirstName\r\n */\r\n FirstName = 1,\r\n /**\r\n * LastName\r\n */\r\n LastName = 2,\r\n /**\r\n * JoinDatetimeUtc\r\n */\r\n JoinDatetimeUtc = 3,\r\n /**\r\n * Gender\r\n */\r\n Gender = 4,\r\n /**\r\n * BirthDate\r\n */\r\n BirthDate = 5,\r\n /**\r\n * HouseNumber\r\n */\r\n HouseNumber = 6,\r\n /**\r\n * Street\r\n */\r\n Street = 7,\r\n /**\r\n * ZipCode\r\n */\r\n ZipCode = 8,\r\n /**\r\n * City\r\n */\r\n City = 9,\r\n /**\r\n * Country\r\n */\r\n Country = 10,\r\n /**\r\n * Language\r\n */\r\n Language = 11,\r\n /**\r\n * PhoneNumber\r\n */\r\n PhoneNumber = 12,\r\n /**\r\n * CustomerClubId\r\n */\r\n CustomerClubId = 13,\r\n /**\r\n * PurchaseDate\r\n */\r\n PurchaseDate = 14,\r\n /**\r\n * PurchaseUniqueId\r\n */\r\n PurchaseUniqueId = 15,\r\n /**\r\n * TotalQuantity\r\n */\r\n TotalQuantity = 101,\r\n /**\r\n * TotalPrice\r\n */\r\n TotalPrice = 102,\r\n /**\r\n * TotalDiscount\r\n */\r\n TotalDiscount = 103,\r\n /**\r\n * SalesPersonId\r\n */\r\n SalesPersonId = 104,\r\n /**\r\n * StoreId\r\n */\r\n StoreId = 105,\r\n /**\r\n * StoreImageUrl\r\n */\r\n StoreImageUrl = 106,\r\n /**\r\n * ArticleEan\r\n */\r\n ArticleEan = 107,\r\n /**\r\n * ArticleName\r\n */\r\n ArticleName = 108,\r\n /**\r\n * ArticleDescription\r\n */\r\n ArticleDescription = 109,\r\n /**\r\n * ArticleQuantity\r\n */\r\n ArticleQuantity = 110,\r\n /**\r\n * ArticleFullPrice\r\n */\r\n ArticleFullPrice = 111\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerPurchasesMapping\r\n */\r\nexport interface CustomerPurchasesMapping {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerPurchasesMapping\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {CustomerPurchasesColumn}\r\n * @memberof CustomerPurchasesMapping\r\n */\r\n destination?: CustomerPurchasesColumn | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerSegment\r\n */\r\nexport interface CustomerSegment {\r\n /**\r\n * \r\n * @type {Reference}\r\n * @memberof CustomerSegment\r\n */\r\n segmentGroupId?: Reference | null;\r\n /**\r\n * \r\n * @type {Reference}\r\n * @memberof CustomerSegment\r\n */\r\n segmentIndex?: Reference | null;\r\n}\r\n/**\r\n * Values represent: 1 (Email) 2 (Name) 3 (LoyaltyNumber) 4 (Statistic)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CustomerSort {\r\n /**\r\n * Email\r\n */\r\n Email = 1,\r\n /**\r\n * Name\r\n */\r\n Name = 2,\r\n /**\r\n * LoyaltyNumber\r\n */\r\n LoyaltyNumber = 3,\r\n /**\r\n * Statistic\r\n */\r\n Statistic = 4\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerStatistics\r\n */\r\nexport interface CustomerStatistics {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n nmCustomers: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n revenue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n transactionCount: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n avgTransactionValue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n avgTransactionQuantity: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n storeVisitsCount: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatistics\r\n */\r\n salesConversionRate: number;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CustomerStatistics\r\n */\r\n isZero: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerStatisticsView\r\n */\r\nexport interface CustomerStatisticsView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatisticsView\r\n */\r\n nmSales: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatisticsView\r\n */\r\n totalRevenue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStatisticsView\r\n */\r\n avgQuantityPerSale: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomerStatisticsView\r\n */\r\n storeVisits?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerStoreVisitView\r\n */\r\nexport interface CustomerStoreVisitView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerStoreVisitView\r\n */\r\n storeName?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomerStoreVisitView\r\n */\r\n visitDate: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStoreVisitView\r\n */\r\n storeId: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerStoreVisitView\r\n */\r\n nmOfVisits: number;\r\n}\r\n/**\r\n * Values represent: 1 (TotalPurchaseAmount) 2 (NmOfBeaconContacts) 3 (NmOfStoreVisits) 4 (NmOfTouchpoints) 5 (Transactions)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum CustomerSummaryStatistic {\r\n /**\r\n * TotalPurchaseAmount\r\n */\r\n TotalPurchaseAmount = 1,\r\n /**\r\n * NmOfBeaconContacts\r\n */\r\n NmOfBeaconContacts = 2,\r\n /**\r\n * NmOfStoreVisits\r\n */\r\n NmOfStoreVisits = 3,\r\n /**\r\n * NmOfTouchpoints\r\n */\r\n NmOfTouchpoints = 4,\r\n /**\r\n * Transactions\r\n */\r\n Transactions = 5\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerSummaryView\r\n */\r\nexport interface CustomerSummaryView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerSummaryView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerSummaryView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerSummaryView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerSummaryView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerSummaryView\r\n */\r\n loyaltyNumber?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerSummaryView\r\n */\r\n statisticValue: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerSummaryViewDataPage\r\n */\r\nexport interface CustomerSummaryViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerSummaryViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerSummaryViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomerSummaryViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerTrackingGridView\r\n */\r\nexport interface CustomerTrackingGridView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerTrackingGridView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerTrackingGridView\r\n */\r\n userName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerTrackingGridView\r\n */\r\n platformDeviceId?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface CustomerTrackingGridViewDataPage\r\n */\r\nexport interface CustomerTrackingGridViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomerTrackingGridViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomerTrackingGridViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomerTrackingGridViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 0 (Sunday) 1 (Monday) 2 (Tuesday) 3 (Wednesday) 4 (Thursday) 5 (Friday) 6 (Saturday)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum DayOfWeek {\r\n /**\r\n * Sunday\r\n */\r\n Sunday = 0,\r\n /**\r\n * Monday\r\n */\r\n Monday = 1,\r\n /**\r\n * Tuesday\r\n */\r\n Tuesday = 2,\r\n /**\r\n * Wednesday\r\n */\r\n Wednesday = 3,\r\n /**\r\n * Thursday\r\n */\r\n Thursday = 4,\r\n /**\r\n * Friday\r\n */\r\n Friday = 5,\r\n /**\r\n * Saturday\r\n */\r\n Saturday = 6\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface DeepLinkPayload\r\n */\r\nexport interface DeepLinkPayload {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DeepLinkPayload\r\n */\r\n keyValues: Array;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DemographicsView\r\n */\r\nexport interface DemographicsView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof DemographicsView\r\n */\r\n women: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof DemographicsView\r\n */\r\n men: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof DemographicsView\r\n */\r\n other: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsView\r\n */\r\n ageGroups?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DepreactedChangePasswordRequest\r\n */\r\nexport interface DepreactedChangePasswordRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DepreactedChangePasswordRequest\r\n */\r\n oldPassword: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DepreactedChangePasswordRequest\r\n */\r\n newPassword: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DepreactedChangePasswordRequest\r\n */\r\n confirmPassword: string;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DeprecatedResetPasswordRequest\r\n */\r\nexport interface DeprecatedResetPasswordRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeprecatedResetPasswordRequest\r\n */\r\n email: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeprecatedResetPasswordRequest\r\n */\r\n password: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeprecatedResetPasswordRequest\r\n */\r\n confirmPassword: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeprecatedResetPasswordRequest\r\n */\r\n code: string;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DeviceId\r\n */\r\nexport interface DeviceId {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeviceId\r\n */\r\n platformId?: string | null;\r\n /**\r\n * \r\n * @type {PlatformType}\r\n * @memberof DeviceId\r\n */\r\n platformType: PlatformType;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DeviceView\r\n */\r\nexport interface DeviceView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof DeviceView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {PlatformType}\r\n * @memberof DeviceView\r\n */\r\n platformType: PlatformType;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeviceView\r\n */\r\n platformDeviceId?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeviceView\r\n */\r\n phoneManufacturer?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeviceView\r\n */\r\n phoneModel?: string | null;\r\n /**\r\n * \r\n * @type {PhoneOS}\r\n * @memberof DeviceView\r\n */\r\n phoneOSType: PhoneOS;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DeviceView\r\n */\r\n phoneOSVersion?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DeviceView\r\n */\r\n utcActivated: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DeviceView\r\n */\r\n utcDeactivated?: IsoDateTimeString | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DiagnosticsGridDataModel\r\n */\r\nexport interface DiagnosticsGridDataModel {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DiagnosticsGridDataModel\r\n */\r\n columnHeaders?: Array | null;\r\n /**\r\n * \r\n * @type {DiagnosticsRowDataPage}\r\n * @memberof DiagnosticsGridDataModel\r\n */\r\n data?: DiagnosticsRowDataPage | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DiagnosticsRow\r\n */\r\nexport interface DiagnosticsRow {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DiagnosticsRow\r\n */\r\n row?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DiagnosticsRowDataPage\r\n */\r\nexport interface DiagnosticsRowDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof DiagnosticsRowDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof DiagnosticsRowDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DiagnosticsRowDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface DuringPeriodModel\r\n */\r\nexport interface DuringPeriodModel {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DuringPeriodModel\r\n */\r\n from: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DuringPeriodModel\r\n */\r\n to: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface EmailSentResponse\r\n */\r\nexport interface EmailSentResponse {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof EmailSentResponse\r\n */\r\n isCustomer: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface EntityChangeView\r\n */\r\nexport interface EntityChangeView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof EntityChangeView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {ChangeAction}\r\n * @memberof EntityChangeView\r\n */\r\n action: ChangeAction;\r\n /**\r\n * \r\n * @type {Table}\r\n * @memberof EntityChangeView\r\n */\r\n table: Table;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof EntityChangeView\r\n */\r\n entityId?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof EntityChangeView\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof EntityChangeView\r\n */\r\n userNameOrId?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof EntityChangeView\r\n */\r\n utcDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface EntityChangeViewDataPage\r\n */\r\nexport interface EntityChangeViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof EntityChangeViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof EntityChangeViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof EntityChangeViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FavoriteStore\r\n */\r\nexport interface FavoriteStore {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof FavoriteStore\r\n */\r\n locations?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FeaturedItemModel\r\n */\r\nexport interface FeaturedItemModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemModel\r\n */\r\n url?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof FeaturedItemModel\r\n */\r\n textLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemModel\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemModel\r\n */\r\n textLocalizationId?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FeaturedItemModelServiceResult\r\n */\r\nexport interface FeaturedItemModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof FeaturedItemModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof FeaturedItemModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {FeaturedItemModel}\r\n * @memberof FeaturedItemModelServiceResult\r\n */\r\n data?: FeaturedItemModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FeaturedItemView\r\n */\r\nexport interface FeaturedItemView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemView\r\n */\r\n url?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemView\r\n */\r\n text?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof FeaturedItemView\r\n */\r\n deleted: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FeaturedItemViewDataPage\r\n */\r\nexport interface FeaturedItemViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof FeaturedItemViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FixedDate\r\n */\r\nexport interface FixedDate {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof FixedDate\r\n */\r\n from: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface FixedDateRange\r\n */\r\nexport interface FixedDateRange {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof FixedDateRange\r\n */\r\n from: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof FixedDateRange\r\n */\r\n to: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ForceSendMessageRequest\r\n */\r\nexport interface ForceSendMessageRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ForceSendMessageRequest\r\n */\r\n customerId?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ForceSendMessageRequest\r\n */\r\n delaySeconds: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ForgotPasswordRequest\r\n */\r\nexport interface ForgotPasswordRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ForgotPasswordRequest\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ForgotPasswordRequest\r\n */\r\n doNotSendEmail?: boolean | null;\r\n}\r\n/**\r\n * Values represent: 1 (Hourly) 2 (Daily) 3 (Weekly)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum Frequency {\r\n /**\r\n * Hourly\r\n */\r\n Hourly = 1,\r\n /**\r\n * Daily\r\n */\r\n Daily = 2,\r\n /**\r\n * Weekly\r\n */\r\n Weekly = 3\r\n}\r\n\r\n/**\r\n * Values represent: 1 (Exactly) 2 (AtLeastOnce) 3 (AtLeast) 4 (AtMost)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum FrequencyCheck {\r\n /**\r\n * Exactly\r\n */\r\n Exactly = 1,\r\n /**\r\n * AtLeastOnce\r\n */\r\n AtLeastOnce = 2,\r\n /**\r\n * AtLeast\r\n */\r\n AtLeast = 3,\r\n /**\r\n * AtMost\r\n */\r\n AtMost = 4\r\n}\r\n\r\n/**\r\n * Values represent: 0 (Other) 1 (Male) 2 (Female)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum Gender {\r\n /**\r\n * Other\r\n */\r\n Other = 0,\r\n /**\r\n * Male\r\n */\r\n Male = 1,\r\n /**\r\n * Female\r\n */\r\n Female = 2\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface HealthChecksView\r\n */\r\nexport interface HealthChecksView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof HealthChecksView\r\n */\r\n totalUsers: number;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n allPermissionsEnabled?: TotalAndRateView | null;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n pushNotificationEnabled?: TotalAndRateView | null;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n bluetoothEnabled?: TotalAndRateView | null;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n locationEnabled?: TotalAndRateView | null;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n locationAlwaysAllowed?: TotalAndRateView | null;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n locationAllowedWhileUsing?: TotalAndRateView | null;\r\n /**\r\n * \r\n * @type {TotalAndRateView}\r\n * @memberof HealthChecksView\r\n */\r\n locationFullPrecision?: TotalAndRateView | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ImageUploadResponse\r\n */\r\nexport interface ImageUploadResponse {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ImageUploadResponse\r\n */\r\n imagePath?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ImageUploadResponse\r\n */\r\n imageGrayscalePath?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ImageUploadResponse\r\n */\r\n thumbnailPath?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ImageUploadResponse\r\n */\r\n thumbnailGrayscalePath?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ImageUploadSettings\r\n */\r\nexport interface ImageUploadSettings {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ImageUploadSettings\r\n */\r\n generateGrayscale: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ImageUploadSettings\r\n */\r\n generateThumbnail: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ImageUploadSettings\r\n */\r\n generateThumbnailGrayscale: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ImageUploadSettings\r\n */\r\n skipResizing?: boolean | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ImportResponse\r\n */\r\nexport interface ImportResponse {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ImportResponse\r\n */\r\n nmAddedRows: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ImportResponse\r\n */\r\n nmUpdatedRows: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ImportResponse\r\n */\r\n nmFailedRows: number;\r\n /**\r\n * \r\n * @type {Array>}\r\n * @memberof ImportResponse\r\n */\r\n failedRows?: Array> | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface IndefiniteModel\r\n */\r\nexport interface IndefiniteModel {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof IndefiniteModel\r\n */\r\n dateTime: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface InlineObject\r\n */\r\nexport interface InlineObject {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof InlineObject\r\n */\r\n grant_type?: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof InlineObject\r\n */\r\n username?: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof InlineObject\r\n */\r\n password?: string;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface InlineObject1\r\n */\r\nexport interface InlineObject1 {\r\n /**\r\n * \r\n * @type {ImageUploadSettings}\r\n * @memberof InlineObject1\r\n */\r\n settings?: ImageUploadSettings;\r\n /**\r\n * \r\n * @type {any}\r\n * @memberof InlineObject1\r\n */\r\n image?: any;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface KeyValue\r\n */\r\nexport interface KeyValue {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof KeyValue\r\n */\r\n key: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof KeyValue\r\n */\r\n value: string;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface LabelValue\r\n */\r\nexport interface LabelValue {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof LabelValue\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LabelValue\r\n */\r\n value: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface LastBeaconContact\r\n */\r\nexport interface LastBeaconContact {\r\n /**\r\n * \r\n * @type {PredefinedTimeSpan}\r\n * @memberof LastBeaconContact\r\n */\r\n time?: PredefinedTimeSpan | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LastBeaconContact\r\n */\r\n locations?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface LiveBeaconContact\r\n */\r\nexport interface LiveBeaconContact {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LiveBeaconContact\r\n */\r\n minDurationSeconds?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LiveBeaconContact\r\n */\r\n maxDistanceSeconds?: number | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LiveBeaconContact\r\n */\r\n beacons?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface LocalizationTextModel\r\n */\r\nexport interface LocalizationTextModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof LocalizationTextModel\r\n */\r\n languageCode: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof LocalizationTextModel\r\n */\r\n text?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface Location\r\n */\r\nexport interface Location {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof Location\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Location\r\n */\r\n areaId?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof Location\r\n */\r\n beaconId?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Location\r\n */\r\n storeId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Location\r\n */\r\n cityId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Location\r\n */\r\n countryId?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface LocationView\r\n */\r\nexport interface LocationView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof LocationView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationView\r\n */\r\n cityId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationView\r\n */\r\n countryId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationView\r\n */\r\n storeId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationView\r\n */\r\n areaId?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof LocationView\r\n */\r\n beaconId?: string | null;\r\n}\r\n/**\r\n * Values represent: 1 (Verbose) 2 (Debug) 3 (Info) 4 (Warning) 5 (Error) 999 (Silent)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum LoggingLevel {\r\n /**\r\n * Verbose\r\n */\r\n Verbose = 1,\r\n /**\r\n * Debug\r\n */\r\n Debug = 2,\r\n /**\r\n * Info\r\n */\r\n Info = 3,\r\n /**\r\n * Warning\r\n */\r\n Warning = 4,\r\n /**\r\n * Error\r\n */\r\n Error = 5,\r\n /**\r\n * Silent\r\n */\r\n Silent = 999\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface MessageDetails\r\n */\r\nexport interface MessageDetails {\r\n /**\r\n * \r\n * @type {LabelValue}\r\n * @memberof MessageDetails\r\n */\r\n campaign?: LabelValue | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageDetails\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageDetails\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageDetails\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageDetails\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageDetails\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageDetails\r\n */\r\n isRedeemable: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageDetails\r\n */\r\n isSilent: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageDetails\r\n */\r\n estimatedAudience?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageDetails\r\n */\r\n convertingOfferId?: number | null;\r\n /**\r\n * \r\n * @type {ScheduleModel}\r\n * @memberof MessageDetails\r\n */\r\n schedule?: ScheduleModel | null;\r\n /**\r\n * \r\n * @type {ValidityModel}\r\n * @memberof MessageDetails\r\n */\r\n validity?: ValidityModel | null;\r\n /**\r\n * \r\n * @type {CustomAudienceExpression}\r\n * @memberof MessageDetails\r\n */\r\n customAudience?: CustomAudienceExpression | null;\r\n /**\r\n * \r\n * @type {DeepLinkPayload}\r\n * @memberof MessageDetails\r\n */\r\n deepLinkPayload?: DeepLinkPayload | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessageDetails\r\n */\r\n translations?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageDetails\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageDetails\r\n */\r\n draftId?: number | null;\r\n}\r\n/**\r\n * Values represent: 0 (Label) 1 (CampaignStartDate) 2 (Sent) 3 (Read) 4 (Clicked) 5 (Redeemed) 6 (Delivered) 7 (NmConversions)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum MessageInteractionPerformanceSortColumn {\r\n /**\r\n * Label\r\n */\r\n Label = 0,\r\n /**\r\n * CampaignStartDate\r\n */\r\n CampaignStartDate = 1,\r\n /**\r\n * Sent\r\n */\r\n Sent = 2,\r\n /**\r\n * Read\r\n */\r\n Read = 3,\r\n /**\r\n * Clicked\r\n */\r\n Clicked = 4,\r\n /**\r\n * Redeemed\r\n */\r\n Redeemed = 5,\r\n /**\r\n * Delivered\r\n */\r\n Delivered = 6,\r\n /**\r\n * NmConversions\r\n */\r\n NmConversions = 7\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface MessageInteractionPerformanceView\r\n */\r\nexport interface MessageInteractionPerformanceView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n campaignId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n campaignTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n pushTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n pushText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n offerTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n offerText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n offerRichText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n callToActionTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n callToActionLink?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n isRedeemable: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n hasCallToAction: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n nmSent: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n nmDelivered: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n nmRead: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n nmClicked: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n nmConversions: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n conversionRate: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n clickThroughRate: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n nmRedeemed: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n redeemedRate: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n campaignStartDate?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceView\r\n */\r\n convertingOfferLabel?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MessageInteractionPerformanceViewDataPage\r\n */\r\nexport interface MessageInteractionPerformanceViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageInteractionPerformanceViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageInteractionPerformanceViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessageInteractionPerformanceViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MessageLookupView\r\n */\r\nexport interface MessageLookupView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageLookupView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageLookupView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageLookupView\r\n */\r\n campaign?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageLookupView\r\n */\r\n isAConvertingOffer: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageLookupView\r\n */\r\n deactivated: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MessageModel\r\n */\r\nexport interface MessageModel {\r\n /**\r\n * \r\n * @type {LabelValue}\r\n * @memberof MessageModel\r\n */\r\n campaign?: LabelValue | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageModel\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageModel\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageModel\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageModel\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageModel\r\n */\r\n isRedeemable: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageModel\r\n */\r\n isSilent: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageModel\r\n */\r\n estimatedAudience?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageModel\r\n */\r\n convertingOfferId?: number | null;\r\n /**\r\n * \r\n * @type {ScheduleModel}\r\n * @memberof MessageModel\r\n */\r\n schedule?: ScheduleModel | null;\r\n /**\r\n * \r\n * @type {ValidityModel}\r\n * @memberof MessageModel\r\n */\r\n validity?: ValidityModel | null;\r\n /**\r\n * \r\n * @type {CustomAudienceExpression}\r\n * @memberof MessageModel\r\n */\r\n customAudience?: CustomAudienceExpression | null;\r\n /**\r\n * \r\n * @type {DeepLinkPayload}\r\n * @memberof MessageModel\r\n */\r\n deepLinkPayload?: DeepLinkPayload | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessageModel\r\n */\r\n translations?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MessageResend\r\n */\r\nexport interface MessageResend {\r\n /**\r\n * \r\n * @type {ResendInterval}\r\n * @memberof MessageResend\r\n */\r\n resendInterval: ResendInterval;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageResend\r\n */\r\n customNumberOfDays?: number | null;\r\n}\r\n/**\r\n * Values represent: 0 (Label) 1 (CampaignStartDate) 2 (Sent) 3 (Read) 4 (Clicked) 5 (Redeemed) 6 (Delivered) 7 (NmConversions)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum MessageRevenuePerformanceSortColumn {\r\n /**\r\n * Label\r\n */\r\n Label = 0,\r\n /**\r\n * CampaignStartDate\r\n */\r\n CampaignStartDate = 1,\r\n /**\r\n * Sent\r\n */\r\n Sent = 2,\r\n /**\r\n * Read\r\n */\r\n Read = 3,\r\n /**\r\n * Clicked\r\n */\r\n Clicked = 4,\r\n /**\r\n * Redeemed\r\n */\r\n Redeemed = 5,\r\n /**\r\n * Delivered\r\n */\r\n Delivered = 6,\r\n /**\r\n * NmConversions\r\n */\r\n NmConversions = 7\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface MessageRevenuePerformanceView\r\n */\r\nexport interface MessageRevenuePerformanceView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n campaignId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n campaignTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n pushTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n pushText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n offerTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n offerText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n offerRichText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n callToActionTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n callToActionLink?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n isRedeemable: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmSent: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmDelivered: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmRead: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmClicked: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmRedeemed: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmVisits: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmSales: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n nmConversions: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n revenue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n salesConversionRate: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n avgTransactionValue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n avgQuantity: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n campaignStartDate?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceView\r\n */\r\n convertingOfferLabel?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MessageRevenuePerformanceViewDataPage\r\n */\r\nexport interface MessageRevenuePerformanceViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageRevenuePerformanceViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageRevenuePerformanceViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessageRevenuePerformanceViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (Newest) 2 (Oldest) 3 (TitleAsc) 4 (TitleDesc)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum MessageSort {\r\n /**\r\n * Newest\r\n */\r\n Newest = 1,\r\n /**\r\n * Oldest\r\n */\r\n Oldest = 2,\r\n /**\r\n * TitleAsc\r\n */\r\n TitleAsc = 3,\r\n /**\r\n * TitleDesc\r\n */\r\n TitleDesc = 4\r\n}\r\n\r\n/**\r\n * Values represent: 1 (Scheduled) 2 (Live) 3 (Expired) 4 (Deleted) 5 (Paused)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum MessageStatus {\r\n /**\r\n * Scheduled\r\n */\r\n Scheduled = 1,\r\n /**\r\n * Live\r\n */\r\n Live = 2,\r\n /**\r\n * Expired\r\n */\r\n Expired = 3,\r\n /**\r\n * Deleted\r\n */\r\n Deleted = 4,\r\n /**\r\n * Paused\r\n */\r\n Paused = 5\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface MessageView\r\n */\r\nexport interface MessageView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageView\r\n */\r\n campaignId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n campaignTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n pushTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n pushText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n offerTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n offerText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n offerRichText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n callToActionTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n callToActionLink?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageView\r\n */\r\n isRedeemable: boolean;\r\n /**\r\n * \r\n * @type {CampaignStatus}\r\n * @memberof MessageView\r\n */\r\n campaignStatus: CampaignStatus;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessageView\r\n */\r\n dateAt?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessageView\r\n */\r\n dateFrom?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessageView\r\n */\r\n dateTo?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageView\r\n */\r\n deactivated: boolean;\r\n /**\r\n * \r\n * @type {MessageStatus}\r\n * @memberof MessageView\r\n */\r\n status: MessageStatus;\r\n /**\r\n * \r\n * @type {CustomAudienceExpression}\r\n * @memberof MessageView\r\n */\r\n audienceConfig?: CustomAudienceExpression | null;\r\n /**\r\n * \r\n * @type {CustomAudienceType}\r\n * @memberof MessageView\r\n */\r\n audienceType: CustomAudienceType;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageView\r\n */\r\n estimatedAudience?: number | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageView\r\n */\r\n isSilent: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageView\r\n */\r\n isConvertingMessage: boolean;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n convertedOfferLabel?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessageView\r\n */\r\n isConvertedMessage: boolean;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageView\r\n */\r\n convertingOfferLabel?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageView\r\n */\r\n draftId?: number | null;\r\n /**\r\n * \r\n * @type {DeepLinkPayload}\r\n * @memberof MessageView\r\n */\r\n deepLinkConfig?: DeepLinkPayload | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MessageViewDataPage\r\n */\r\nexport interface MessageViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessageViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessageViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessageViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MostActiveCustomers\r\n */\r\nexport interface MostActiveCustomers {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MostActiveCustomers\r\n */\r\n minNumberOfPurchases?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MostActiveCustomers\r\n */\r\n topPercentage?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface MostStoreVisits\r\n */\r\nexport interface MostStoreVisits {\r\n /**\r\n * \r\n * @type {PredefinedTimeSpan}\r\n * @memberof MostStoreVisits\r\n */\r\n time?: PredefinedTimeSpan | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MostStoreVisits\r\n */\r\n locations?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MostStoreVisits\r\n */\r\n topPercent: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface NewCustomerView\r\n */\r\nexport interface NewCustomerView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NewCustomerView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NewCustomerView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NewCustomerView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NewCustomerView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NewCustomerView\r\n */\r\n platform?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof NewCustomerView\r\n */\r\n revenue: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof NewCustomerView\r\n */\r\n firstPurchaseDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface NewCustomerViewDataPage\r\n */\r\nexport interface NewCustomerViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NewCustomerViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof NewCustomerViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof NewCustomerViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface NewVsReturningView\r\n */\r\nexport interface NewVsReturningView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof NewVsReturningView\r\n */\r\n newVsReturning?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof NewVsReturningView\r\n */\r\n nmNew: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof NewVsReturningView\r\n */\r\n nmReturning: number;\r\n}\r\n/**\r\n * Values represent: 1 (Sent) 2 (Delivered) 3 (Read) 4 (Clicked) 5 (Redeemed) 6 (Converted)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum NotificationMark {\r\n /**\r\n * Sent\r\n */\r\n Sent = 1,\r\n /**\r\n * Delivered\r\n */\r\n Delivered = 2,\r\n /**\r\n * Read\r\n */\r\n Read = 3,\r\n /**\r\n * Clicked\r\n */\r\n Clicked = 4,\r\n /**\r\n * Redeemed\r\n */\r\n Redeemed = 5,\r\n /**\r\n * Converted\r\n */\r\n Converted = 6\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface NotificationUserView\r\n */\r\nexport interface NotificationUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n platform?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserView\r\n */\r\n storeLocationAtSend?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof NotificationUserView\r\n */\r\n date: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface NotificationUserViewDataPage\r\n */\r\nexport interface NotificationUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof NotificationUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof NotificationUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof NotificationUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface OfferDraftModel\r\n */\r\nexport interface OfferDraftModel {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof OfferDraftModel\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof OfferDraftModel\r\n */\r\n offerId?: number | null;\r\n /**\r\n * \r\n * @type {MessageModel}\r\n * @memberof OfferDraftModel\r\n */\r\n message?: MessageModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface OnlyOnceModel\r\n */\r\nexport interface OnlyOnceModel {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof OnlyOnceModel\r\n */\r\n dateTime: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PasswordChangedResponse\r\n */\r\nexport interface PasswordChangedResponse {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof PasswordChangedResponse\r\n */\r\n isAdmin: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof PasswordChangedResponse\r\n */\r\n isSuperAdmin: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof PasswordChangedResponse\r\n */\r\n isCustomer: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PhoneCode\r\n */\r\nexport interface PhoneCode {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PhoneCode\r\n */\r\n countryCode?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof PhoneCode\r\n */\r\n validPrefixes?: Array | null;\r\n}\r\n/**\r\n * Values represent: 0 (Other) 1 (Android) 2 (iOS)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum PhoneOS {\r\n /**\r\n * Other\r\n */\r\n Other = 0,\r\n /**\r\n * Android\r\n */\r\n Android = 1,\r\n /**\r\n * iOS\r\n */\r\n iOS = 2\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface PlacedBeacon\r\n */\r\nexport interface PlacedBeacon {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PlacedBeacon\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PlacedBeacon\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PlacedBeacon\r\n */\r\n x: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PlacedBeacon\r\n */\r\n y: number;\r\n}\r\n/**\r\n * Values represent: 0 (Unknown) 1 (Fcm) 2 (Apns)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum PlatformType {\r\n /**\r\n * Unknown\r\n */\r\n Unknown = 0,\r\n /**\r\n * Fcm\r\n */\r\n Fcm = 1,\r\n /**\r\n * Apns\r\n */\r\n Apns = 2\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface PocUserModel\r\n */\r\nexport interface PocUserModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserModel\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserModel\r\n */\r\n firstName: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserModel\r\n */\r\n lastName: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserModel\r\n */\r\n email: string;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof PocUserModel\r\n */\r\n expirationDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PocUserView\r\n */\r\nexport interface PocUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof PocUserView\r\n */\r\n expirationDateLocal: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PocUserViewDataPage\r\n */\r\nexport interface PocUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PocUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof PocUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PredefinedTimeSpan\r\n */\r\nexport interface PredefinedTimeSpan {\r\n /**\r\n * \r\n * @type {TimeSpanRange}\r\n * @memberof PredefinedTimeSpan\r\n */\r\n range: TimeSpanRange;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PredefinedTimeSpan\r\n */\r\n hour?: number | null;\r\n /**\r\n * \r\n * @type {RelativeTime}\r\n * @memberof PredefinedTimeSpan\r\n */\r\n relativeTime?: RelativeTime | null;\r\n /**\r\n * \r\n * @type {RelativeTimeRange}\r\n * @memberof PredefinedTimeSpan\r\n */\r\n relativeTimeRange?: RelativeTimeRange | null;\r\n /**\r\n * \r\n * @type {FixedDate}\r\n * @memberof PredefinedTimeSpan\r\n */\r\n fixedDate?: FixedDate | null;\r\n /**\r\n * \r\n * @type {FixedDateRange}\r\n * @memberof PredefinedTimeSpan\r\n */\r\n fixedDateRange?: FixedDateRange | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PreviousCurrentValueView\r\n */\r\nexport interface PreviousCurrentValueView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PreviousCurrentValueView\r\n */\r\n current: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PreviousCurrentValueView\r\n */\r\n previous: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PrivacyPolicySettings\r\n */\r\nexport interface PrivacyPolicySettings {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PrivacyPolicySettings\r\n */\r\n clientLegalName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PrivacyPolicySettings\r\n */\r\n clientAppName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PrivacyPolicySettings\r\n */\r\n beaconsmindLegalName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PrivacyPolicySettings\r\n */\r\n privacySupportEmail?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof PrivacyPolicySettings\r\n */\r\n requiresUserPhoneNumber: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProblemDetails\r\n */\r\nexport interface ProblemDetails {\r\n [key: string]: any | any;\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProblemDetails\r\n */\r\n type?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProblemDetails\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProblemDetails\r\n */\r\n status?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProblemDetails\r\n */\r\n detail?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProblemDetails\r\n */\r\n instance?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductAndPurchases\r\n */\r\nexport interface ProductAndPurchases {\r\n /**\r\n * \r\n * @type {PurchaseCheck}\r\n * @memberof ProductAndPurchases\r\n */\r\n purchaseCheck?: PurchaseCheck | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductAndPurchases\r\n */\r\n brand?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductAndPurchases\r\n */\r\n descriptionKeywords?: Array | null;\r\n /**\r\n * \r\n * @type {RateOfOccurence}\r\n * @memberof ProductAndPurchases\r\n */\r\n rateOfOccurence?: RateOfOccurence | null;\r\n /**\r\n * \r\n * @type {PredefinedTimeSpan}\r\n * @memberof ProductAndPurchases\r\n */\r\n time?: PredefinedTimeSpan | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductCategoryLookupView\r\n */\r\nexport interface ProductCategoryLookupView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoryLookupView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryLookupView\r\n */\r\n name?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductCategoryModel\r\n */\r\nexport interface ProductCategoryModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryModel\r\n */\r\n url?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductCategoryModel\r\n */\r\n nameLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoryModel\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoryModel\r\n */\r\n nameLocalizationId?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductCategoryModelServiceResult\r\n */\r\nexport interface ProductCategoryModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof ProductCategoryModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProductCategoryModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {ProductCategoryModel}\r\n * @memberof ProductCategoryModelServiceResult\r\n */\r\n data?: ProductCategoryModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductCategoryView\r\n */\r\nexport interface ProductCategoryView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoryView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryView\r\n */\r\n url?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProductCategoryView\r\n */\r\n deleted: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProductCategoryView\r\n */\r\n hasProducts: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductCategoryViewDataPage\r\n */\r\nexport interface ProductCategoryViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoryViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoryViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductCategoryViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (ProductIdentifier) 2 (ImageUrl) 3 (FromPrice) 4 (ToPrice) 5 (Name) 6 (Description) 7 (Url) 101 (CategoryName) 102 (CategoryImageUrl) 103 (CategoryUrl)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum ProductImportColumn {\r\n /**\r\n * ProductIdentifier\r\n */\r\n ProductIdentifier = 1,\r\n /**\r\n * ImageUrl\r\n */\r\n ImageUrl = 2,\r\n /**\r\n * FromPrice\r\n */\r\n FromPrice = 3,\r\n /**\r\n * ToPrice\r\n */\r\n ToPrice = 4,\r\n /**\r\n * Name\r\n */\r\n Name = 5,\r\n /**\r\n * Description\r\n */\r\n Description = 6,\r\n /**\r\n * Url\r\n */\r\n Url = 7,\r\n /**\r\n * CategoryName\r\n */\r\n CategoryName = 101,\r\n /**\r\n * CategoryImageUrl\r\n */\r\n CategoryImageUrl = 102,\r\n /**\r\n * CategoryUrl\r\n */\r\n CategoryUrl = 103\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface ProductModel\r\n */\r\nexport interface ProductModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductModel\r\n */\r\n url?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductModel\r\n */\r\n currency?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductModel\r\n */\r\n fromPrice?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductModel\r\n */\r\n toPrice?: number | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductModel\r\n */\r\n nameLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductModel\r\n */\r\n descriptionLocalizations?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductModel\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductModel\r\n */\r\n categoryId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductModel\r\n */\r\n nameLocalizationId?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductModel\r\n */\r\n descriptionLocalizationId?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductModelServiceResult\r\n */\r\nexport interface ProductModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof ProductModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProductModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {ProductModel}\r\n * @memberof ProductModelServiceResult\r\n */\r\n data?: ProductModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductPreference\r\n */\r\nexport interface ProductPreference {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductPreference\r\n */\r\n productCategory?: Array | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductPreference\r\n */\r\n minPurchases: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductView\r\n */\r\nexport interface ProductView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n url?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n currency?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductView\r\n */\r\n fromPrice?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductView\r\n */\r\n toPrice?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n categoryImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductView\r\n */\r\n categoryName?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProductView\r\n */\r\n deleted: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductViewDataPage\r\n */\r\nexport interface ProductViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProductsMapping\r\n */\r\nexport interface ProductsMapping {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductsMapping\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {ProductImportColumn}\r\n * @memberof ProductsMapping\r\n */\r\n destination?: ProductImportColumn | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ProfileResponse\r\n */\r\nexport interface ProfileResponse {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n url: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n id: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n userName: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n fullName: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n favoriteStore: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n firstName: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n lastName: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n gender: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n language: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n street: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n houseNumber: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n zipCode: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n city: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n country: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n landlinePhone: string;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ProfileResponse\r\n */\r\n birthDate?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProfileResponse\r\n */\r\n favoriteStoreId?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n avatarUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n avatarThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n * @deprecated\r\n */\r\n clubId?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProfileResponse\r\n */\r\n disablePushNotifications: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ProfileResponse\r\n * @deprecated\r\n */\r\n newsLetterSubscription: boolean;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProfileResponse\r\n */\r\n phoneNumber: string;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ProfileResponse\r\n */\r\n joinDate: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProfileResponse\r\n */\r\n roles?: Array | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProfileResponse\r\n */\r\n claims?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PropertyChangeView\r\n */\r\nexport interface PropertyChangeView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PropertyChangeView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PropertyChangeView\r\n */\r\n originalValue?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PropertyChangeView\r\n */\r\n newValue?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof PropertyChangeView\r\n */\r\n isPrimaryKey: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface PropertyChangeViewDataPage\r\n */\r\nexport interface PropertyChangeViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PropertyChangeViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PropertyChangeViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof PropertyChangeViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (SpecificProduct) 2 (HasNotPurchased) 3 (OrderWithTotalAmount) 4 (OrderWithDiscountAmount)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum PurchaseAction {\r\n /**\r\n * SpecificProduct\r\n */\r\n SpecificProduct = 1,\r\n /**\r\n * HasNotPurchased\r\n */\r\n HasNotPurchased = 2,\r\n /**\r\n * OrderWithTotalAmount\r\n */\r\n OrderWithTotalAmount = 3,\r\n /**\r\n * OrderWithDiscountAmount\r\n */\r\n OrderWithDiscountAmount = 4\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface PurchaseCheck\r\n */\r\nexport interface PurchaseCheck {\r\n /**\r\n * \r\n * @type {PurchaseAction}\r\n * @memberof PurchaseCheck\r\n */\r\n purchaseAction: PurchaseAction;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PurchaseCheck\r\n */\r\n amount?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface RateOfOccurence\r\n */\r\nexport interface RateOfOccurence {\r\n /**\r\n * \r\n * @type {FrequencyCheck}\r\n * @memberof RateOfOccurence\r\n */\r\n frequencyCheck: FrequencyCheck;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RateOfOccurence\r\n */\r\n amount: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ReceivedExistingOffer\r\n */\r\nexport interface ReceivedExistingOffer {\r\n /**\r\n * \r\n * @type {RecipientSelection}\r\n * @memberof ReceivedExistingOffer\r\n */\r\n selection: RecipientSelection;\r\n /**\r\n * \r\n * @type {Reference}\r\n * @memberof ReceivedExistingOffer\r\n */\r\n offer?: Reference | null;\r\n /**\r\n * \r\n * @type {ReceptionPeriod}\r\n * @memberof ReceivedExistingOffer\r\n */\r\n period: ReceptionPeriod;\r\n}\r\n/**\r\n * Values represent: 0 (Today) 1 (SinceYesterday) 2 (InLastSevenDays) 3 (InLastThirtyDays) 4 (InLastThreeMonths) 5 (InLastSixMonths) 6 (Ever)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum ReceptionPeriod {\r\n /**\r\n * Today\r\n */\r\n Today = 0,\r\n /**\r\n * SinceYesterday\r\n */\r\n SinceYesterday = 1,\r\n /**\r\n * InLastSevenDays\r\n */\r\n InLastSevenDays = 2,\r\n /**\r\n * InLastThirtyDays\r\n */\r\n InLastThirtyDays = 3,\r\n /**\r\n * InLastThreeMonths\r\n */\r\n InLastThreeMonths = 4,\r\n /**\r\n * InLastSixMonths\r\n */\r\n InLastSixMonths = 5,\r\n /**\r\n * Ever\r\n */\r\n Ever = 6\r\n}\r\n\r\n/**\r\n * Values represent: 0 (Include) 1 (Exclude)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum RecipientSelection {\r\n /**\r\n * Include\r\n */\r\n Include = 0,\r\n /**\r\n * Exclude\r\n */\r\n Exclude = 1\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface RedemptionUserView\r\n */\r\nexport interface RedemptionUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RedemptionUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RedemptionUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RedemptionUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RedemptionUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RedemptionUserView\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RedemptionUserView\r\n */\r\n sentDate?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RedemptionUserView\r\n */\r\n redemptionDate?: IsoDateTimeString | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface RedemptionUserViewDataPage\r\n */\r\nexport interface RedemptionUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RedemptionUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RedemptionUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RedemptionUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (All) 2 (Redeemed) 3 (NonRedeemed)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum RedemptionUsersFilter {\r\n /**\r\n * All\r\n */\r\n All = 1,\r\n /**\r\n * Redeemed\r\n */\r\n Redeemed = 2,\r\n /**\r\n * NonRedeemed\r\n */\r\n NonRedeemed = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface Reference\r\n */\r\nexport interface Reference {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof Reference\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof Reference\r\n */\r\n name?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface RegistrationsView\r\n */\r\nexport interface RegistrationsView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RegistrationsView\r\n */\r\n nmRegistrations: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RegistrationsView\r\n */\r\n nmAndroid: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RegistrationsView\r\n */\r\n nmIos: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface RelativeTime\r\n */\r\nexport interface RelativeTime {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RelativeTime\r\n */\r\n amount: number;\r\n /**\r\n * \r\n * @type {TimeUnit}\r\n * @memberof RelativeTime\r\n */\r\n unit: TimeUnit;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RelativeTime\r\n */\r\n explicitHour?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface RelativeTimeRange\r\n */\r\nexport interface RelativeTimeRange {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RelativeTimeRange\r\n */\r\n amount: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RelativeTimeRange\r\n */\r\n toAmount: number;\r\n /**\r\n * \r\n * @type {TimeUnit}\r\n * @memberof RelativeTimeRange\r\n */\r\n unit: TimeUnit;\r\n}\r\n/**\r\n * Values represent: 0 (None) 1 (Daily) 2 (Weekly) 3 (Monthly) 4 (Yearly) 5 (CustomDays)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum ResendInterval {\r\n /**\r\n * None\r\n */\r\n None = 0,\r\n /**\r\n * Daily\r\n */\r\n Daily = 1,\r\n /**\r\n * Weekly\r\n */\r\n Weekly = 2,\r\n /**\r\n * Monthly\r\n */\r\n Monthly = 3,\r\n /**\r\n * Yearly\r\n */\r\n Yearly = 4,\r\n /**\r\n * CustomDays\r\n */\r\n CustomDays = 5\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface ResetPasswordRequest\r\n */\r\nexport interface ResetPasswordRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ResetPasswordRequest\r\n */\r\n token?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ResetPasswordRequest\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ResetPasswordRequest\r\n */\r\n password?: string | null;\r\n}\r\n/**\r\n * Values represent: 0 (Success) 1 (InternalServerError) 2 (NotFound) 3 (IncorrectData)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum ResultStatus {\r\n /**\r\n * Success\r\n */\r\n Success = 0,\r\n /**\r\n * InternalServerError\r\n */\r\n InternalServerError = 1,\r\n /**\r\n * NotFound\r\n */\r\n NotFound = 2,\r\n /**\r\n * IncorrectData\r\n */\r\n IncorrectData = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface ReturningCustomers\r\n */\r\nexport interface ReturningCustomers {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReturningCustomers\r\n */\r\n locations?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface RichText\r\n */\r\nexport interface RichText {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RichText\r\n */\r\n rich?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof RichText\r\n */\r\n plain?: string | null;\r\n}\r\n/**\r\n * Values represent: 1 (Sentence) 2 (And) 3 (Or)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum RuleExpressionPartType {\r\n /**\r\n * Sentence\r\n */\r\n Sentence = 1,\r\n /**\r\n * And\r\n */\r\n And = 2,\r\n /**\r\n * Or\r\n */\r\n Or = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface RuleSentence\r\n */\r\nexport interface RuleSentence {\r\n /**\r\n * \r\n * @type {object}\r\n * @memberof RuleSentence\r\n */\r\n newRegistrations?: object | null;\r\n /**\r\n * \r\n * @type {LiveBeaconContact}\r\n * @memberof RuleSentence\r\n */\r\n liveBeaconContact?: LiveBeaconContact | null;\r\n /**\r\n * \r\n * @type {LastBeaconContact}\r\n * @memberof RuleSentence\r\n */\r\n lastBeaconContact?: LastBeaconContact | null;\r\n /**\r\n * \r\n * @type {SpecificBeaconContact}\r\n * @memberof RuleSentence\r\n */\r\n specificBeaconContact?: SpecificBeaconContact | null;\r\n /**\r\n * \r\n * @type {MostStoreVisits}\r\n * @memberof RuleSentence\r\n */\r\n mostStoreVisits?: MostStoreVisits | null;\r\n /**\r\n * \r\n * @type {FavoriteStore}\r\n * @memberof RuleSentence\r\n */\r\n favoriteStore?: FavoriteStore | null;\r\n /**\r\n * \r\n * @type {SpecificGender}\r\n * @memberof RuleSentence\r\n */\r\n specificGender?: SpecificGender | null;\r\n /**\r\n * \r\n * @type {SpecificAge}\r\n * @memberof RuleSentence\r\n */\r\n specificAge?: SpecificAge | null;\r\n /**\r\n * \r\n * @type {object}\r\n * @memberof RuleSentence\r\n */\r\n birthdayToday?: object | null;\r\n /**\r\n * \r\n * @type {ProductPreference}\r\n * @memberof RuleSentence\r\n */\r\n productPreference?: ProductPreference | null;\r\n /**\r\n * \r\n * @type {object}\r\n * @memberof RuleSentence\r\n */\r\n clickAndCollect?: object | null;\r\n /**\r\n * \r\n * @type {ProductAndPurchases}\r\n * @memberof RuleSentence\r\n */\r\n productAndPurchases?: ProductAndPurchases | null;\r\n /**\r\n * \r\n * @type {ReturningCustomers}\r\n * @memberof RuleSentence\r\n */\r\n returningCustomers?: ReturningCustomers | null;\r\n /**\r\n * \r\n * @type {object}\r\n * @memberof RuleSentence\r\n */\r\n loyalCustomers?: object | null;\r\n /**\r\n * \r\n * @type {MostActiveCustomers}\r\n * @memberof RuleSentence\r\n */\r\n mostActiveCustomers?: MostActiveCustomers | null;\r\n /**\r\n * \r\n * @type {VipCustomers}\r\n * @memberof RuleSentence\r\n */\r\n vipCustomers?: VipCustomers | null;\r\n /**\r\n * \r\n * @type {VisitWithoutPurchase}\r\n * @memberof RuleSentence\r\n */\r\n visitWithoutPurchase?: VisitWithoutPurchase | null;\r\n /**\r\n * \r\n * @type {CustomerEngagement}\r\n * @memberof RuleSentence\r\n */\r\n customerEngagement?: CustomerEngagement | null;\r\n /**\r\n * \r\n * @type {CustomerSegment}\r\n * @memberof RuleSentence\r\n */\r\n customerSegment?: CustomerSegment | null;\r\n /**\r\n * \r\n * @type {ReceivedExistingOffer}\r\n * @memberof RuleSentence\r\n */\r\n receivedExistingOffer?: ReceivedExistingOffer | null;\r\n /**\r\n * \r\n * @type {object}\r\n * @memberof RuleSentence\r\n */\r\n allUsers?: object | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SalePerDayView\r\n */\r\nexport interface SalePerDayView {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SalePerDayView\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SalePerDayView\r\n */\r\n totalSales: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SalePerDayView\r\n */\r\n totalRevenue: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SalePerDayView\r\n */\r\n prevYearTotalSales: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SalePerDayView\r\n */\r\n prevYearTotalRevenue: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SalesConversionUserView\r\n */\r\nexport interface SalesConversionUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SalesConversionUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SalesConversionUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SalesConversionUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SalesConversionUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SalesConversionUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SalesConversionUserView\r\n */\r\n totalRevenue: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SalesConversionUserViewDataPage\r\n */\r\nexport interface SalesConversionUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SalesConversionUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SalesConversionUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SalesConversionUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 1 (All) 2 (VisitedOnly) 3 (VisitedAndPurchased)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum SalesConversionUsersFilter {\r\n /**\r\n * All\r\n */\r\n All = 1,\r\n /**\r\n * VisitedOnly\r\n */\r\n VisitedOnly = 2,\r\n /**\r\n * VisitedAndPurchased\r\n */\r\n VisitedAndPurchased = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface ScheduleModel\r\n */\r\nexport interface ScheduleModel {\r\n /**\r\n * \r\n * @type {OnlyOnceModel}\r\n * @memberof ScheduleModel\r\n */\r\n onlyOnce?: OnlyOnceModel | null;\r\n /**\r\n * \r\n * @type {IndefiniteModel}\r\n * @memberof ScheduleModel\r\n */\r\n indefiniteFrom?: IndefiniteModel | null;\r\n /**\r\n * \r\n * @type {DuringPeriodModel}\r\n * @memberof ScheduleModel\r\n */\r\n duringPeriod?: DuringPeriodModel | null;\r\n /**\r\n * \r\n * @type {ConstrainHoursModel}\r\n * @memberof ScheduleModel\r\n */\r\n constrainHours?: ConstrainHoursModel | null;\r\n /**\r\n * \r\n * @type {ConstrainDaysModel}\r\n * @memberof ScheduleModel\r\n */\r\n constrainDays?: ConstrainDaysModel | null;\r\n /**\r\n * \r\n * @type {MessageResend}\r\n * @memberof ScheduleModel\r\n */\r\n messageResend?: MessageResend | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SegmentGroupModel\r\n */\r\nexport interface SegmentGroupModel {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentGroupModel\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SegmentGroupModel\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SegmentGroupModel\r\n */\r\n segments?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SegmentGroupModelServiceResult\r\n */\r\nexport interface SegmentGroupModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SegmentGroupModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof SegmentGroupModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof SegmentGroupModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {SegmentGroupModel}\r\n * @memberof SegmentGroupModelServiceResult\r\n */\r\n data?: SegmentGroupModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SegmentGroupView\r\n */\r\nexport interface SegmentGroupView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentGroupView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SegmentGroupView\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SegmentGroupView\r\n */\r\n segments?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SegmentGroupViewDataPage\r\n */\r\nexport interface SegmentGroupViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SegmentGroupViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentGroupViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SegmentGroupViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SegmentModel\r\n */\r\nexport interface SegmentModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SegmentModel\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentModel\r\n */\r\n size: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SegmentView\r\n */\r\nexport interface SegmentView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SegmentView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentView\r\n */\r\n size: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SentMessageView\r\n */\r\nexport interface SentMessageView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SentMessageView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SentMessageView\r\n */\r\n campaignId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n campaignTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n pushTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n pushText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n offerTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n offerText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n offerRichText?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n callToActionTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n callToActionLink?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n grayImageUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n thumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n grayThumbnailUrl?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof SentMessageView\r\n */\r\n isRedeemable: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SentMessageView\r\n */\r\n sentOfferId: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n utcQueued: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n utcSent?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n utcReceived?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n utcRead?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n utcClicked?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n utcRedeemed?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof SentMessageView\r\n */\r\n failedAt?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SentMessageView\r\n */\r\n failedTimes: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageView\r\n */\r\n failureReason?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SentMessageViewDataPage\r\n */\r\nexport interface SentMessageViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof SentMessageViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SentMessageViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SentMessageViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ServiceResult\r\n */\r\nexport interface ServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof ServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof ServiceResult\r\n */\r\n success: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ShoppingStatistics\r\n */\r\nexport interface ShoppingStatistics {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ShoppingStatistics\r\n */\r\n minTimeInSec: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ShoppingStatistics\r\n */\r\n maxTimeInSec: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ShoppingStatistics\r\n */\r\n avgTimeInSec: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ShoppingStatistics\r\n */\r\n totalTimeInSec: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ShoppingStatistics\r\n */\r\n peakHour: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ShoppingStatisticsByDay\r\n */\r\nexport interface ShoppingStatisticsByDay {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ShoppingStatisticsByDay\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {ShoppingStatistics}\r\n * @memberof ShoppingStatisticsByDay\r\n */\r\n statistics?: ShoppingStatistics | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ShoppingStatisticsView\r\n */\r\nexport interface ShoppingStatisticsView {\r\n /**\r\n * \r\n * @type {ShoppingStatistics}\r\n * @memberof ShoppingStatisticsView\r\n */\r\n statisticsByDayAverages?: ShoppingStatistics | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ShoppingStatisticsView\r\n */\r\n statisticsByDay?: Array | null;\r\n /**\r\n * \r\n * @type {DayOfWeek}\r\n * @memberof ShoppingStatisticsView\r\n */\r\n peakDayOfWeek: DayOfWeek;\r\n}\r\n/**\r\n * Values represent: 1 (None) 2 (Ascending) 3 (Descending)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum SortDirection {\r\n /**\r\n * None\r\n */\r\n None = 1,\r\n /**\r\n * Ascending\r\n */\r\n Ascending = 2,\r\n /**\r\n * Descending\r\n */\r\n Descending = 3\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface SpecificAge\r\n */\r\nexport interface SpecificAge {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SpecificAge\r\n */\r\n ageGroups?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SpecificBeaconContact\r\n */\r\nexport interface SpecificBeaconContact {\r\n /**\r\n * \r\n * @type {PredefinedTimeSpan}\r\n * @memberof SpecificBeaconContact\r\n */\r\n time?: PredefinedTimeSpan | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof SpecificBeaconContact\r\n */\r\n locations?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface SpecificGender\r\n */\r\nexport interface SpecificGender {\r\n /**\r\n * \r\n * @type {Gender}\r\n * @memberof SpecificGender\r\n */\r\n gender: Gender;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreFloorModel\r\n */\r\nexport interface StoreFloorModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreFloorModel\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreFloorModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoreFloorModel\r\n */\r\n beacons?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreLayoutModel\r\n */\r\nexport interface StoreLayoutModel {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreLayoutModel\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreLayoutModel\r\n */\r\n storeName?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoreLayoutModel\r\n */\r\n floors?: Array | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoreLayoutModel\r\n */\r\n unplacedBeacons?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreLayoutModelServiceResult\r\n */\r\nexport interface StoreLayoutModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreLayoutModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof StoreLayoutModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof StoreLayoutModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {StoreLayoutModel}\r\n * @memberof StoreLayoutModelServiceResult\r\n */\r\n data?: StoreLayoutModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreLookupView\r\n */\r\nexport interface StoreLookupView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreLookupView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreLookupView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreLookupView\r\n */\r\n cityId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreLookupView\r\n */\r\n cityName?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreLookupView\r\n */\r\n countryId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreLookupView\r\n */\r\n countryName?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreModel\r\n */\r\nexport interface StoreModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n name: string;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n phone?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n email1?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n email2?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n fax?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n storeManager?: string | null;\r\n /**\r\n * \r\n * @type {LabelValue}\r\n * @memberof StoreModel\r\n */\r\n city: LabelValue;\r\n /**\r\n * \r\n * @type {LabelValue}\r\n * @memberof StoreModel\r\n */\r\n country: LabelValue;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n street?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n zipCode?: string | null;\r\n /**\r\n * \r\n * @type {Coordinates}\r\n * @memberof StoreModel\r\n */\r\n coordinates?: Coordinates | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof StoreModel\r\n */\r\n wireless: boolean;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreModel\r\n */\r\n numberOfCameras: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n instagramUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n facebookUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n imageUrl?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreModel\r\n */\r\n squareMeter: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoreModel\r\n */\r\n openingDate: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoreModel\r\n */\r\n closingDate?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreModel\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n timezone?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModel\r\n */\r\n status?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreModelServiceResult\r\n */\r\nexport interface StoreModelServiceResult {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreModelServiceResult\r\n */\r\n message?: string | null;\r\n /**\r\n * \r\n * @type {ResultStatus}\r\n * @memberof StoreModelServiceResult\r\n */\r\n status: ResultStatus;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof StoreModelServiceResult\r\n */\r\n success: boolean;\r\n /**\r\n * \r\n * @type {StoreModel}\r\n * @memberof StoreModelServiceResult\r\n */\r\n data?: StoreModel | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreView\r\n */\r\nexport interface StoreView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n country?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n street?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n zipCode?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n city?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n status?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {Coordinates}\r\n * @memberof StoreView\r\n */\r\n coordinates?: Coordinates | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof StoreView\r\n * @deprecated\r\n */\r\n isFavorite: boolean;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreView\r\n */\r\n imageUrl?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreViewDataPage\r\n */\r\nexport interface StoreViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoreViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreVisitView\r\n */\r\nexport interface StoreVisitView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreVisitView\r\n */\r\n storeId: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreVisitView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreVisitView\r\n */\r\n city?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreVisitView\r\n */\r\n country?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreVisitView\r\n */\r\n status?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreVisitView\r\n */\r\n userId?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoreVisitView\r\n */\r\n utcStart: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoreVisitView\r\n */\r\n utcEnd?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreVisitView\r\n */\r\n durationSeconds?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreVisitViewDataPage\r\n */\r\nexport interface StoreVisitViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof StoreVisitViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreVisitViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoreVisitViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreVisitorDataResponse\r\n */\r\nexport interface StoreVisitorDataResponse {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof StoreVisitorDataResponse\r\n */\r\n exists: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreVisitsStatistic\r\n */\r\nexport interface StoreVisitsStatistic {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoreVisitsStatistic\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoreVisitsStatistic\r\n */\r\n nmOfVisits: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface StoreVisitsStatisticsView\r\n */\r\nexport interface StoreVisitsStatisticsView {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoreVisitsStatisticsView\r\n */\r\n storeVisitsStatistics?: Array | null;\r\n /**\r\n * \r\n * @type {Frequency}\r\n * @memberof StoreVisitsStatisticsView\r\n */\r\n frequency: Frequency;\r\n}\r\n/**\r\n * Values represent: 0 (Low) 50 (Medium) 100 (High)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum Strength {\r\n /**\r\n * Low\r\n */\r\n Low = 0,\r\n /**\r\n * Medium\r\n */\r\n Medium = 50,\r\n /**\r\n * High\r\n */\r\n High = 100\r\n}\r\n\r\n/**\r\n * Values represent: 1 (Campaign) 2 (Beacon) 3 (Store) 4 (Offer) 5 (OfferTranslation) 6 (BlogPost) 7 (FeaturedItem) 8 (Product) 9 (ProductCategory) 10 (PurchaseHistory)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum Table {\r\n /**\r\n * Campaign\r\n */\r\n Campaign = 1,\r\n /**\r\n * Beacon\r\n */\r\n Beacon = 2,\r\n /**\r\n * Store\r\n */\r\n Store = 3,\r\n /**\r\n * Offer\r\n */\r\n Offer = 4,\r\n /**\r\n * OfferTranslation\r\n */\r\n OfferTranslation = 5,\r\n /**\r\n * BlogPost\r\n */\r\n BlogPost = 6,\r\n /**\r\n * FeaturedItem\r\n */\r\n FeaturedItem = 7,\r\n /**\r\n * Product\r\n */\r\n Product = 8,\r\n /**\r\n * ProductCategory\r\n */\r\n ProductCategory = 9,\r\n /**\r\n * PurchaseHistory\r\n */\r\n PurchaseHistory = 10\r\n}\r\n\r\n/**\r\n * Values represent: 0 (Today) 1 (Yesterday) 2 (SevenDaysAgo) 3 (ThirtyDaysAgo) 4 (ThreeMonthsAgo) 5 (SixMonthsAgo) 9 (AnyTime) 10 (Never) 11 (ThisMonth) 12 (LastMonth) 20 (RelativeTime) 21 (RelativeTimeRange) 22 (FixedDate) 23 (FixedDateRange)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum TimeSpanRange {\r\n /**\r\n * Today\r\n */\r\n Today = 0,\r\n /**\r\n * Yesterday\r\n */\r\n Yesterday = 1,\r\n /**\r\n * SevenDaysAgo\r\n */\r\n SevenDaysAgo = 2,\r\n /**\r\n * ThirtyDaysAgo\r\n */\r\n ThirtyDaysAgo = 3,\r\n /**\r\n * ThreeMonthsAgo\r\n */\r\n ThreeMonthsAgo = 4,\r\n /**\r\n * SixMonthsAgo\r\n */\r\n SixMonthsAgo = 5,\r\n /**\r\n * AnyTime\r\n */\r\n AnyTime = 9,\r\n /**\r\n * Never\r\n */\r\n Never = 10,\r\n /**\r\n * ThisMonth\r\n */\r\n ThisMonth = 11,\r\n /**\r\n * LastMonth\r\n */\r\n LastMonth = 12,\r\n /**\r\n * RelativeTime\r\n */\r\n RelativeTime = 20,\r\n /**\r\n * RelativeTimeRange\r\n */\r\n RelativeTimeRange = 21,\r\n /**\r\n * FixedDate\r\n */\r\n FixedDate = 22,\r\n /**\r\n * FixedDateRange\r\n */\r\n FixedDateRange = 23\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface TimeSpentUserView\r\n */\r\nexport interface TimeSpentUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TimeSpentUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TimeSpentUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TimeSpentUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TimeSpentUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TimeSpentUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TimeSpentUserView\r\n */\r\n nmOfVisits: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TimeSpentUserView\r\n */\r\n totalVisitDurationSeconds: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TimeSpentUserViewDataPage\r\n */\r\nexport interface TimeSpentUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TimeSpentUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TimeSpentUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TimeSpentUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * Values represent: 0 (Minute) 1 (Hour) 2 (Second) 3 (Day) 4 (Month)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum TimeUnit {\r\n /**\r\n * Minute\r\n */\r\n Minute = 0,\r\n /**\r\n * Hour\r\n */\r\n Hour = 1,\r\n /**\r\n * Second\r\n */\r\n Second = 2,\r\n /**\r\n * Day\r\n */\r\n Day = 3,\r\n /**\r\n * Month\r\n */\r\n Month = 4\r\n}\r\n\r\n/**\r\n * Values represent: 1 (Today) 2 (Yesterday) 3 (Last7Days) 4 (Last30Days) 5 (ThisMonth) 6 (PreviousMonth) 7 (ThisYear) 8 (PreviousYear) 9 (AllTime) 10 (CustomRange) 11 (Now)\r\n * @export\r\n * @enum {string}\r\n */\r\nexport enum TimeframeType {\r\n /**\r\n * Today\r\n */\r\n Today = 1,\r\n /**\r\n * Yesterday\r\n */\r\n Yesterday = 2,\r\n /**\r\n * Last7Days\r\n */\r\n Last7Days = 3,\r\n /**\r\n * Last30Days\r\n */\r\n Last30Days = 4,\r\n /**\r\n * ThisMonth\r\n */\r\n ThisMonth = 5,\r\n /**\r\n * PreviousMonth\r\n */\r\n PreviousMonth = 6,\r\n /**\r\n * ThisYear\r\n */\r\n ThisYear = 7,\r\n /**\r\n * PreviousYear\r\n */\r\n PreviousYear = 8,\r\n /**\r\n * AllTime\r\n */\r\n AllTime = 9,\r\n /**\r\n * CustomRange\r\n */\r\n CustomRange = 10,\r\n /**\r\n * Now\r\n */\r\n Now = 11\r\n}\r\n\r\n/**\r\n * \r\n * @export\r\n * @interface TokenResponse\r\n */\r\nexport interface TokenResponse {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TokenResponse\r\n */\r\n user_id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TokenResponse\r\n */\r\n access_token?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TokenResponse\r\n */\r\n token_type?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TokenResponse\r\n */\r\n expires_in?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopAreaView\r\n */\r\nexport interface TopAreaView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopAreaView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopAreaView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopAreaView\r\n */\r\n numberOfContacts: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopBeaconView\r\n */\r\nexport interface TopBeaconView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopBeaconView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopBeaconView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopBeaconView\r\n */\r\n value: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopBeaconView\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopBeaconView\r\n */\r\n areaName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopBeaconView\r\n */\r\n storeName?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopBeaconView\r\n */\r\n maxVisitDurationSeconds: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopBeaconViewDataPage\r\n */\r\nexport interface TopBeaconViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopBeaconViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopBeaconViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TopBeaconViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopCustomerGridView\r\n */\r\nexport interface TopCustomerGridView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopCustomerGridView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopCustomerGridView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopCustomerGridView\r\n */\r\n value: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopCustomerGridView\r\n */\r\n pictureUrl?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopLocationGridView\r\n */\r\nexport interface TopLocationGridView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopLocationGridView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopLocationGridView\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopLocationGridView\r\n */\r\n iso2?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopProductView\r\n */\r\nexport interface TopProductView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopProductView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopProductView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopProductView\r\n */\r\n revenueGenerated: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopProductView\r\n */\r\n piecesSold: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopProductViewDataPage\r\n */\r\nexport interface TopProductViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopProductViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopProductViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TopProductViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopStoreGridView\r\n */\r\nexport interface TopStoreGridView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopStoreGridView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopStoreGridView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopStoreGridView\r\n */\r\n value: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopStoreGridView\r\n */\r\n city?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopStoreGridView\r\n */\r\n squareMeter: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopStoreGridView\r\n */\r\n nmOfBeacons: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TopStoreGridViewDataPage\r\n */\r\nexport interface TopStoreGridViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TopStoreGridViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TopStoreGridViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TopStoreGridViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TotalAndRateView\r\n */\r\nexport interface TotalAndRateView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TotalAndRateView\r\n */\r\n total: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TotalAndRateView\r\n */\r\n rate: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TotalAppCustomerView\r\n */\r\nexport interface TotalAppCustomerView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerView\r\n */\r\n platform?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TotalAppCustomerView\r\n */\r\n revenue: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TotalAppCustomerView\r\n */\r\n joinDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TotalAppCustomerViewDataPage\r\n */\r\nexport interface TotalAppCustomerViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppCustomerViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TotalAppCustomerViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TotalAppCustomerViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TotalAppUserView\r\n */\r\nexport interface TotalAppUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TotalAppUserView\r\n */\r\n joinDate: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TotalAppUserViewDataPage\r\n */\r\nexport interface TotalAppUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TotalAppUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TotalAppUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TotalAppUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TouchpointsStatistic\r\n */\r\nexport interface TouchpointsStatistic {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TouchpointsStatistic\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n local: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n global: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n beaconContacts: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n registrations: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n logins: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n opens: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TouchpointsStatistic\r\n */\r\n total: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TouchpointsStatisticsView\r\n */\r\nexport interface TouchpointsStatisticsView {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TouchpointsStatisticsView\r\n */\r\n statistics?: Array | null;\r\n /**\r\n * \r\n * @type {Frequency}\r\n * @memberof TouchpointsStatisticsView\r\n */\r\n frequency: Frequency;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TrackedOfferView\r\n */\r\nexport interface TrackedOfferView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TrackedOfferView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackedOfferView\r\n */\r\n label?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackedOfferView\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackedOfferView\r\n */\r\n campaignTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackedOfferView\r\n */\r\n convertingOfferLabel?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TrafficView\r\n */\r\nexport interface TrafficView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TrafficView\r\n */\r\n newBuyers: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TrafficView\r\n */\r\n recurrentBuyers: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof TrafficView\r\n */\r\n nonBuyers: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface TranslationModel\r\n */\r\nexport interface TranslationModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TranslationModel\r\n */\r\n languageCode?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TranslationModel\r\n */\r\n title?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TranslationModel\r\n */\r\n pushMessage?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TranslationModel\r\n */\r\n offerTitle?: string | null;\r\n /**\r\n * \r\n * @type {RichText}\r\n * @memberof TranslationModel\r\n */\r\n text?: RichText | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TranslationModel\r\n */\r\n callToActionTitle?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TranslationModel\r\n */\r\n callToActionLink?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface UpdateCampaignCommand\r\n */\r\nexport interface UpdateCampaignCommand {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof UpdateCampaignCommand\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof UpdateCampaignCommand\r\n */\r\n description?: string | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof UpdateCampaignCommand\r\n */\r\n validTo?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof UpdateCampaignCommand\r\n */\r\n validFrom?: IsoDateTimeString | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof UpdateCampaignCommand\r\n */\r\n id?: number | null;\r\n /**\r\n * \r\n * @type {CampaignStatus}\r\n * @memberof UpdateCampaignCommand\r\n */\r\n status: CampaignStatus;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface UploadCustomerPurchasesRequest\r\n */\r\nexport interface UploadCustomerPurchasesRequest {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof UploadCustomerPurchasesRequest\r\n */\r\n columnMappings?: Array | null;\r\n /**\r\n * \r\n * @type {Array>}\r\n * @memberof UploadCustomerPurchasesRequest\r\n */\r\n rows?: Array> | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface UploadProductsRequest\r\n */\r\nexport interface UploadProductsRequest {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof UploadProductsRequest\r\n */\r\n columnMappings?: Array | null;\r\n /**\r\n * \r\n * @type {Array>}\r\n * @memberof UploadProductsRequest\r\n */\r\n rows?: Array> | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof UploadProductsRequest\r\n */\r\n language?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface UserPermissions\r\n */\r\nexport interface UserPermissions {\r\n /**\r\n * \r\n * @type {CrudAccessModel}\r\n * @memberof UserPermissions\r\n */\r\n beacons?: CrudAccessModel | null;\r\n /**\r\n * \r\n * @type {CrudAccessModel}\r\n * @memberof UserPermissions\r\n */\r\n users?: CrudAccessModel | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n suiteAccess: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n loginViaSocialProvider: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n pocManagementAccess: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n readSelfUserData: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n createSuperAdmin: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n createAdmin: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n readLogs: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n accessHangfire: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n deleteMessageStatistics: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n forceSendMessage: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof UserPermissions\r\n */\r\n deleteContactsAndVisits: boolean;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface ValidityModel\r\n */\r\nexport interface ValidityModel {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ValidityModel\r\n */\r\n monthsAfterSent?: number | null;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ValidityModel\r\n */\r\n absoluteDateTime?: IsoDateTimeString | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VerifyTokenRequest\r\n */\r\nexport interface VerifyTokenRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VerifyTokenRequest\r\n */\r\n token?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VerifyTokenRequest\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VerifyTokenRequest\r\n */\r\n tokenPurpose?: string | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VipCustomers\r\n */\r\nexport interface VipCustomers {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VipCustomers\r\n */\r\n minNumberOfPurchases?: number | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VipCustomers\r\n */\r\n topPercentage?: number | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VisitWithoutPurchase\r\n */\r\nexport interface VisitWithoutPurchase {\r\n /**\r\n * \r\n * @type {PredefinedTimeSpan}\r\n * @memberof VisitWithoutPurchase\r\n */\r\n time?: PredefinedTimeSpan | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitWithoutPurchase\r\n */\r\n locations?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VisitingUserView\r\n */\r\nexport interface VisitingUserView {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserView\r\n */\r\n id?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserView\r\n */\r\n pictureUrl?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserView\r\n */\r\n firstName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserView\r\n */\r\n lastName?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserView\r\n */\r\n email?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserView\r\n */\r\n storeName?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitingUserView\r\n */\r\n visitDurationSeconds: number;\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitingUserView\r\n */\r\n visitStart: IsoDateTimeString;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VisitingUserViewDataPage\r\n */\r\nexport interface VisitingUserViewDataPage {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof VisitingUserViewDataPage\r\n */\r\n nextPageLink?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitingUserViewDataPage\r\n */\r\n count: number;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitingUserViewDataPage\r\n */\r\n items?: Array | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VisitorPerDayView\r\n */\r\nexport interface VisitorPerDayView {\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorPerDayView\r\n */\r\n date: IsoDateTimeString;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorPerDayView\r\n */\r\n totalVisitors: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorPerDayView\r\n */\r\n appVisitors: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface VisitorStatisticsView\r\n */\r\nexport interface VisitorStatisticsView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorStatisticsView\r\n */\r\n newVisitors: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorStatisticsView\r\n */\r\n returningVisitors: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorStatisticsView\r\n */\r\n averageVisitDurationSeconds: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorStatisticsView\r\n */\r\n bounceRate: number;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface WebConfigModel\r\n */\r\nexport interface WebConfigModel {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n startTime?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n suiteDate?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n buildDate?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n appVersion?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n runtimeVersion?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n suiteVariant?: string | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n currentEnvironment?: string | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof WebConfigModel\r\n */\r\n disablePurchaseHistories: boolean;\r\n /**\r\n * \r\n * @type {CurrencyView}\r\n * @memberof WebConfigModel\r\n */\r\n defaultCurrency?: CurrencyView | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof WebConfigModel\r\n */\r\n supportedCurrencies?: Array | null;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WebConfigModel\r\n */\r\n defaultLanguage?: string | null;\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof WebConfigModel\r\n */\r\n allowedLanguages?: Array | null;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof WebConfigModel\r\n */\r\n enableWhitelabelFeatures: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof WebConfigModel\r\n */\r\n enablePocFeatures: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof WebConfigModel\r\n */\r\n enablePurchasesImport: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof WebConfigModel\r\n */\r\n enableProductsImport: boolean;\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof WebConfigModel\r\n */\r\n enableChangeLog: boolean;\r\n /**\r\n * \r\n * @type {ClientApps}\r\n * @memberof WebConfigModel\r\n */\r\n clientApps?: ClientApps | null;\r\n /**\r\n * \r\n * @type {{ [key: string]: string; }}\r\n * @memberof WebConfigModel\r\n */\r\n defaultDeepLinkPayload?: { [key: string]: string; } | null;\r\n}\r\n/**\r\n * \r\n * @export\r\n * @interface WorldHeatmapMarkerView\r\n */\r\nexport interface WorldHeatmapMarkerView {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof WorldHeatmapMarkerView\r\n */\r\n id: number;\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof WorldHeatmapMarkerView\r\n */\r\n name?: string | null;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof WorldHeatmapMarkerView\r\n */\r\n nmVisits: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof WorldHeatmapMarkerView\r\n */\r\n latitude: number;\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof WorldHeatmapMarkerView\r\n */\r\n longitude: number;\r\n}\r\n\r\n/**\r\n * AccessControlApi - axios parameter creator\r\n * @export\r\n */\r\nexport const AccessControlApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPermissions: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/access-control/permissions`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AccessControlApi - functional programming interface\r\n * @export\r\n */\r\nexport const AccessControlApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = AccessControlApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getPermissions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getPermissions(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AccessControlApi - factory interface\r\n * @export\r\n */\r\nexport const AccessControlApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = AccessControlApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPermissions(options?: any): AxiosPromise {\r\n return localVarFp.getPermissions(options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * AccessControlApi - object-oriented interface\r\n * @export\r\n * @class AccessControlApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class AccessControlApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AccessControlApi\r\n */\r\n public getPermissions(options?: any) {\r\n return AccessControlApiFp(this.configuration).getPermissions(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * AnalyticsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const AnalyticsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppDownloadUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/app-downloads-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @summary Returns ratio of new users for given date range vs active users for the same date range. Active user is user who either opened the app or read, clicked or redeemed a push notification after joining. Values will be percentage from 0 to 1.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppInteractionRate: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/appInteractionRate`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {AppInteractionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppInteractionUsers: async (skip?: number, limit?: number, filter?: AppInteractionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/app-interaction-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (filter !== undefined) {\r\n localVarQueryParameter['filter'] = filter;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppOpenUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/app-open-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppRegistrationUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/app-registrations-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAverageTransactionQuantity: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/averageTransactionQuantity`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAverageTransactionValue: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/averageTransactionValue`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @summary Ratio of delivered vouchers compared to redeemed vouchers. Returns percentage from 0 to 1.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgRedemptionRate: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/avgRedemptionRate`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @summary Returns average shopping time in seconds.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgShoppingTime: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/avgShoppingTime`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (includeTrend !== undefined) {\r\n localVarQueryParameter['includeTrend'] = includeTrend;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgTransactionQuantityUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/avg-transaction-quantity-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgTransactionValueUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/avg-transaction-value-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getConversionStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/conversion-statistics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getConvertedUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/converted-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDownloads: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/touchpoints/downloads`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (includeTrend !== undefined) {\r\n localVarQueryParameter['includeTrend'] = includeTrend;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getInteractionUpliftStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/interactionUpliftStatistics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLogins: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/touchpoints/logins`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (includeTrend !== undefined) {\r\n localVarQueryParameter['includeTrend'] = includeTrend;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLoyalCustomersCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/loyalCustomers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getMostActiveCustomersCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/mostActiveCustomers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewCustomers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/new-app-customers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewCustomersCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/newCustomers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOpenings: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/touchpoints/openings`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (includeTrend !== undefined) {\r\n localVarQueryParameter['includeTrend'] = includeTrend;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {RedemptionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRedemptionUsers: async (skip?: number, limit?: number, filter?: RedemptionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/redemption-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (filter !== undefined) {\r\n localVarQueryParameter['filter'] = filter;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRegistrations: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/touchpoints/registrations`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (includeTrend !== undefined) {\r\n localVarQueryParameter['includeTrend'] = includeTrend;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRegistrationsByDevice: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/touchpoints/registrations-by-device`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSalesConversionRate: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/salesConversionRate`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {SalesConversionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSalesConversionUsers: async (skip?: number, limit?: number, filter?: SalesConversionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/sales-conversion-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (filter !== undefined) {\r\n localVarQueryParameter['filter'] = filter;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSalesPerDay: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/sales/per-day`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getShoppingStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/shoppingStatistics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreVisitsUplift: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/storeVisitsUplift`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTimeSpentUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/time-spent-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalAppCustomers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/total-app-customers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalAppUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/total-app-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalCustomersCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/totalCustomers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalUsersCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/totalUsers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTouchpointsStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/touchpoints/frequency-stats`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTraffic: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/traffic`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUpliftStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/upliftStatistics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVipCustomersCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/vipCustomers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitorStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/visitorStatistics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitorsPerDay: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/statistics/visitors/per-day`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AnalyticsApi - functional programming interface\r\n * @export\r\n */\r\nexport const AnalyticsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = AnalyticsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppDownloadUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppDownloadUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @summary Returns ratio of new users for given date range vs active users for the same date range. Active user is user who either opened the app or read, clicked or redeemed a push notification after joining. Values will be percentage from 0 to 1.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppInteractionRate(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppInteractionRate(rangeType, rangeStart, rangeEnd, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {AppInteractionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppInteractionUsers(skip?: number, limit?: number, filter?: AppInteractionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppInteractionUsers(skip, limit, filter, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppOpenUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppOpenUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppRegistrationUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppRegistrationUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAverageTransactionQuantity(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAverageTransactionQuantity(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAverageTransactionValue(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAverageTransactionValue(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @summary Ratio of delivered vouchers compared to redeemed vouchers. Returns percentage from 0 to 1.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAvgRedemptionRate(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAvgRedemptionRate(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @summary Returns average shopping time in seconds.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAvgShoppingTime(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAvgShoppingTime(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAvgTransactionQuantityUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAvgTransactionQuantityUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAvgTransactionValueUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAvgTransactionValueUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getConversionStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getConversionStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getConvertedUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getConvertedUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getDownloads(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getDownloads(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getInteractionUpliftStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getInteractionUpliftStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getLogins(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getLogins(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getLoyalCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getLoyalCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getMostActiveCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getMostActiveCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getNewCustomers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNewCustomers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getNewCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNewCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOpenings(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOpenings(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {RedemptionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getRedemptionUsers(skip?: number, limit?: number, filter?: RedemptionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getRedemptionUsers(skip, limit, filter, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getRegistrations(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistrations(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getRegistrationsByDevice(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistrationsByDevice(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getSalesConversionRate(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSalesConversionRate(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {SalesConversionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getSalesConversionUsers(skip?: number, limit?: number, filter?: SalesConversionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSalesConversionUsers(skip, limit, filter, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getSalesPerDay(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSalesPerDay(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getShoppingStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getShoppingStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getStoreVisitsUplift(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getStoreVisitsUplift(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTimeSpentUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTimeSpentUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTotalAppCustomers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTotalAppCustomers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTotalAppUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTotalAppUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTotalCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTotalCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTotalUsersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTotalUsersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTouchpointsStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTouchpointsStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTraffic(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTraffic(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getUpliftStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUpliftStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getVipCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getVipCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getVisitorStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getVisitorStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getVisitorsPerDay(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getVisitorsPerDay(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AnalyticsApi - factory interface\r\n * @export\r\n */\r\nexport const AnalyticsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = AnalyticsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppDownloadUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppDownloadUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @summary Returns ratio of new users for given date range vs active users for the same date range. Active user is user who either opened the app or read, clicked or redeemed a push notification after joining. Values will be percentage from 0 to 1.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppInteractionRate(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options?: any): AxiosPromise {\r\n return localVarFp.getAppInteractionRate(rangeType, rangeStart, rangeEnd, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {AppInteractionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppInteractionUsers(skip?: number, limit?: number, filter?: AppInteractionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppInteractionUsers(skip, limit, filter, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppOpenUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppOpenUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppRegistrationUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppRegistrationUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAverageTransactionQuantity(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAverageTransactionQuantity(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAverageTransactionValue(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAverageTransactionValue(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @summary Ratio of delivered vouchers compared to redeemed vouchers. Returns percentage from 0 to 1.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgRedemptionRate(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAvgRedemptionRate(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @summary Returns average shopping time in seconds.\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgShoppingTime(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAvgShoppingTime(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgTransactionQuantityUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAvgTransactionQuantityUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAvgTransactionValueUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAvgTransactionValueUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getConversionStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getConversionStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getConvertedUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getConvertedUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDownloads(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getDownloads(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getInteractionUpliftStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getInteractionUpliftStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLogins(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getLogins(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLoyalCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getLoyalCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getMostActiveCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getMostActiveCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewCustomers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getNewCustomers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getNewCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOpenings(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getOpenings(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {RedemptionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRedemptionUsers(skip?: number, limit?: number, filter?: RedemptionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getRedemptionUsers(skip, limit, filter, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {boolean} [includeTrend] Default: False\r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRegistrations(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, includeTrend?: boolean, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getRegistrations(rangeType, rangeStart, rangeEnd, includeTrend, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRegistrationsByDevice(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getRegistrationsByDevice(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSalesConversionRate(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getSalesConversionRate(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {SalesConversionUsersFilter} [filter] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSalesConversionUsers(skip?: number, limit?: number, filter?: SalesConversionUsersFilter, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getSalesConversionUsers(skip, limit, filter, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSalesPerDay(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getSalesPerDay(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getShoppingStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getShoppingStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreVisitsUplift(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getStoreVisitsUplift(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTimeSpentUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTimeSpentUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalAppCustomers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTotalAppCustomers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalAppUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTotalAppUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTotalCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTotalUsersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTotalUsersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTouchpointsStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTouchpointsStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTraffic(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTraffic(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUpliftStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getUpliftStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVipCustomersCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getVipCustomersCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitorStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getVisitorStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitorsPerDay(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getVisitorsPerDay(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getAppDownloadUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAppDownloadUsersRequest\r\n */\r\nexport interface AnalyticsApiGetAppDownloadUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppDownloadUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAppInteractionRate operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAppInteractionRateRequest\r\n */\r\nexport interface AnalyticsApiGetAppInteractionRateRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAppInteractionRate\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppInteractionRate\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppInteractionRate\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n}\r\n\r\n/**\r\n * Request parameters for getAppInteractionUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAppInteractionUsersRequest\r\n */\r\nexport interface AnalyticsApiGetAppInteractionUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {AppInteractionUsersFilter}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly filter?: AppInteractionUsersFilter\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppInteractionUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAppOpenUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAppOpenUsersRequest\r\n */\r\nexport interface AnalyticsApiGetAppOpenUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppOpenUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAppRegistrationUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAppRegistrationUsersRequest\r\n */\r\nexport interface AnalyticsApiGetAppRegistrationUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAppRegistrationUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAverageTransactionQuantity operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAverageTransactionQuantityRequest\r\n */\r\nexport interface AnalyticsApiGetAverageTransactionQuantityRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionQuantity\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAverageTransactionValue operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAverageTransactionValueRequest\r\n */\r\nexport interface AnalyticsApiGetAverageTransactionValueRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAverageTransactionValue\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAvgRedemptionRate operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAvgRedemptionRateRequest\r\n */\r\nexport interface AnalyticsApiGetAvgRedemptionRateRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgRedemptionRate\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAvgShoppingTime operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAvgShoppingTimeRequest\r\n */\r\nexport interface AnalyticsApiGetAvgShoppingTimeRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * Default: False\r\n * @type {boolean}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly includeTrend?: boolean\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgShoppingTime\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAvgTransactionQuantityUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAvgTransactionQuantityUsersRequest\r\n */\r\nexport interface AnalyticsApiGetAvgTransactionQuantityUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionQuantityUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAvgTransactionValueUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetAvgTransactionValueUsersRequest\r\n */\r\nexport interface AnalyticsApiGetAvgTransactionValueUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetAvgTransactionValueUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getConversionStatistics operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetConversionStatisticsRequest\r\n */\r\nexport interface AnalyticsApiGetConversionStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConversionStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getConvertedUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetConvertedUsersRequest\r\n */\r\nexport interface AnalyticsApiGetConvertedUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetConvertedUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getDownloads operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetDownloadsRequest\r\n */\r\nexport interface AnalyticsApiGetDownloadsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * Default: False\r\n * @type {boolean}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly includeTrend?: boolean\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetDownloads\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getInteractionUpliftStatistics operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetInteractionUpliftStatisticsRequest\r\n */\r\nexport interface AnalyticsApiGetInteractionUpliftStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetInteractionUpliftStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getLogins operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetLoginsRequest\r\n */\r\nexport interface AnalyticsApiGetLoginsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * Default: False\r\n * @type {boolean}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly includeTrend?: boolean\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLogins\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getLoyalCustomersCount operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetLoyalCustomersCountRequest\r\n */\r\nexport interface AnalyticsApiGetLoyalCustomersCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetLoyalCustomersCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getMostActiveCustomersCount operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetMostActiveCustomersCountRequest\r\n */\r\nexport interface AnalyticsApiGetMostActiveCustomersCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetMostActiveCustomersCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getNewCustomers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetNewCustomersRequest\r\n */\r\nexport interface AnalyticsApiGetNewCustomersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getNewCustomersCount operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetNewCustomersCountRequest\r\n */\r\nexport interface AnalyticsApiGetNewCustomersCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetNewCustomersCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getOpenings operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetOpeningsRequest\r\n */\r\nexport interface AnalyticsApiGetOpeningsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * Default: False\r\n * @type {boolean}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly includeTrend?: boolean\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetOpenings\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getRedemptionUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetRedemptionUsersRequest\r\n */\r\nexport interface AnalyticsApiGetRedemptionUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {RedemptionUsersFilter}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly filter?: RedemptionUsersFilter\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRedemptionUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getRegistrations operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetRegistrationsRequest\r\n */\r\nexport interface AnalyticsApiGetRegistrationsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * Default: False\r\n * @type {boolean}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly includeTrend?: boolean\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrations\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getRegistrationsByDevice operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetRegistrationsByDeviceRequest\r\n */\r\nexport interface AnalyticsApiGetRegistrationsByDeviceRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetRegistrationsByDevice\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getSalesConversionRate operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetSalesConversionRateRequest\r\n */\r\nexport interface AnalyticsApiGetSalesConversionRateRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionRate\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getSalesConversionUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetSalesConversionUsersRequest\r\n */\r\nexport interface AnalyticsApiGetSalesConversionUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {SalesConversionUsersFilter}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly filter?: SalesConversionUsersFilter\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesConversionUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getSalesPerDay operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetSalesPerDayRequest\r\n */\r\nexport interface AnalyticsApiGetSalesPerDayRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetSalesPerDay\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getShoppingStatistics operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetShoppingStatisticsRequest\r\n */\r\nexport interface AnalyticsApiGetShoppingStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetShoppingStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getStoreVisitsUplift operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetStoreVisitsUpliftRequest\r\n */\r\nexport interface AnalyticsApiGetStoreVisitsUpliftRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetStoreVisitsUplift\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTimeSpentUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTimeSpentUsersRequest\r\n */\r\nexport interface AnalyticsApiGetTimeSpentUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTimeSpentUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTotalAppCustomers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTotalAppCustomersRequest\r\n */\r\nexport interface AnalyticsApiGetTotalAppCustomersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppCustomers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTotalAppUsers operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTotalAppUsersRequest\r\n */\r\nexport interface AnalyticsApiGetTotalAppUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalAppUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTotalCustomersCount operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTotalCustomersCountRequest\r\n */\r\nexport interface AnalyticsApiGetTotalCustomersCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalCustomersCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTotalUsersCount operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTotalUsersCountRequest\r\n */\r\nexport interface AnalyticsApiGetTotalUsersCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTotalUsersCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTouchpointsStatistics operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTouchpointsStatisticsRequest\r\n */\r\nexport interface AnalyticsApiGetTouchpointsStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTouchpointsStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTraffic operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetTrafficRequest\r\n */\r\nexport interface AnalyticsApiGetTrafficRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetTraffic\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getUpliftStatistics operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetUpliftStatisticsRequest\r\n */\r\nexport interface AnalyticsApiGetUpliftStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetUpliftStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getVipCustomersCount operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetVipCustomersCountRequest\r\n */\r\nexport interface AnalyticsApiGetVipCustomersCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVipCustomersCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getVisitorStatistics operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetVisitorStatisticsRequest\r\n */\r\nexport interface AnalyticsApiGetVisitorStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getVisitorsPerDay operation in AnalyticsApi.\r\n * @export\r\n * @interface AnalyticsApiGetVisitorsPerDayRequest\r\n */\r\nexport interface AnalyticsApiGetVisitorsPerDayRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof AnalyticsApiGetVisitorsPerDay\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * AnalyticsApi - object-oriented interface\r\n * @export\r\n * @class AnalyticsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class AnalyticsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAppDownloadUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAppDownloadUsers(requestParameters: AnalyticsApiGetAppDownloadUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAppDownloadUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @summary Returns ratio of new users for given date range vs active users for the same date range. Active user is user who either opened the app or read, clicked or redeemed a push notification after joining. Values will be percentage from 0 to 1.\r\n * @param {AnalyticsApiGetAppInteractionRateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAppInteractionRate(requestParameters: AnalyticsApiGetAppInteractionRateRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAppInteractionRate(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAppInteractionUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAppInteractionUsers(requestParameters: AnalyticsApiGetAppInteractionUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAppInteractionUsers(requestParameters.skip, requestParameters.limit, requestParameters.filter, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAppOpenUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAppOpenUsers(requestParameters: AnalyticsApiGetAppOpenUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAppOpenUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAppRegistrationUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAppRegistrationUsers(requestParameters: AnalyticsApiGetAppRegistrationUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAppRegistrationUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAverageTransactionQuantityRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAverageTransactionQuantity(requestParameters: AnalyticsApiGetAverageTransactionQuantityRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAverageTransactionQuantity(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAverageTransactionValueRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAverageTransactionValue(requestParameters: AnalyticsApiGetAverageTransactionValueRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAverageTransactionValue(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @summary Ratio of delivered vouchers compared to redeemed vouchers. Returns percentage from 0 to 1.\r\n * @param {AnalyticsApiGetAvgRedemptionRateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAvgRedemptionRate(requestParameters: AnalyticsApiGetAvgRedemptionRateRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAvgRedemptionRate(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @summary Returns average shopping time in seconds.\r\n * @param {AnalyticsApiGetAvgShoppingTimeRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAvgShoppingTime(requestParameters: AnalyticsApiGetAvgShoppingTimeRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAvgShoppingTime(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.includeTrend, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAvgTransactionQuantityUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAvgTransactionQuantityUsers(requestParameters: AnalyticsApiGetAvgTransactionQuantityUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAvgTransactionQuantityUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetAvgTransactionValueUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getAvgTransactionValueUsers(requestParameters: AnalyticsApiGetAvgTransactionValueUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getAvgTransactionValueUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetConversionStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getConversionStatistics(requestParameters: AnalyticsApiGetConversionStatisticsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getConversionStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetConvertedUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getConvertedUsers(requestParameters: AnalyticsApiGetConvertedUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getConvertedUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetDownloadsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getDownloads(requestParameters: AnalyticsApiGetDownloadsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getDownloads(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.includeTrend, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetInteractionUpliftStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getInteractionUpliftStatistics(requestParameters: AnalyticsApiGetInteractionUpliftStatisticsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getInteractionUpliftStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetLoginsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getLogins(requestParameters: AnalyticsApiGetLoginsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getLogins(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.includeTrend, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetLoyalCustomersCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getLoyalCustomersCount(requestParameters: AnalyticsApiGetLoyalCustomersCountRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getLoyalCustomersCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetMostActiveCustomersCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getMostActiveCustomersCount(requestParameters: AnalyticsApiGetMostActiveCustomersCountRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getMostActiveCustomersCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetNewCustomersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getNewCustomers(requestParameters: AnalyticsApiGetNewCustomersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getNewCustomers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetNewCustomersCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getNewCustomersCount(requestParameters: AnalyticsApiGetNewCustomersCountRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getNewCustomersCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetOpeningsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getOpenings(requestParameters: AnalyticsApiGetOpeningsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getOpenings(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.includeTrend, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetRedemptionUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getRedemptionUsers(requestParameters: AnalyticsApiGetRedemptionUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getRedemptionUsers(requestParameters.skip, requestParameters.limit, requestParameters.filter, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetRegistrationsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getRegistrations(requestParameters: AnalyticsApiGetRegistrationsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getRegistrations(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.includeTrend, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetRegistrationsByDeviceRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getRegistrationsByDevice(requestParameters: AnalyticsApiGetRegistrationsByDeviceRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getRegistrationsByDevice(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetSalesConversionRateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getSalesConversionRate(requestParameters: AnalyticsApiGetSalesConversionRateRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getSalesConversionRate(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetSalesConversionUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getSalesConversionUsers(requestParameters: AnalyticsApiGetSalesConversionUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getSalesConversionUsers(requestParameters.skip, requestParameters.limit, requestParameters.filter, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetSalesPerDayRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getSalesPerDay(requestParameters: AnalyticsApiGetSalesPerDayRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getSalesPerDay(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetShoppingStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getShoppingStatistics(requestParameters: AnalyticsApiGetShoppingStatisticsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getShoppingStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetStoreVisitsUpliftRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getStoreVisitsUplift(requestParameters: AnalyticsApiGetStoreVisitsUpliftRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getStoreVisitsUplift(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTimeSpentUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTimeSpentUsers(requestParameters: AnalyticsApiGetTimeSpentUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTimeSpentUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTotalAppCustomersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTotalAppCustomers(requestParameters: AnalyticsApiGetTotalAppCustomersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTotalAppCustomers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTotalAppUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTotalAppUsers(requestParameters: AnalyticsApiGetTotalAppUsersRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTotalAppUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTotalCustomersCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTotalCustomersCount(requestParameters: AnalyticsApiGetTotalCustomersCountRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTotalCustomersCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTotalUsersCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTotalUsersCount(requestParameters: AnalyticsApiGetTotalUsersCountRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTotalUsersCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTouchpointsStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTouchpointsStatistics(requestParameters: AnalyticsApiGetTouchpointsStatisticsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTouchpointsStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetTrafficRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getTraffic(requestParameters: AnalyticsApiGetTrafficRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getTraffic(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetUpliftStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getUpliftStatistics(requestParameters: AnalyticsApiGetUpliftStatisticsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getUpliftStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetVipCustomersCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getVipCustomersCount(requestParameters: AnalyticsApiGetVipCustomersCountRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getVipCustomersCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetVisitorStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getVisitorStatistics(requestParameters: AnalyticsApiGetVisitorStatisticsRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getVisitorStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {AnalyticsApiGetVisitorsPerDayRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AnalyticsApi\r\n */\r\n public getVisitorsPerDay(requestParameters: AnalyticsApiGetVisitorsPerDayRequest = {}, options?: any) {\r\n return AnalyticsApiFp(this.configuration).getVisitorsPerDay(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * AppSigningApi - axios parameter creator\r\n * @export\r\n */\r\nexport const AppSigningApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAndroidAssetLinks: async (options: any = {}): Promise => {\r\n const localVarPath = `/.well-known/assetlinks.json`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppleAppSiteAssociation: async (options: any = {}): Promise => {\r\n const localVarPath = `/.well-known/apple-app-site-association`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AppSigningApi - functional programming interface\r\n * @export\r\n */\r\nexport const AppSigningApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = AppSigningApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAndroidAssetLinks(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAndroidAssetLinks(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppleAppSiteAssociation(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppleAppSiteAssociation(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AppSigningApi - factory interface\r\n * @export\r\n */\r\nexport const AppSigningApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = AppSigningApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAndroidAssetLinks(options?: any): AxiosPromise {\r\n return localVarFp.getAndroidAssetLinks(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppleAppSiteAssociation(options?: any): AxiosPromise {\r\n return localVarFp.getAppleAppSiteAssociation(options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * AppSigningApi - object-oriented interface\r\n * @export\r\n * @class AppSigningApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class AppSigningApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AppSigningApi\r\n */\r\n public getAndroidAssetLinks(options?: any) {\r\n return AppSigningApiFp(this.configuration).getAndroidAssetLinks(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AppSigningApi\r\n */\r\n public getAppleAppSiteAssociation(options?: any) {\r\n return AppSigningApiFp(this.configuration).getAppleAppSiteAssociation(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * AuthApi - axios parameter creator\r\n * @export\r\n */\r\nexport const AuthApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {string} [grantType] \r\n * @param {string} [username] \r\n * @param {string} [password] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n token: async (grantType?: string, username?: string, password?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/oauth/token`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n const localVarFormParams = new URLSearchParams();\r\n\r\n\r\n if (grantType !== undefined) { \r\n localVarFormParams.set('grant_type', grantType as any);\r\n }\r\n \r\n if (username !== undefined) { \r\n localVarFormParams.set('username', username as any);\r\n }\r\n \r\n if (password !== undefined) { \r\n localVarFormParams.set('password', password as any);\r\n }\r\n \r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = localVarFormParams.toString();\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AuthApi - functional programming interface\r\n * @export\r\n */\r\nexport const AuthApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = AuthApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} [grantType] \r\n * @param {string} [username] \r\n * @param {string} [password] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async token(grantType?: string, username?: string, password?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.token(grantType, username, password, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * AuthApi - factory interface\r\n * @export\r\n */\r\nexport const AuthApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = AuthApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} [grantType] \r\n * @param {string} [username] \r\n * @param {string} [password] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n token(grantType?: string, username?: string, password?: string, options?: any): AxiosPromise {\r\n return localVarFp.token(grantType, username, password, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for token operation in AuthApi.\r\n * @export\r\n * @interface AuthApiTokenRequest\r\n */\r\nexport interface AuthApiTokenRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AuthApiToken\r\n */\r\n readonly grantType?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AuthApiToken\r\n */\r\n readonly username?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof AuthApiToken\r\n */\r\n readonly password?: string\r\n}\r\n\r\n/**\r\n * AuthApi - object-oriented interface\r\n * @export\r\n * @class AuthApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class AuthApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {AuthApiTokenRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof AuthApi\r\n */\r\n public token(requestParameters: AuthApiTokenRequest = {}, options?: any) {\r\n return AuthApiFp(this.configuration).token(requestParameters.grantType, requestParameters.username, requestParameters.password, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * BeaconsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const BeaconsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (beaconId: string, options: any = {}): Promise => {\r\n // verify required parameter 'beaconId' is not null or undefined\r\n assertParamExists('_delete', 'beaconId', beaconId)\r\n const localVarPath = `/api/v2/beacons/{beaconId}`\r\n .replace(`{${\"beaconId\"}}`, encodeURIComponent(String(beaconId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {BeaconModel} [beaconModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (beaconModel?: BeaconModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(beaconModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {string} [search] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll: async (stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, search?: string, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAllAreas: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/areas`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBeaconVisitsStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/beacon-visits/stats-by-minute`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByAverageTimeSpent: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/by-average-time/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByMaximumTimeSpent: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/by-maximum-time/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByMinimumTimeSpent: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/by-minimum-time/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [storeId] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup: async (storeId?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (storeId !== undefined) {\r\n localVarQueryParameter['storeId'] = storeId;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (beaconId: string, options: any = {}): Promise => {\r\n // verify required parameter 'beaconId' is not null or undefined\r\n assertParamExists('getOne', 'beaconId', beaconId)\r\n const localVarPath = `/api/v2/beacons/{beaconId}`\r\n .replace(`{${\"beaconId\"}}`, encodeURIComponent(String(beaconId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @summary Return area ordered by beacon contacts in given period for given location.\r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTopAreas: async (size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'size' is not null or undefined\r\n assertParamExists('getTopAreas', 'size', size)\r\n const localVarPath = `/api/v2/beacons/areas/by-beacon-contacts/top-{size}`\r\n .replace(`{${\"size\"}}`, encodeURIComponent(String(size)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWarnings: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/v2/beacons/warnings`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {BeaconModel} [beaconModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (beaconId: string, beaconModel?: BeaconModel, options: any = {}): Promise => {\r\n // verify required parameter 'beaconId' is not null or undefined\r\n assertParamExists('update', 'beaconId', beaconId)\r\n const localVarPath = `/api/v2/beacons/{beaconId}`\r\n .replace(`{${\"beaconId\"}}`, encodeURIComponent(String(beaconId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(beaconModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * BeaconsApi - functional programming interface\r\n * @export\r\n */\r\nexport const BeaconsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = BeaconsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(beaconId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(beaconId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {BeaconModel} [beaconModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(beaconModel?: BeaconModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(beaconModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {string} [search] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAll(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, search?: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAll(stores, countries, cities, areas, beacons, search, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAllAreas(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAllAreas(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getBeaconVisitsStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getBeaconVisitsStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByAverageTimeSpent(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByAverageTimeSpent(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByMaximumTimeSpent(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByMaximumTimeSpent(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByMinimumTimeSpent(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByMinimumTimeSpent(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [storeId] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForLookup(storeId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForLookup(storeId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(beaconId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(beaconId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @summary Return area ordered by beacon contacts in given period for given location.\r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTopAreas(size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTopAreas(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getWarnings(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getWarnings(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {BeaconModel} [beaconModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(beaconId: string, beaconModel?: BeaconModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(beaconId, beaconModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * BeaconsApi - factory interface\r\n * @export\r\n */\r\nexport const BeaconsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = BeaconsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(beaconId: string, options?: any): AxiosPromise {\r\n return localVarFp._delete(beaconId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {BeaconModel} [beaconModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(beaconModel?: BeaconModel, options?: any): AxiosPromise {\r\n return localVarFp.create(beaconModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {string} [search] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, search?: string, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getAll(stores, countries, cities, areas, beacons, search, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAllAreas(options?: any): AxiosPromise> {\r\n return localVarFp.getAllAreas(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBeaconVisitsStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getBeaconVisitsStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByAverageTimeSpent(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByAverageTimeSpent(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByMaximumTimeSpent(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByMaximumTimeSpent(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByMinimumTimeSpent(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByMinimumTimeSpent(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [storeId] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup(storeId?: number, options?: any): AxiosPromise> {\r\n return localVarFp.getForLookup(storeId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(beaconId: string, options?: any): AxiosPromise {\r\n return localVarFp.getOne(beaconId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @summary Return area ordered by beacon contacts in given period for given location.\r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTopAreas(size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getTopAreas(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWarnings(options?: any): AxiosPromise {\r\n return localVarFp.getWarnings(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} beaconId \r\n * @param {BeaconModel} [beaconModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(beaconId: string, beaconModel?: BeaconModel, options?: any): AxiosPromise {\r\n return localVarFp.update(beaconId, beaconModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiDeleteRequest\r\n */\r\nexport interface BeaconsApiDeleteRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconsApiDelete\r\n */\r\n readonly beaconId: string\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiCreateRequest\r\n */\r\nexport interface BeaconsApiCreateRequest {\r\n /**\r\n * \r\n * @type {BeaconModel}\r\n * @memberof BeaconsApiCreate\r\n */\r\n readonly beaconModel?: BeaconModel\r\n}\r\n\r\n/**\r\n * Request parameters for getAll operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetAllRequest\r\n */\r\nexport interface BeaconsApiGetAllRequest {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {string}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof BeaconsApiGetAll\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getBeaconVisitsStatistics operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetBeaconVisitsStatisticsRequest\r\n */\r\nexport interface BeaconsApiGetBeaconVisitsStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetBeaconVisitsStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getByAverageTimeSpent operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetByAverageTimeSpentRequest\r\n */\r\nexport interface BeaconsApiGetByAverageTimeSpentRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof BeaconsApiGetByAverageTimeSpent\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByMaximumTimeSpent operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetByMaximumTimeSpentRequest\r\n */\r\nexport interface BeaconsApiGetByMaximumTimeSpentRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof BeaconsApiGetByMaximumTimeSpent\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByMinimumTimeSpent operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetByMinimumTimeSpentRequest\r\n */\r\nexport interface BeaconsApiGetByMinimumTimeSpentRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof BeaconsApiGetByMinimumTimeSpent\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getForLookup operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetForLookupRequest\r\n */\r\nexport interface BeaconsApiGetForLookupRequest {\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof BeaconsApiGetForLookup\r\n */\r\n readonly storeId?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetOneRequest\r\n */\r\nexport interface BeaconsApiGetOneRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconsApiGetOne\r\n */\r\n readonly beaconId: string\r\n}\r\n\r\n/**\r\n * Request parameters for getTopAreas operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiGetTopAreasRequest\r\n */\r\nexport interface BeaconsApiGetTopAreasRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly size: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof BeaconsApiGetTopAreas\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in BeaconsApi.\r\n * @export\r\n * @interface BeaconsApiUpdateRequest\r\n */\r\nexport interface BeaconsApiUpdateRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BeaconsApiUpdate\r\n */\r\n readonly beaconId: string\r\n\r\n /**\r\n * \r\n * @type {BeaconModel}\r\n * @memberof BeaconsApiUpdate\r\n */\r\n readonly beaconModel?: BeaconModel\r\n}\r\n\r\n/**\r\n * BeaconsApi - object-oriented interface\r\n * @export\r\n * @class BeaconsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class BeaconsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {BeaconsApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public _delete(requestParameters: BeaconsApiDeleteRequest, options?: any) {\r\n return BeaconsApiFp(this.configuration)._delete(requestParameters.beaconId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public create(requestParameters: BeaconsApiCreateRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).create(requestParameters.beaconModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetAllRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getAll(requestParameters: BeaconsApiGetAllRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).getAll(requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.search, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getAllAreas(options?: any) {\r\n return BeaconsApiFp(this.configuration).getAllAreas(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetBeaconVisitsStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getBeaconVisitsStatistics(requestParameters: BeaconsApiGetBeaconVisitsStatisticsRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).getBeaconVisitsStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetByAverageTimeSpentRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getByAverageTimeSpent(requestParameters: BeaconsApiGetByAverageTimeSpentRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).getByAverageTimeSpent(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetByMaximumTimeSpentRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getByMaximumTimeSpent(requestParameters: BeaconsApiGetByMaximumTimeSpentRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).getByMaximumTimeSpent(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetByMinimumTimeSpentRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getByMinimumTimeSpent(requestParameters: BeaconsApiGetByMinimumTimeSpentRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).getByMinimumTimeSpent(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetForLookupRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getForLookup(requestParameters: BeaconsApiGetForLookupRequest = {}, options?: any) {\r\n return BeaconsApiFp(this.configuration).getForLookup(requestParameters.storeId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getOne(requestParameters: BeaconsApiGetOneRequest, options?: any) {\r\n return BeaconsApiFp(this.configuration).getOne(requestParameters.beaconId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @summary Return area ordered by beacon contacts in given period for given location.\r\n * @param {BeaconsApiGetTopAreasRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getTopAreas(requestParameters: BeaconsApiGetTopAreasRequest, options?: any) {\r\n return BeaconsApiFp(this.configuration).getTopAreas(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public getWarnings(options?: any) {\r\n return BeaconsApiFp(this.configuration).getWarnings(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BeaconsApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BeaconsApi\r\n */\r\n public update(requestParameters: BeaconsApiUpdateRequest, options?: any) {\r\n return BeaconsApiFp(this.configuration).update(requestParameters.beaconId, requestParameters.beaconModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * BlogPostsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const BlogPostsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('_delete', 'id', id)\r\n const localVarPath = `/api/blog-posts/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {BlogPostModel} [blogPostModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (blogPostModel?: BlogPostModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/blog-posts`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(blogPostModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (search?: string, skip?: number, limit?: number, language?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/blog-posts`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (language !== undefined) {\r\n localVarQueryParameter['language'] = language;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/blog-posts/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {BlogPostModel} [blogPostModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: number, blogPostModel?: BlogPostModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/blog-posts/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(blogPostModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * BlogPostsApi - functional programming interface\r\n * @export\r\n */\r\nexport const BlogPostsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = BlogPostsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {BlogPostModel} [blogPostModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(blogPostModel?: BlogPostModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(blogPostModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(search?: string, skip?: number, limit?: number, language?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(search, skip, limit, language, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {BlogPostModel} [blogPostModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: number, blogPostModel?: BlogPostModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, blogPostModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * BlogPostsApi - factory interface\r\n * @export\r\n */\r\nexport const BlogPostsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = BlogPostsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(id: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {BlogPostModel} [blogPostModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(blogPostModel?: BlogPostModel, options?: any): AxiosPromise {\r\n return localVarFp.create(blogPostModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(search?: string, skip?: number, limit?: number, language?: string, options?: any): AxiosPromise {\r\n return localVarFp.get(search, skip, limit, language, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {BlogPostModel} [blogPostModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: number, blogPostModel?: BlogPostModel, options?: any): AxiosPromise {\r\n return localVarFp.update(id, blogPostModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in BlogPostsApi.\r\n * @export\r\n * @interface BlogPostsApiDeleteRequest\r\n */\r\nexport interface BlogPostsApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostsApiDelete\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in BlogPostsApi.\r\n * @export\r\n * @interface BlogPostsApiCreateRequest\r\n */\r\nexport interface BlogPostsApiCreateRequest {\r\n /**\r\n * \r\n * @type {BlogPostModel}\r\n * @memberof BlogPostsApiCreate\r\n */\r\n readonly blogPostModel?: BlogPostModel\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in BlogPostsApi.\r\n * @export\r\n * @interface BlogPostsApiGetRequest\r\n */\r\nexport interface BlogPostsApiGetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostsApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostsApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostsApiGet\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof BlogPostsApiGet\r\n */\r\n readonly language?: string\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in BlogPostsApi.\r\n * @export\r\n * @interface BlogPostsApiGetOneRequest\r\n */\r\nexport interface BlogPostsApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostsApiGetOne\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in BlogPostsApi.\r\n * @export\r\n * @interface BlogPostsApiUpdateRequest\r\n */\r\nexport interface BlogPostsApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof BlogPostsApiUpdate\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {BlogPostModel}\r\n * @memberof BlogPostsApiUpdate\r\n */\r\n readonly blogPostModel?: BlogPostModel\r\n}\r\n\r\n/**\r\n * BlogPostsApi - object-oriented interface\r\n * @export\r\n * @class BlogPostsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class BlogPostsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {BlogPostsApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BlogPostsApi\r\n */\r\n public _delete(requestParameters: BlogPostsApiDeleteRequest, options?: any) {\r\n return BlogPostsApiFp(this.configuration)._delete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BlogPostsApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BlogPostsApi\r\n */\r\n public create(requestParameters: BlogPostsApiCreateRequest = {}, options?: any) {\r\n return BlogPostsApiFp(this.configuration).create(requestParameters.blogPostModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BlogPostsApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BlogPostsApi\r\n */\r\n public get(requestParameters: BlogPostsApiGetRequest = {}, options?: any) {\r\n return BlogPostsApiFp(this.configuration).get(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.language, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BlogPostsApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BlogPostsApi\r\n */\r\n public getOne(requestParameters: BlogPostsApiGetOneRequest, options?: any) {\r\n return BlogPostsApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {BlogPostsApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof BlogPostsApi\r\n */\r\n public update(requestParameters: BlogPostsApiUpdateRequest, options?: any) {\r\n return BlogPostsApiFp(this.configuration).update(requestParameters.id, requestParameters.blogPostModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * CampaignsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const CampaignsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('_delete', 'id', id)\r\n const localVarPath = `/api/campaigns/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {CreateCampaignCommand} [createCampaignCommand] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (createCampaignCommand?: CreateCampaignCommand, options: any = {}): Promise => {\r\n const localVarPath = `/api/campaigns`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(createCampaignCommand, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {CampaignSort} [sort] \r\n * @param {boolean} [onlyActive] \r\n * @param {boolean} [onlyRecent] \r\n * @param {boolean} [includeDeleted] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (search?: string, sort?: CampaignSort, onlyActive?: boolean, onlyRecent?: boolean, includeDeleted?: boolean, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/campaigns`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (sort !== undefined) {\r\n localVarQueryParameter['sort'] = sort;\r\n }\r\n\r\n if (onlyActive !== undefined) {\r\n localVarQueryParameter['onlyActive'] = onlyActive;\r\n }\r\n\r\n if (onlyRecent !== undefined) {\r\n localVarQueryParameter['onlyRecent'] = onlyRecent;\r\n }\r\n\r\n if (includeDeleted !== undefined) {\r\n localVarQueryParameter['includeDeleted'] = includeDeleted;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/campaigns/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/campaigns/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {UpdateCampaignCommand} [updateCampaignCommand] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: number, updateCampaignCommand?: UpdateCampaignCommand, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/campaigns/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(updateCampaignCommand, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * CampaignsApi - functional programming interface\r\n * @export\r\n */\r\nexport const CampaignsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = CampaignsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {CreateCampaignCommand} [createCampaignCommand] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(createCampaignCommand?: CreateCampaignCommand, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(createCampaignCommand, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {CampaignSort} [sort] \r\n * @param {boolean} [onlyActive] \r\n * @param {boolean} [onlyRecent] \r\n * @param {boolean} [includeDeleted] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(search?: string, sort?: CampaignSort, onlyActive?: boolean, onlyRecent?: boolean, includeDeleted?: boolean, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(search, sort, onlyActive, onlyRecent, includeDeleted, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForLookup(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForLookup(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {UpdateCampaignCommand} [updateCampaignCommand] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: number, updateCampaignCommand?: UpdateCampaignCommand, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, updateCampaignCommand, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * CampaignsApi - factory interface\r\n * @export\r\n */\r\nexport const CampaignsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = CampaignsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(id: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {CreateCampaignCommand} [createCampaignCommand] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(createCampaignCommand?: CreateCampaignCommand, options?: any): AxiosPromise {\r\n return localVarFp.create(createCampaignCommand, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {CampaignSort} [sort] \r\n * @param {boolean} [onlyActive] \r\n * @param {boolean} [onlyRecent] \r\n * @param {boolean} [includeDeleted] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(search?: string, sort?: CampaignSort, onlyActive?: boolean, onlyRecent?: boolean, includeDeleted?: boolean, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.get(search, sort, onlyActive, onlyRecent, includeDeleted, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup(options?: any): AxiosPromise> {\r\n return localVarFp.getForLookup(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {UpdateCampaignCommand} [updateCampaignCommand] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: number, updateCampaignCommand?: UpdateCampaignCommand, options?: any): AxiosPromise {\r\n return localVarFp.update(id, updateCampaignCommand, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in CampaignsApi.\r\n * @export\r\n * @interface CampaignsApiDeleteRequest\r\n */\r\nexport interface CampaignsApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignsApiDelete\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in CampaignsApi.\r\n * @export\r\n * @interface CampaignsApiCreateRequest\r\n */\r\nexport interface CampaignsApiCreateRequest {\r\n /**\r\n * \r\n * @type {CreateCampaignCommand}\r\n * @memberof CampaignsApiCreate\r\n */\r\n readonly createCampaignCommand?: CreateCampaignCommand\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in CampaignsApi.\r\n * @export\r\n * @interface CampaignsApiGetRequest\r\n */\r\nexport interface CampaignsApiGetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {CampaignSort}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly sort?: CampaignSort\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly onlyActive?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly onlyRecent?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly includeDeleted?: boolean\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignsApiGet\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in CampaignsApi.\r\n * @export\r\n * @interface CampaignsApiGetOneRequest\r\n */\r\nexport interface CampaignsApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignsApiGetOne\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in CampaignsApi.\r\n * @export\r\n * @interface CampaignsApiUpdateRequest\r\n */\r\nexport interface CampaignsApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CampaignsApiUpdate\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {UpdateCampaignCommand}\r\n * @memberof CampaignsApiUpdate\r\n */\r\n readonly updateCampaignCommand?: UpdateCampaignCommand\r\n}\r\n\r\n/**\r\n * CampaignsApi - object-oriented interface\r\n * @export\r\n * @class CampaignsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class CampaignsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {CampaignsApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CampaignsApi\r\n */\r\n public _delete(requestParameters: CampaignsApiDeleteRequest, options?: any) {\r\n return CampaignsApiFp(this.configuration)._delete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CampaignsApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CampaignsApi\r\n */\r\n public create(requestParameters: CampaignsApiCreateRequest = {}, options?: any) {\r\n return CampaignsApiFp(this.configuration).create(requestParameters.createCampaignCommand, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CampaignsApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CampaignsApi\r\n */\r\n public get(requestParameters: CampaignsApiGetRequest = {}, options?: any) {\r\n return CampaignsApiFp(this.configuration).get(requestParameters.search, requestParameters.sort, requestParameters.onlyActive, requestParameters.onlyRecent, requestParameters.includeDeleted, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CampaignsApi\r\n */\r\n public getForLookup(options?: any) {\r\n return CampaignsApiFp(this.configuration).getForLookup(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CampaignsApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CampaignsApi\r\n */\r\n public getOne(requestParameters: CampaignsApiGetOneRequest, options?: any) {\r\n return CampaignsApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CampaignsApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CampaignsApi\r\n */\r\n public update(requestParameters: CampaignsApiUpdateRequest, options?: any) {\r\n return CampaignsApiFp(this.configuration).update(requestParameters.id, requestParameters.updateCampaignCommand, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ChangeLogApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ChangeLogApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {ChangeAction} [action] \r\n * @param {Array} [tables] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll: async (skip?: number, limit?: number, search?: string, action?: ChangeAction, tables?: Array
, options: any = {}): Promise => {\r\n const localVarPath = `/api/change-log`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (action !== undefined) {\r\n localVarQueryParameter['action'] = action;\r\n }\r\n\r\n if (tables) {\r\n localVarQueryParameter['tables'] = tables;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} entityChangeId \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPropertyChanges: async (entityChangeId: number, skip?: number, limit?: number, options: any = {}): Promise => {\r\n // verify required parameter 'entityChangeId' is not null or undefined\r\n assertParamExists('getPropertyChanges', 'entityChangeId', entityChangeId)\r\n const localVarPath = `/api/change-log/{entityChangeId}/properties`\r\n .replace(`{${\"entityChangeId\"}}`, encodeURIComponent(String(entityChangeId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ChangeLogApi - functional programming interface\r\n * @export\r\n */\r\nexport const ChangeLogApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ChangeLogApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {ChangeAction} [action] \r\n * @param {Array
} [tables] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAll(skip?: number, limit?: number, search?: string, action?: ChangeAction, tables?: Array
, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAll(skip, limit, search, action, tables, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} entityChangeId \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getPropertyChanges(entityChangeId: number, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getPropertyChanges(entityChangeId, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ChangeLogApi - factory interface\r\n * @export\r\n */\r\nexport const ChangeLogApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ChangeLogApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {ChangeAction} [action] \r\n * @param {Array
} [tables] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll(skip?: number, limit?: number, search?: string, action?: ChangeAction, tables?: Array
, options?: any): AxiosPromise {\r\n return localVarFp.getAll(skip, limit, search, action, tables, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} entityChangeId \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPropertyChanges(entityChangeId: number, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getPropertyChanges(entityChangeId, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getAll operation in ChangeLogApi.\r\n * @export\r\n * @interface ChangeLogApiGetAllRequest\r\n */\r\nexport interface ChangeLogApiGetAllRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ChangeLogApiGetAll\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ChangeLogApiGetAll\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ChangeLogApiGetAll\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {ChangeAction}\r\n * @memberof ChangeLogApiGetAll\r\n */\r\n readonly action?: ChangeAction\r\n\r\n /**\r\n * \r\n * @type {Array
}\r\n * @memberof ChangeLogApiGetAll\r\n */\r\n readonly tables?: Array
\r\n}\r\n\r\n/**\r\n * Request parameters for getPropertyChanges operation in ChangeLogApi.\r\n * @export\r\n * @interface ChangeLogApiGetPropertyChangesRequest\r\n */\r\nexport interface ChangeLogApiGetPropertyChangesRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ChangeLogApiGetPropertyChanges\r\n */\r\n readonly entityChangeId: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ChangeLogApiGetPropertyChanges\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ChangeLogApiGetPropertyChanges\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * ChangeLogApi - object-oriented interface\r\n * @export\r\n * @class ChangeLogApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ChangeLogApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {ChangeLogApiGetAllRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ChangeLogApi\r\n */\r\n public getAll(requestParameters: ChangeLogApiGetAllRequest = {}, options?: any) {\r\n return ChangeLogApiFp(this.configuration).getAll(requestParameters.skip, requestParameters.limit, requestParameters.search, requestParameters.action, requestParameters.tables, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ChangeLogApiGetPropertyChangesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ChangeLogApi\r\n */\r\n public getPropertyChanges(requestParameters: ChangeLogApiGetPropertyChangesRequest, options?: any) {\r\n return ChangeLogApiFp(this.configuration).getPropertyChanges(requestParameters.entityChangeId, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ConfigurationApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ConfigurationApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @summary App configurations for a user, BundleId, platform, or default.\r\n * @param {string} [userId] \r\n * @param {PhoneOS} [phoneOS] \r\n * @param {string} [bundleId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppConfiguration: async (userId?: string, phoneOS?: PhoneOS, bundleId?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/configuration/app`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (userId !== undefined) {\r\n localVarQueryParameter['userId'] = userId;\r\n }\r\n\r\n if (phoneOS !== undefined) {\r\n localVarQueryParameter['phoneOS'] = phoneOS;\r\n }\r\n\r\n if (bundleId !== undefined) {\r\n localVarQueryParameter['bundleId'] = bundleId;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWebConfiguration: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/configuration/web`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ConfigurationApi - functional programming interface\r\n * @export\r\n */\r\nexport const ConfigurationApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ConfigurationApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @summary App configurations for a user, BundleId, platform, or default.\r\n * @param {string} [userId] \r\n * @param {PhoneOS} [phoneOS] \r\n * @param {string} [bundleId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppConfiguration(userId?: string, phoneOS?: PhoneOS, bundleId?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppConfiguration(userId, phoneOS, bundleId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getWebConfiguration(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getWebConfiguration(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ConfigurationApi - factory interface\r\n * @export\r\n */\r\nexport const ConfigurationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ConfigurationApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @summary App configurations for a user, BundleId, platform, or default.\r\n * @param {string} [userId] \r\n * @param {PhoneOS} [phoneOS] \r\n * @param {string} [bundleId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppConfiguration(userId?: string, phoneOS?: PhoneOS, bundleId?: string, options?: any): AxiosPromise {\r\n return localVarFp.getAppConfiguration(userId, phoneOS, bundleId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWebConfiguration(options?: any): AxiosPromise {\r\n return localVarFp.getWebConfiguration(options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getAppConfiguration operation in ConfigurationApi.\r\n * @export\r\n * @interface ConfigurationApiGetAppConfigurationRequest\r\n */\r\nexport interface ConfigurationApiGetAppConfigurationRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConfigurationApiGetAppConfiguration\r\n */\r\n readonly userId?: string\r\n\r\n /**\r\n * \r\n * @type {PhoneOS}\r\n * @memberof ConfigurationApiGetAppConfiguration\r\n */\r\n readonly phoneOS?: PhoneOS\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ConfigurationApiGetAppConfiguration\r\n */\r\n readonly bundleId?: string\r\n}\r\n\r\n/**\r\n * ConfigurationApi - object-oriented interface\r\n * @export\r\n * @class ConfigurationApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ConfigurationApi extends BaseAPI {\r\n /**\r\n * \r\n * @summary App configurations for a user, BundleId, platform, or default.\r\n * @param {ConfigurationApiGetAppConfigurationRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ConfigurationApi\r\n */\r\n public getAppConfiguration(requestParameters: ConfigurationApiGetAppConfigurationRequest = {}, options?: any) {\r\n return ConfigurationApiFp(this.configuration).getAppConfiguration(requestParameters.userId, requestParameters.phoneOS, requestParameters.bundleId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ConfigurationApi\r\n */\r\n public getWebConfiguration(options?: any) {\r\n return ConfigurationApiFp(this.configuration).getWebConfiguration(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * CustomersApi - axios parameter creator\r\n * @export\r\n */\r\nexport const CustomersApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {DeviceId} [deviceId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deactivateDevice: async (customerId: string, deviceId?: DeviceId, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('deactivateDevice', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/devices/deactivate`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(deviceId, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (customerId: string, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('get', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {boolean} [hideZeros] \r\n * @param {boolean} [visitorsOnly] \r\n * @param {CustomerSort} [sort] \r\n * @param {SortDirection} [sortDirection] \r\n * @param {CustomerFilter} [customerFilter] \r\n * @param {CustomerSummaryStatistic} [customerSummaryStatistic] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, search?: string, hideZeros?: boolean, visitorsOnly?: boolean, sort?: CustomerSort, sortDirection?: SortDirection, customerFilter?: CustomerFilter, customerSummaryStatistic?: CustomerSummaryStatistic, options: any = {}): Promise => {\r\n const localVarPath = `/api/customers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (hideZeros !== undefined) {\r\n localVarQueryParameter['hideZeros'] = hideZeros;\r\n }\r\n\r\n if (visitorsOnly !== undefined) {\r\n localVarQueryParameter['visitorsOnly'] = visitorsOnly;\r\n }\r\n\r\n if (sort !== undefined) {\r\n localVarQueryParameter['sort'] = sort;\r\n }\r\n\r\n if (sortDirection !== undefined) {\r\n localVarQueryParameter['sortDirection'] = sortDirection;\r\n }\r\n\r\n if (customerFilter !== undefined) {\r\n localVarQueryParameter['customerFilter'] = customerFilter;\r\n }\r\n\r\n if (customerSummaryStatistic !== undefined) {\r\n localVarQueryParameter['customerSummaryStatistic'] = customerSummaryStatistic;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBeaconVisits: async (customerId: string, skip?: number, limit?: number, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getBeaconVisits', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/beacon-visits`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByBeaconContacts: async (limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'limit' is not null or undefined\r\n assertParamExists('getByBeaconContacts', 'limit', limit)\r\n const localVarPath = `/api/customers/by-beacon-contacts/top-{limit}`\r\n .replace(`{${\"limit\"}}`, encodeURIComponent(String(limit)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByRevenue: async (limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'limit' is not null or undefined\r\n assertParamExists('getByRevenue', 'limit', limit)\r\n const localVarPath = `/api/customers/by-revenue/top-{limit}`\r\n .replace(`{${\"limit\"}}`, encodeURIComponent(String(limit)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByTouchpoints: async (limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'limit' is not null or undefined\r\n assertParamExists('getByTouchpoints', 'limit', limit)\r\n const localVarPath = `/api/customers/by-touchpoints/top-{limit}`\r\n .replace(`{${\"limit\"}}`, encodeURIComponent(String(limit)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByVisits: async (limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'limit' is not null or undefined\r\n assertParamExists('getByVisits', 'limit', limit)\r\n const localVarPath = `/api/customers/by-visits/top-{limit}`\r\n .replace(`{${\"limit\"}}`, encodeURIComponent(String(limit)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getContacts: async (customerId: string, skip?: number, limit?: number, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getContacts', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/contacts`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {boolean} [hideZeros] \r\n * @param {boolean} [visitorsOnly] \r\n * @param {CustomerSort} [sort] \r\n * @param {SortDirection} [sortDirection] \r\n * @param {CustomerFilter} [customerFilter] \r\n * @param {CustomerSummaryStatistic} [customerSummaryStatistic] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCustomerDataCsv: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, search?: string, hideZeros?: boolean, visitorsOnly?: boolean, sort?: CustomerSort, sortDirection?: SortDirection, customerFilter?: CustomerFilter, customerSummaryStatistic?: CustomerSummaryStatistic, options: any = {}): Promise => {\r\n const localVarPath = `/api/customers/csv`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (hideZeros !== undefined) {\r\n localVarQueryParameter['hideZeros'] = hideZeros;\r\n }\r\n\r\n if (visitorsOnly !== undefined) {\r\n localVarQueryParameter['visitorsOnly'] = visitorsOnly;\r\n }\r\n\r\n if (sort !== undefined) {\r\n localVarQueryParameter['sort'] = sort;\r\n }\r\n\r\n if (sortDirection !== undefined) {\r\n localVarQueryParameter['sortDirection'] = sortDirection;\r\n }\r\n\r\n if (customerFilter !== undefined) {\r\n localVarQueryParameter['customerFilter'] = customerFilter;\r\n }\r\n\r\n if (customerSummaryStatistic !== undefined) {\r\n localVarQueryParameter['customerSummaryStatistic'] = customerSummaryStatistic;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDailyPurchases: async (customerId: string, skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getDailyPurchases', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/purchases/daily`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDevices: async (customerId: string, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getDevices', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/devices`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getMessages: async (customerId: string, skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getMessages', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/messages`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} offerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSentMessages: async (customerId: string, offerId: number, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getSentMessages', 'customerId', customerId)\r\n // verify required parameter 'offerId' is not null or undefined\r\n assertParamExists('getSentMessages', 'offerId', offerId)\r\n const localVarPath = `/api/customers/{customerId}/messages/{offerId}`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)))\r\n .replace(`{${\"offerId\"}}`, encodeURIComponent(String(offerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStatistics: async (customerId: string, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getStatistics', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/statistics`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreVisits: async (customerId: string, skip?: number, limit?: number, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('getStoreVisits', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/store-visits`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n lookupAll: async (search?: string, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/customers/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n reset: async (customerId: string, options: any = {}): Promise => {\r\n // verify required parameter 'customerId' is not null or undefined\r\n assertParamExists('reset', 'customerId', customerId)\r\n const localVarPath = `/api/customers/{customerId}/reset`\r\n .replace(`{${\"customerId\"}}`, encodeURIComponent(String(customerId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * CustomersApi - functional programming interface\r\n * @export\r\n */\r\nexport const CustomersApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = CustomersApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {DeviceId} [deviceId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async deactivateDevice(customerId: string, deviceId?: DeviceId, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.deactivateDevice(customerId, deviceId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(customerId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(customerId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {boolean} [hideZeros] \r\n * @param {boolean} [visitorsOnly] \r\n * @param {CustomerSort} [sort] \r\n * @param {SortDirection} [sortDirection] \r\n * @param {CustomerFilter} [customerFilter] \r\n * @param {CustomerSummaryStatistic} [customerSummaryStatistic] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAll(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, search?: string, hideZeros?: boolean, visitorsOnly?: boolean, sort?: CustomerSort, sortDirection?: SortDirection, customerFilter?: CustomerFilter, customerSummaryStatistic?: CustomerSummaryStatistic, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAll(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, search, hideZeros, visitorsOnly, sort, sortDirection, customerFilter, customerSummaryStatistic, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getBeaconVisits(customerId: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getBeaconVisits(customerId, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByBeaconContacts(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByBeaconContacts(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByRevenue(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByRevenue(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByTouchpoints(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByTouchpoints(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByVisits(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByVisits(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getContacts(customerId: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getContacts(customerId, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {boolean} [hideZeros] \r\n * @param {boolean} [visitorsOnly] \r\n * @param {CustomerSort} [sort] \r\n * @param {SortDirection} [sortDirection] \r\n * @param {CustomerFilter} [customerFilter] \r\n * @param {CustomerSummaryStatistic} [customerSummaryStatistic] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getCustomerDataCsv(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, search?: string, hideZeros?: boolean, visitorsOnly?: boolean, sort?: CustomerSort, sortDirection?: SortDirection, customerFilter?: CustomerFilter, customerSummaryStatistic?: CustomerSummaryStatistic, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCustomerDataCsv(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, search, hideZeros, visitorsOnly, sort, sortDirection, customerFilter, customerSummaryStatistic, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getDailyPurchases(customerId: string, skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getDailyPurchases(customerId, skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getDevices(customerId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getDevices(customerId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getMessages(customerId: string, skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getMessages(customerId, skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} offerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getSentMessages(customerId: string, offerId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSentMessages(customerId, offerId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getStatistics(customerId: string, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getStatistics(customerId, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getStoreVisits(customerId: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getStoreVisits(customerId, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async lookupAll(search?: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.lookupAll(search, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async reset(customerId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.reset(customerId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * CustomersApi - factory interface\r\n * @export\r\n */\r\nexport const CustomersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = CustomersApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {DeviceId} [deviceId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deactivateDevice(customerId: string, deviceId?: DeviceId, options?: any): AxiosPromise> {\r\n return localVarFp.deactivateDevice(customerId, deviceId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(customerId: string, options?: any): AxiosPromise {\r\n return localVarFp.get(customerId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {boolean} [hideZeros] \r\n * @param {boolean} [visitorsOnly] \r\n * @param {CustomerSort} [sort] \r\n * @param {SortDirection} [sortDirection] \r\n * @param {CustomerFilter} [customerFilter] \r\n * @param {CustomerSummaryStatistic} [customerSummaryStatistic] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, search?: string, hideZeros?: boolean, visitorsOnly?: boolean, sort?: CustomerSort, sortDirection?: SortDirection, customerFilter?: CustomerFilter, customerSummaryStatistic?: CustomerSummaryStatistic, options?: any): AxiosPromise {\r\n return localVarFp.getAll(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, search, hideZeros, visitorsOnly, sort, sortDirection, customerFilter, customerSummaryStatistic, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBeaconVisits(customerId: string, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getBeaconVisits(customerId, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByBeaconContacts(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getByBeaconContacts(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByRevenue(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getByRevenue(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByTouchpoints(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getByTouchpoints(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} limit \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByVisits(limit: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getByVisits(limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getContacts(customerId: string, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getContacts(customerId, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {boolean} [hideZeros] \r\n * @param {boolean} [visitorsOnly] \r\n * @param {CustomerSort} [sort] \r\n * @param {SortDirection} [sortDirection] \r\n * @param {CustomerFilter} [customerFilter] \r\n * @param {CustomerSummaryStatistic} [customerSummaryStatistic] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCustomerDataCsv(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, search?: string, hideZeros?: boolean, visitorsOnly?: boolean, sort?: CustomerSort, sortDirection?: SortDirection, customerFilter?: CustomerFilter, customerSummaryStatistic?: CustomerSummaryStatistic, options?: any): AxiosPromise {\r\n return localVarFp.getCustomerDataCsv(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, search, hideZeros, visitorsOnly, sort, sortDirection, customerFilter, customerSummaryStatistic, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDailyPurchases(customerId: string, skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getDailyPurchases(customerId, skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDevices(customerId: string, options?: any): AxiosPromise> {\r\n return localVarFp.getDevices(customerId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getMessages(customerId: string, skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getMessages(customerId, skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} offerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getSentMessages(customerId: string, offerId: number, options?: any): AxiosPromise {\r\n return localVarFp.getSentMessages(customerId, offerId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStatistics(customerId: string, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getStatistics(customerId, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreVisits(customerId: string, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getStoreVisits(customerId, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n lookupAll(search?: string, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.lookupAll(search, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} customerId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n reset(customerId: string, options?: any): AxiosPromise {\r\n return localVarFp.reset(customerId, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for deactivateDevice operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiDeactivateDeviceRequest\r\n */\r\nexport interface CustomersApiDeactivateDeviceRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiDeactivateDevice\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * \r\n * @type {DeviceId}\r\n * @memberof CustomersApiDeactivateDevice\r\n */\r\n readonly deviceId?: DeviceId\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetRequest\r\n */\r\nexport interface CustomersApiGetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGet\r\n */\r\n readonly customerId: string\r\n}\r\n\r\n/**\r\n * Request parameters for getAll operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetAllRequest\r\n */\r\nexport interface CustomersApiGetAllRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly hideZeros?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly visitorsOnly?: boolean\r\n\r\n /**\r\n * \r\n * @type {CustomerSort}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly sort?: CustomerSort\r\n\r\n /**\r\n * \r\n * @type {SortDirection}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly sortDirection?: SortDirection\r\n\r\n /**\r\n * \r\n * @type {CustomerFilter}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly customerFilter?: CustomerFilter\r\n\r\n /**\r\n * \r\n * @type {CustomerSummaryStatistic}\r\n * @memberof CustomersApiGetAll\r\n */\r\n readonly customerSummaryStatistic?: CustomerSummaryStatistic\r\n}\r\n\r\n/**\r\n * Request parameters for getBeaconVisits operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetBeaconVisitsRequest\r\n */\r\nexport interface CustomersApiGetBeaconVisitsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetBeaconVisits\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetBeaconVisits\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetBeaconVisits\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByBeaconContacts operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetByBeaconContactsRequest\r\n */\r\nexport interface CustomersApiGetByBeaconContactsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly limit: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByBeaconContacts\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getByRevenue operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetByRevenueRequest\r\n */\r\nexport interface CustomersApiGetByRevenueRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly limit: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByRevenue\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getByTouchpoints operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetByTouchpointsRequest\r\n */\r\nexport interface CustomersApiGetByTouchpointsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly limit: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByTouchpoints\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getByVisits operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetByVisitsRequest\r\n */\r\nexport interface CustomersApiGetByVisitsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly limit: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetByVisits\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getContacts operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetContactsRequest\r\n */\r\nexport interface CustomersApiGetContactsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetContacts\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetContacts\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetContacts\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getCustomerDataCsv operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetCustomerDataCsvRequest\r\n */\r\nexport interface CustomersApiGetCustomerDataCsvRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly hideZeros?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly visitorsOnly?: boolean\r\n\r\n /**\r\n * \r\n * @type {CustomerSort}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly sort?: CustomerSort\r\n\r\n /**\r\n * \r\n * @type {SortDirection}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly sortDirection?: SortDirection\r\n\r\n /**\r\n * \r\n * @type {CustomerFilter}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly customerFilter?: CustomerFilter\r\n\r\n /**\r\n * \r\n * @type {CustomerSummaryStatistic}\r\n * @memberof CustomersApiGetCustomerDataCsv\r\n */\r\n readonly customerSummaryStatistic?: CustomerSummaryStatistic\r\n}\r\n\r\n/**\r\n * Request parameters for getDailyPurchases operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetDailyPurchasesRequest\r\n */\r\nexport interface CustomersApiGetDailyPurchasesRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetDailyPurchases\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getDevices operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetDevicesRequest\r\n */\r\nexport interface CustomersApiGetDevicesRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetDevices\r\n */\r\n readonly customerId: string\r\n}\r\n\r\n/**\r\n * Request parameters for getMessages operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetMessagesRequest\r\n */\r\nexport interface CustomersApiGetMessagesRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetMessages\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getSentMessages operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetSentMessagesRequest\r\n */\r\nexport interface CustomersApiGetSentMessagesRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetSentMessages\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiGetSentMessages\r\n */\r\n readonly offerId: number\r\n}\r\n\r\n/**\r\n * Request parameters for getStatistics operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetStatisticsRequest\r\n */\r\nexport interface CustomersApiGetStatisticsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof CustomersApiGetStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getStoreVisits operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiGetStoreVisitsRequest\r\n */\r\nexport interface CustomersApiGetStoreVisitsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiGetStoreVisits\r\n */\r\n readonly customerId: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetStoreVisits\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof CustomersApiGetStoreVisits\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for lookupAll operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiLookupAllRequest\r\n */\r\nexport interface CustomersApiLookupAllRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiLookupAll\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiLookupAll\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof CustomersApiLookupAll\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for reset operation in CustomersApi.\r\n * @export\r\n * @interface CustomersApiResetRequest\r\n */\r\nexport interface CustomersApiResetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof CustomersApiReset\r\n */\r\n readonly customerId: string\r\n}\r\n\r\n/**\r\n * CustomersApi - object-oriented interface\r\n * @export\r\n * @class CustomersApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class CustomersApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {CustomersApiDeactivateDeviceRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public deactivateDevice(requestParameters: CustomersApiDeactivateDeviceRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).deactivateDevice(requestParameters.customerId, requestParameters.deviceId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public get(requestParameters: CustomersApiGetRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).get(requestParameters.customerId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetAllRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getAll(requestParameters: CustomersApiGetAllRequest = {}, options?: any) {\r\n return CustomersApiFp(this.configuration).getAll(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, requestParameters.limit, requestParameters.search, requestParameters.hideZeros, requestParameters.visitorsOnly, requestParameters.sort, requestParameters.sortDirection, requestParameters.customerFilter, requestParameters.customerSummaryStatistic, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetBeaconVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getBeaconVisits(requestParameters: CustomersApiGetBeaconVisitsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getBeaconVisits(requestParameters.customerId, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetByBeaconContactsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getByBeaconContacts(requestParameters: CustomersApiGetByBeaconContactsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getByBeaconContacts(requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetByRevenueRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getByRevenue(requestParameters: CustomersApiGetByRevenueRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getByRevenue(requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetByTouchpointsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getByTouchpoints(requestParameters: CustomersApiGetByTouchpointsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getByTouchpoints(requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetByVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getByVisits(requestParameters: CustomersApiGetByVisitsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getByVisits(requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetContactsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getContacts(requestParameters: CustomersApiGetContactsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getContacts(requestParameters.customerId, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetCustomerDataCsvRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getCustomerDataCsv(requestParameters: CustomersApiGetCustomerDataCsvRequest = {}, options?: any) {\r\n return CustomersApiFp(this.configuration).getCustomerDataCsv(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, requestParameters.limit, requestParameters.search, requestParameters.hideZeros, requestParameters.visitorsOnly, requestParameters.sort, requestParameters.sortDirection, requestParameters.customerFilter, requestParameters.customerSummaryStatistic, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetDailyPurchasesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getDailyPurchases(requestParameters: CustomersApiGetDailyPurchasesRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getDailyPurchases(requestParameters.customerId, requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetDevicesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getDevices(requestParameters: CustomersApiGetDevicesRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getDevices(requestParameters.customerId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetMessagesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getMessages(requestParameters: CustomersApiGetMessagesRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getMessages(requestParameters.customerId, requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetSentMessagesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getSentMessages(requestParameters: CustomersApiGetSentMessagesRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getSentMessages(requestParameters.customerId, requestParameters.offerId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getStatistics(requestParameters: CustomersApiGetStatisticsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getStatistics(requestParameters.customerId, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiGetStoreVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public getStoreVisits(requestParameters: CustomersApiGetStoreVisitsRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).getStoreVisits(requestParameters.customerId, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiLookupAllRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public lookupAll(requestParameters: CustomersApiLookupAllRequest = {}, options?: any) {\r\n return CustomersApiFp(this.configuration).lookupAll(requestParameters.search, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {CustomersApiResetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof CustomersApi\r\n */\r\n public reset(requestParameters: CustomersApiResetRequest, options?: any) {\r\n return CustomersApiFp(this.configuration).reset(requestParameters.customerId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * DemographicsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const DemographicsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForTransactions: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/demographics/transactions`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForVisits: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/demographics/visits`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * DemographicsApi - functional programming interface\r\n * @export\r\n */\r\nexport const DemographicsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = DemographicsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForTransactions(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForTransactions(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForVisits(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForVisits(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * DemographicsApi - factory interface\r\n * @export\r\n */\r\nexport const DemographicsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = DemographicsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForTransactions(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getForTransactions(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForVisits(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getForVisits(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getForTransactions operation in DemographicsApi.\r\n * @export\r\n * @interface DemographicsApiGetForTransactionsRequest\r\n */\r\nexport interface DemographicsApiGetForTransactionsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForTransactions\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getForVisits operation in DemographicsApi.\r\n * @export\r\n * @interface DemographicsApiGetForVisitsRequest\r\n */\r\nexport interface DemographicsApiGetForVisitsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof DemographicsApiGetForVisits\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * DemographicsApi - object-oriented interface\r\n * @export\r\n * @class DemographicsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class DemographicsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {DemographicsApiGetForTransactionsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof DemographicsApi\r\n */\r\n public getForTransactions(requestParameters: DemographicsApiGetForTransactionsRequest = {}, options?: any) {\r\n return DemographicsApiFp(this.configuration).getForTransactions(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {DemographicsApiGetForVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof DemographicsApi\r\n */\r\n public getForVisits(requestParameters: DemographicsApiGetForVisitsRequest = {}, options?: any) {\r\n return DemographicsApiFp(this.configuration).getForVisits(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * FeaturedItemsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const FeaturedItemsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('_delete', 'id', id)\r\n const localVarPath = `/api/featured-items/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {FeaturedItemModel} [featuredItemModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (featuredItemModel?: FeaturedItemModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/featured-items`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(featuredItemModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (search?: string, skip?: number, limit?: number, language?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/featured-items`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (language !== undefined) {\r\n localVarQueryParameter['language'] = language;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/featured-items/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {FeaturedItemModel} [featuredItemModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: number, featuredItemModel?: FeaturedItemModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/featured-items/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(featuredItemModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * FeaturedItemsApi - functional programming interface\r\n * @export\r\n */\r\nexport const FeaturedItemsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = FeaturedItemsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {FeaturedItemModel} [featuredItemModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(featuredItemModel?: FeaturedItemModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(featuredItemModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(search?: string, skip?: number, limit?: number, language?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(search, skip, limit, language, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {FeaturedItemModel} [featuredItemModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: number, featuredItemModel?: FeaturedItemModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, featuredItemModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * FeaturedItemsApi - factory interface\r\n * @export\r\n */\r\nexport const FeaturedItemsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = FeaturedItemsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(id: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {FeaturedItemModel} [featuredItemModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(featuredItemModel?: FeaturedItemModel, options?: any): AxiosPromise {\r\n return localVarFp.create(featuredItemModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(search?: string, skip?: number, limit?: number, language?: string, options?: any): AxiosPromise {\r\n return localVarFp.get(search, skip, limit, language, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {FeaturedItemModel} [featuredItemModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: number, featuredItemModel?: FeaturedItemModel, options?: any): AxiosPromise {\r\n return localVarFp.update(id, featuredItemModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in FeaturedItemsApi.\r\n * @export\r\n * @interface FeaturedItemsApiDeleteRequest\r\n */\r\nexport interface FeaturedItemsApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemsApiDelete\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in FeaturedItemsApi.\r\n * @export\r\n * @interface FeaturedItemsApiCreateRequest\r\n */\r\nexport interface FeaturedItemsApiCreateRequest {\r\n /**\r\n * \r\n * @type {FeaturedItemModel}\r\n * @memberof FeaturedItemsApiCreate\r\n */\r\n readonly featuredItemModel?: FeaturedItemModel\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in FeaturedItemsApi.\r\n * @export\r\n * @interface FeaturedItemsApiGetRequest\r\n */\r\nexport interface FeaturedItemsApiGetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemsApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemsApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemsApiGet\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof FeaturedItemsApiGet\r\n */\r\n readonly language?: string\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in FeaturedItemsApi.\r\n * @export\r\n * @interface FeaturedItemsApiGetOneRequest\r\n */\r\nexport interface FeaturedItemsApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemsApiGetOne\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in FeaturedItemsApi.\r\n * @export\r\n * @interface FeaturedItemsApiUpdateRequest\r\n */\r\nexport interface FeaturedItemsApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof FeaturedItemsApiUpdate\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {FeaturedItemModel}\r\n * @memberof FeaturedItemsApiUpdate\r\n */\r\n readonly featuredItemModel?: FeaturedItemModel\r\n}\r\n\r\n/**\r\n * FeaturedItemsApi - object-oriented interface\r\n * @export\r\n * @class FeaturedItemsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class FeaturedItemsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {FeaturedItemsApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof FeaturedItemsApi\r\n */\r\n public _delete(requestParameters: FeaturedItemsApiDeleteRequest, options?: any) {\r\n return FeaturedItemsApiFp(this.configuration)._delete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {FeaturedItemsApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof FeaturedItemsApi\r\n */\r\n public create(requestParameters: FeaturedItemsApiCreateRequest = {}, options?: any) {\r\n return FeaturedItemsApiFp(this.configuration).create(requestParameters.featuredItemModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {FeaturedItemsApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof FeaturedItemsApi\r\n */\r\n public get(requestParameters: FeaturedItemsApiGetRequest = {}, options?: any) {\r\n return FeaturedItemsApiFp(this.configuration).get(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.language, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {FeaturedItemsApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof FeaturedItemsApi\r\n */\r\n public getOne(requestParameters: FeaturedItemsApiGetOneRequest, options?: any) {\r\n return FeaturedItemsApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {FeaturedItemsApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof FeaturedItemsApi\r\n */\r\n public update(requestParameters: FeaturedItemsApiUpdateRequest, options?: any) {\r\n return FeaturedItemsApiFp(this.configuration).update(requestParameters.id, requestParameters.featuredItemModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * HealthChecksApi - axios parameter creator\r\n * @export\r\n */\r\nexport const HealthChecksApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getHealthChecks: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/health-checks`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * HealthChecksApi - functional programming interface\r\n * @export\r\n */\r\nexport const HealthChecksApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = HealthChecksApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getHealthChecks(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getHealthChecks(rangeType, rangeStart, rangeEnd, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * HealthChecksApi - factory interface\r\n * @export\r\n */\r\nexport const HealthChecksApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = HealthChecksApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getHealthChecks(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options?: any): AxiosPromise {\r\n return localVarFp.getHealthChecks(rangeType, rangeStart, rangeEnd, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getHealthChecks operation in HealthChecksApi.\r\n * @export\r\n * @interface HealthChecksApiGetHealthChecksRequest\r\n */\r\nexport interface HealthChecksApiGetHealthChecksRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof HealthChecksApiGetHealthChecks\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof HealthChecksApiGetHealthChecks\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof HealthChecksApiGetHealthChecks\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n}\r\n\r\n/**\r\n * HealthChecksApi - object-oriented interface\r\n * @export\r\n * @class HealthChecksApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class HealthChecksApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {HealthChecksApiGetHealthChecksRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof HealthChecksApi\r\n */\r\n public getHealthChecks(requestParameters: HealthChecksApiGetHealthChecksRequest = {}, options?: any) {\r\n return HealthChecksApiFp(this.configuration).getHealthChecks(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ImageApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ImageApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * Receives multipart/form-data. Example JS code for uploading images: var image = $(\\'input[name=image]\\')[0]; if (image.files.length > 0) { var settings = { generateThumbnail: $(\\'input[name=generateThumbnail]\\')[0].checked, generateGrayscale: $(\\'input[name=generateGrayscale]\\')[0].checked, generateThumbnailGrayscale: $(\\'input[name=generateThumbnailGrayscale]\\')[0].checked }; var payload = new FormData(); payload.append(\\'settings\\', new Blob([JSON.stringify(settings)], { type: \\'application/json\\' })); payload.append(\\'image\\', image.files[0], image.filename); $.ajax({ url: \\'http://local.bms-api.com/api/v1/images\\', type: \\'POST\\', data: payload, success: function(data) { alert(JSON.stringify(data)); }, cache: false, contentType: false, processData: false }); } \r\n * @param {ImageUploadSettings} [settings] \r\n * @param {any} [image] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (settings?: ImageUploadSettings, image?: any, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/images`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();\r\n\r\n\r\n if (settings !== undefined) { \r\n localVarFormParams.append('settings', new Blob([JSON.stringify(settings)], { type: \"application/json\", }));\r\n }\r\n \r\n if (image !== undefined) { \r\n localVarFormParams.append('image', image as any);\r\n }\r\n \r\n \r\n localVarHeaderParameter['Content-Type'] = 'multipart/form-data';\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = localVarFormParams;\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ImageApi - functional programming interface\r\n * @export\r\n */\r\nexport const ImageApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ImageApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * Receives multipart/form-data. Example JS code for uploading images: var image = $(\\'input[name=image]\\')[0]; if (image.files.length > 0) { var settings = { generateThumbnail: $(\\'input[name=generateThumbnail]\\')[0].checked, generateGrayscale: $(\\'input[name=generateGrayscale]\\')[0].checked, generateThumbnailGrayscale: $(\\'input[name=generateThumbnailGrayscale]\\')[0].checked }; var payload = new FormData(); payload.append(\\'settings\\', new Blob([JSON.stringify(settings)], { type: \\'application/json\\' })); payload.append(\\'image\\', image.files[0], image.filename); $.ajax({ url: \\'http://local.bms-api.com/api/v1/images\\', type: \\'POST\\', data: payload, success: function(data) { alert(JSON.stringify(data)); }, cache: false, contentType: false, processData: false }); } \r\n * @param {ImageUploadSettings} [settings] \r\n * @param {any} [image] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(settings?: ImageUploadSettings, image?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(settings, image, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ImageApi - factory interface\r\n * @export\r\n */\r\nexport const ImageApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ImageApiFp(configuration)\r\n return {\r\n /**\r\n * Receives multipart/form-data. Example JS code for uploading images: var image = $(\\'input[name=image]\\')[0]; if (image.files.length > 0) { var settings = { generateThumbnail: $(\\'input[name=generateThumbnail]\\')[0].checked, generateGrayscale: $(\\'input[name=generateGrayscale]\\')[0].checked, generateThumbnailGrayscale: $(\\'input[name=generateThumbnailGrayscale]\\')[0].checked }; var payload = new FormData(); payload.append(\\'settings\\', new Blob([JSON.stringify(settings)], { type: \\'application/json\\' })); payload.append(\\'image\\', image.files[0], image.filename); $.ajax({ url: \\'http://local.bms-api.com/api/v1/images\\', type: \\'POST\\', data: payload, success: function(data) { alert(JSON.stringify(data)); }, cache: false, contentType: false, processData: false }); } \r\n * @param {ImageUploadSettings} [settings] \r\n * @param {any} [image] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(settings?: ImageUploadSettings, image?: any, options?: any): AxiosPromise {\r\n return localVarFp.create(settings, image, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for create operation in ImageApi.\r\n * @export\r\n * @interface ImageApiCreateRequest\r\n */\r\nexport interface ImageApiCreateRequest {\r\n /**\r\n * \r\n * @type {ImageUploadSettings}\r\n * @memberof ImageApiCreate\r\n */\r\n readonly settings?: ImageUploadSettings\r\n\r\n /**\r\n * \r\n * @type {any}\r\n * @memberof ImageApiCreate\r\n */\r\n readonly image?: any\r\n}\r\n\r\n/**\r\n * ImageApi - object-oriented interface\r\n * @export\r\n * @class ImageApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ImageApi extends BaseAPI {\r\n /**\r\n * Receives multipart/form-data. Example JS code for uploading images: var image = $(\\'input[name=image]\\')[0]; if (image.files.length > 0) { var settings = { generateThumbnail: $(\\'input[name=generateThumbnail]\\')[0].checked, generateGrayscale: $(\\'input[name=generateGrayscale]\\')[0].checked, generateThumbnailGrayscale: $(\\'input[name=generateThumbnailGrayscale]\\')[0].checked }; var payload = new FormData(); payload.append(\\'settings\\', new Blob([JSON.stringify(settings)], { type: \\'application/json\\' })); payload.append(\\'image\\', image.files[0], image.filename); $.ajax({ url: \\'http://local.bms-api.com/api/v1/images\\', type: \\'POST\\', data: payload, success: function(data) { alert(JSON.stringify(data)); }, cache: false, contentType: false, processData: false }); } \r\n * @param {ImageApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ImageApi\r\n */\r\n public create(requestParameters: ImageApiCreateRequest = {}, options?: any) {\r\n return ImageApiFp(this.configuration).create(requestParameters.settings, requestParameters.image, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ImportApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ImportApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {UploadCustomerPurchasesRequest} [uploadCustomerPurchasesRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n uploadCustomerPurchases: async (uploadCustomerPurchasesRequest?: UploadCustomerPurchasesRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/import/customers-purchases`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(uploadCustomerPurchasesRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {UploadProductsRequest} [uploadProductsRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n uploadProducts: async (uploadProductsRequest?: UploadProductsRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/import/products`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(uploadProductsRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ImportApi - functional programming interface\r\n * @export\r\n */\r\nexport const ImportApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ImportApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {UploadCustomerPurchasesRequest} [uploadCustomerPurchasesRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async uploadCustomerPurchases(uploadCustomerPurchasesRequest?: UploadCustomerPurchasesRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.uploadCustomerPurchases(uploadCustomerPurchasesRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {UploadProductsRequest} [uploadProductsRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async uploadProducts(uploadProductsRequest?: UploadProductsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.uploadProducts(uploadProductsRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ImportApi - factory interface\r\n * @export\r\n */\r\nexport const ImportApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ImportApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {UploadCustomerPurchasesRequest} [uploadCustomerPurchasesRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n uploadCustomerPurchases(uploadCustomerPurchasesRequest?: UploadCustomerPurchasesRequest, options?: any): AxiosPromise {\r\n return localVarFp.uploadCustomerPurchases(uploadCustomerPurchasesRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {UploadProductsRequest} [uploadProductsRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n uploadProducts(uploadProductsRequest?: UploadProductsRequest, options?: any): AxiosPromise {\r\n return localVarFp.uploadProducts(uploadProductsRequest, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for uploadCustomerPurchases operation in ImportApi.\r\n * @export\r\n * @interface ImportApiUploadCustomerPurchasesRequest\r\n */\r\nexport interface ImportApiUploadCustomerPurchasesRequest {\r\n /**\r\n * \r\n * @type {UploadCustomerPurchasesRequest}\r\n * @memberof ImportApiUploadCustomerPurchases\r\n */\r\n readonly uploadCustomerPurchasesRequest?: UploadCustomerPurchasesRequest\r\n}\r\n\r\n/**\r\n * Request parameters for uploadProducts operation in ImportApi.\r\n * @export\r\n * @interface ImportApiUploadProductsRequest\r\n */\r\nexport interface ImportApiUploadProductsRequest {\r\n /**\r\n * \r\n * @type {UploadProductsRequest}\r\n * @memberof ImportApiUploadProducts\r\n */\r\n readonly uploadProductsRequest?: UploadProductsRequest\r\n}\r\n\r\n/**\r\n * ImportApi - object-oriented interface\r\n * @export\r\n * @class ImportApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ImportApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {ImportApiUploadCustomerPurchasesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ImportApi\r\n */\r\n public uploadCustomerPurchases(requestParameters: ImportApiUploadCustomerPurchasesRequest = {}, options?: any) {\r\n return ImportApiFp(this.configuration).uploadCustomerPurchases(requestParameters.uploadCustomerPurchasesRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ImportApiUploadProductsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ImportApi\r\n */\r\n public uploadProducts(requestParameters: ImportApiUploadProductsRequest = {}, options?: any) {\r\n return ImportApiFp(this.configuration).uploadProducts(requestParameters.uploadProductsRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * LocationsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const LocationsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} countryId \r\n * @param {string} [search] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCitiesForCountry: async (countryId: number, search?: string, limit?: number, options: any = {}): Promise => {\r\n // verify required parameter 'countryId' is not null or undefined\r\n assertParamExists('getCitiesForCountry', 'countryId', countryId)\r\n const localVarPath = `/api/v1/locations/countries/{countryId}/cities`\r\n .replace(`{${\"countryId\"}}`, encodeURIComponent(String(countryId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCountries: async (search?: string, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/locations/countries`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {boolean} [excludeAreas] \r\n * @param {boolean} [excludeBeacons] \r\n * @param {boolean} [excludeStores] \r\n * @param {boolean} [excludeCities] \r\n * @param {boolean} [excludeCountries] \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLocations: async (excludeAreas?: boolean, excludeBeacons?: boolean, excludeStores?: boolean, excludeCities?: boolean, excludeCountries?: boolean, search?: string, skip?: number, limit?: number, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/locations`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (excludeAreas !== undefined) {\r\n localVarQueryParameter['excludeAreas'] = excludeAreas;\r\n }\r\n\r\n if (excludeBeacons !== undefined) {\r\n localVarQueryParameter['excludeBeacons'] = excludeBeacons;\r\n }\r\n\r\n if (excludeStores !== undefined) {\r\n localVarQueryParameter['excludeStores'] = excludeStores;\r\n }\r\n\r\n if (excludeCities !== undefined) {\r\n localVarQueryParameter['excludeCities'] = excludeCities;\r\n }\r\n\r\n if (excludeCountries !== undefined) {\r\n localVarQueryParameter['excludeCountries'] = excludeCountries;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWorldHeatmap: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/locations/heatmap`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * LocationsApi - functional programming interface\r\n * @export\r\n */\r\nexport const LocationsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = LocationsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} countryId \r\n * @param {string} [search] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getCitiesForCountry(countryId: number, search?: string, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCitiesForCountry(countryId, search, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getCountries(search?: string, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCountries(search, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {boolean} [excludeAreas] \r\n * @param {boolean} [excludeBeacons] \r\n * @param {boolean} [excludeStores] \r\n * @param {boolean} [excludeCities] \r\n * @param {boolean} [excludeCountries] \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getLocations(excludeAreas?: boolean, excludeBeacons?: boolean, excludeStores?: boolean, excludeCities?: boolean, excludeCountries?: boolean, search?: string, skip?: number, limit?: number, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getLocations(excludeAreas, excludeBeacons, excludeStores, excludeCities, excludeCountries, search, skip, limit, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getWorldHeatmap(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getWorldHeatmap(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * LocationsApi - factory interface\r\n * @export\r\n */\r\nexport const LocationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = LocationsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} countryId \r\n * @param {string} [search] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCitiesForCountry(countryId: number, search?: string, limit?: number, options?: any): AxiosPromise> {\r\n return localVarFp.getCitiesForCountry(countryId, search, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCountries(search?: string, limit?: number, options?: any): AxiosPromise> {\r\n return localVarFp.getCountries(search, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {boolean} [excludeAreas] \r\n * @param {boolean} [excludeBeacons] \r\n * @param {boolean} [excludeStores] \r\n * @param {boolean} [excludeCities] \r\n * @param {boolean} [excludeCountries] \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLocations(excludeAreas?: boolean, excludeBeacons?: boolean, excludeStores?: boolean, excludeCities?: boolean, excludeCountries?: boolean, search?: string, skip?: number, limit?: number, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getLocations(excludeAreas, excludeBeacons, excludeStores, excludeCities, excludeCountries, search, skip, limit, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWorldHeatmap(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getWorldHeatmap(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getCitiesForCountry operation in LocationsApi.\r\n * @export\r\n * @interface LocationsApiGetCitiesForCountryRequest\r\n */\r\nexport interface LocationsApiGetCitiesForCountryRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationsApiGetCitiesForCountry\r\n */\r\n readonly countryId: number\r\n\r\n /**\r\n * Default: null\r\n * @type {string}\r\n * @memberof LocationsApiGetCitiesForCountry\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof LocationsApiGetCitiesForCountry\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getCountries operation in LocationsApi.\r\n * @export\r\n * @interface LocationsApiGetCountriesRequest\r\n */\r\nexport interface LocationsApiGetCountriesRequest {\r\n /**\r\n * Default: null\r\n * @type {string}\r\n * @memberof LocationsApiGetCountries\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof LocationsApiGetCountries\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getLocations operation in LocationsApi.\r\n * @export\r\n * @interface LocationsApiGetLocationsRequest\r\n */\r\nexport interface LocationsApiGetLocationsRequest {\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly excludeAreas?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly excludeBeacons?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly excludeStores?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly excludeCities?: boolean\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly excludeCountries?: boolean\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetLocations\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getWorldHeatmap operation in LocationsApi.\r\n * @export\r\n * @interface LocationsApiGetWorldHeatmapRequest\r\n */\r\nexport interface LocationsApiGetWorldHeatmapRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof LocationsApiGetWorldHeatmap\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * LocationsApi - object-oriented interface\r\n * @export\r\n * @class LocationsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class LocationsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {LocationsApiGetCitiesForCountryRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof LocationsApi\r\n */\r\n public getCitiesForCountry(requestParameters: LocationsApiGetCitiesForCountryRequest, options?: any) {\r\n return LocationsApiFp(this.configuration).getCitiesForCountry(requestParameters.countryId, requestParameters.search, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {LocationsApiGetCountriesRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof LocationsApi\r\n */\r\n public getCountries(requestParameters: LocationsApiGetCountriesRequest = {}, options?: any) {\r\n return LocationsApiFp(this.configuration).getCountries(requestParameters.search, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {LocationsApiGetLocationsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof LocationsApi\r\n */\r\n public getLocations(requestParameters: LocationsApiGetLocationsRequest = {}, options?: any) {\r\n return LocationsApiFp(this.configuration).getLocations(requestParameters.excludeAreas, requestParameters.excludeBeacons, requestParameters.excludeStores, requestParameters.excludeCities, requestParameters.excludeCountries, requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {LocationsApiGetWorldHeatmapRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof LocationsApi\r\n */\r\n public getWorldHeatmap(requestParameters: LocationsApiGetWorldHeatmapRequest = {}, options?: any) {\r\n return LocationsApiFp(this.configuration).getWorldHeatmap(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * MessagesApi - axios parameter creator\r\n * @export\r\n */\r\nexport const MessagesApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (messageId: number, options: any = {}): Promise => {\r\n // verify required parameter 'messageId' is not null or undefined\r\n assertParamExists('_delete', 'messageId', messageId)\r\n const localVarPath = `/api/messages/{messageId}`\r\n .replace(`{${\"messageId\"}}`, encodeURIComponent(String(messageId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {number} [messageId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n clearMessageStatistics: async (userId?: string, messageId?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages/statistics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (userId !== undefined) {\r\n localVarQueryParameter['userId'] = userId;\r\n }\r\n\r\n if (messageId !== undefined) {\r\n localVarQueryParameter['messageId'] = messageId;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [draftId] \r\n * @param {MessageModel} [messageModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (draftId?: number, messageModel?: MessageModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (draftId !== undefined) {\r\n localVarQueryParameter['draftId'] = draftId;\r\n }\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(messageModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {ForceSendMessageRequest} [forceSendMessageRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n forceSendMessage: async (messageId: number, forceSendMessageRequest?: ForceSendMessageRequest, options: any = {}): Promise => {\r\n // verify required parameter 'messageId' is not null or undefined\r\n assertParamExists('forceSendMessage', 'messageId', messageId)\r\n const localVarPath = `/api/messages/{messageId}`\r\n .replace(`{${\"messageId\"}}`, encodeURIComponent(String(messageId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(forceSendMessageRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {MessageSort} [sort] Default: null\r\n * @param {MessageStatus} [status] Default: null\r\n * @param {IsoDateTimeString} [validFrom] Default: null\r\n * @param {IsoDateTimeString} [validTo] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (search?: string, campaignIds?: Array, includeInactive?: boolean, skip?: number, limit?: number, sort?: MessageSort, status?: MessageStatus, validFrom?: IsoDateTimeString, validTo?: IsoDateTimeString, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (campaignIds) {\r\n localVarQueryParameter['campaignIds'] = campaignIds;\r\n }\r\n\r\n if (includeInactive !== undefined) {\r\n localVarQueryParameter['includeInactive'] = includeInactive;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (sort !== undefined) {\r\n localVarQueryParameter['sort'] = sort;\r\n }\r\n\r\n if (status !== undefined) {\r\n localVarQueryParameter['status'] = status;\r\n }\r\n\r\n if (validFrom !== undefined) {\r\n localVarQueryParameter['validFrom'] = (validFrom as any instanceof Date) ?\r\n (validFrom as any).toISOString() :\r\n validFrom;\r\n }\r\n\r\n if (validTo !== undefined) {\r\n localVarQueryParameter['validTo'] = (validTo as any instanceof Date) ?\r\n (validTo as any).toISOString() :\r\n validTo;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/messages/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {CustomAudienceType} [audienceType] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {SortDirection} [sortDirection] Default: null\r\n * @param {MessageInteractionPerformanceSortColumn} [sortColumn] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getInteractionPerformance: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, audienceType?: CustomAudienceType, campaignIds?: Array, includeInactive?: boolean, sortDirection?: SortDirection, sortColumn?: MessageInteractionPerformanceSortColumn, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages/performance/interaction`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (audienceType !== undefined) {\r\n localVarQueryParameter['audienceType'] = audienceType;\r\n }\r\n\r\n if (campaignIds) {\r\n localVarQueryParameter['campaignIds'] = campaignIds;\r\n }\r\n\r\n if (includeInactive !== undefined) {\r\n localVarQueryParameter['includeInactive'] = includeInactive;\r\n }\r\n\r\n if (sortDirection !== undefined) {\r\n localVarQueryParameter['sortDirection'] = sortDirection;\r\n }\r\n\r\n if (sortColumn !== undefined) {\r\n localVarQueryParameter['sortColumn'] = sortColumn;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [offerTitle] \r\n * @param {string} [offerText] \r\n * @param {string} [imageUrl] \r\n * @param {boolean} [isRedeemable] \r\n * @param {string} [callToActionTitle] \r\n * @param {string} [callToActionLink] \r\n * @param {boolean} [disableOnclicks] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOfferPreview: async (offerTitle?: string, offerText?: string, imageUrl?: string, isRedeemable?: boolean, callToActionTitle?: string, callToActionLink?: string, disableOnclicks?: boolean, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages/preview/editor`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (offerTitle !== undefined) {\r\n localVarQueryParameter['offerTitle'] = offerTitle;\r\n }\r\n\r\n if (offerText !== undefined) {\r\n localVarQueryParameter['offerText'] = offerText;\r\n }\r\n\r\n if (imageUrl !== undefined) {\r\n localVarQueryParameter['imageUrl'] = imageUrl;\r\n }\r\n\r\n if (isRedeemable !== undefined) {\r\n localVarQueryParameter['isRedeemable'] = isRedeemable;\r\n }\r\n\r\n if (callToActionTitle !== undefined) {\r\n localVarQueryParameter['callToActionTitle'] = callToActionTitle;\r\n }\r\n\r\n if (callToActionLink !== undefined) {\r\n localVarQueryParameter['callToActionLink'] = callToActionLink;\r\n }\r\n\r\n if (disableOnclicks !== undefined) {\r\n localVarQueryParameter['disableOnclicks'] = disableOnclicks;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {number} [draftId] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (messageId: number, draftId?: number, options: any = {}): Promise => {\r\n // verify required parameter 'messageId' is not null or undefined\r\n assertParamExists('getOne', 'messageId', messageId)\r\n const localVarPath = `/api/messages/{messageId}`\r\n .replace(`{${\"messageId\"}}`, encodeURIComponent(String(messageId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (draftId !== undefined) {\r\n localVarQueryParameter['draftId'] = draftId;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [messageId] \r\n * @param {NotificationMark} [flag] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPerformanceNotificationUsers: async (messageId?: number, flag?: NotificationMark, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages/performance/users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (messageId !== undefined) {\r\n localVarQueryParameter['messageId'] = messageId;\r\n }\r\n\r\n if (flag !== undefined) {\r\n localVarQueryParameter['flag'] = flag;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {CustomAudienceType} [audienceType] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {SortDirection} [sortDirection] Default: null\r\n * @param {MessageRevenuePerformanceSortColumn} [sortColumn] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRevenuePerformance: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, audienceType?: CustomAudienceType, campaignIds?: Array, includeInactive?: boolean, sortDirection?: SortDirection, sortColumn?: MessageRevenuePerformanceSortColumn, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/messages/performance/revenue`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (audienceType !== undefined) {\r\n localVarQueryParameter['audienceType'] = audienceType;\r\n }\r\n\r\n if (campaignIds) {\r\n localVarQueryParameter['campaignIds'] = campaignIds;\r\n }\r\n\r\n if (includeInactive !== undefined) {\r\n localVarQueryParameter['includeInactive'] = includeInactive;\r\n }\r\n\r\n if (sortDirection !== undefined) {\r\n localVarQueryParameter['sortDirection'] = sortDirection;\r\n }\r\n\r\n if (sortColumn !== undefined) {\r\n localVarQueryParameter['sortColumn'] = sortColumn;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {number} [draftId] \r\n * @param {MessageModel} [messageModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (messageId: number, draftId?: number, messageModel?: MessageModel, options: any = {}): Promise => {\r\n // verify required parameter 'messageId' is not null or undefined\r\n assertParamExists('update', 'messageId', messageId)\r\n const localVarPath = `/api/messages/{messageId}`\r\n .replace(`{${\"messageId\"}}`, encodeURIComponent(String(messageId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (draftId !== undefined) {\r\n localVarQueryParameter['draftId'] = draftId;\r\n }\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(messageModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * MessagesApi - functional programming interface\r\n * @export\r\n */\r\nexport const MessagesApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = MessagesApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(messageId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(messageId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {number} [messageId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async clearMessageStatistics(userId?: string, messageId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.clearMessageStatistics(userId, messageId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [draftId] \r\n * @param {MessageModel} [messageModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(draftId?: number, messageModel?: MessageModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(draftId, messageModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {ForceSendMessageRequest} [forceSendMessageRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async forceSendMessage(messageId: number, forceSendMessageRequest?: ForceSendMessageRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.forceSendMessage(messageId, forceSendMessageRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {MessageSort} [sort] Default: null\r\n * @param {MessageStatus} [status] Default: null\r\n * @param {IsoDateTimeString} [validFrom] Default: null\r\n * @param {IsoDateTimeString} [validTo] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(search?: string, campaignIds?: Array, includeInactive?: boolean, skip?: number, limit?: number, sort?: MessageSort, status?: MessageStatus, validFrom?: IsoDateTimeString, validTo?: IsoDateTimeString, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(search, campaignIds, includeInactive, skip, limit, sort, status, validFrom, validTo, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForLookup(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForLookup(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {CustomAudienceType} [audienceType] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {SortDirection} [sortDirection] Default: null\r\n * @param {MessageInteractionPerformanceSortColumn} [sortColumn] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getInteractionPerformance(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, audienceType?: CustomAudienceType, campaignIds?: Array, includeInactive?: boolean, sortDirection?: SortDirection, sortColumn?: MessageInteractionPerformanceSortColumn, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getInteractionPerformance(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, audienceType, campaignIds, includeInactive, sortDirection, sortColumn, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [offerTitle] \r\n * @param {string} [offerText] \r\n * @param {string} [imageUrl] \r\n * @param {boolean} [isRedeemable] \r\n * @param {string} [callToActionTitle] \r\n * @param {string} [callToActionLink] \r\n * @param {boolean} [disableOnclicks] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOfferPreview(offerTitle?: string, offerText?: string, imageUrl?: string, isRedeemable?: boolean, callToActionTitle?: string, callToActionLink?: string, disableOnclicks?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOfferPreview(offerTitle, offerText, imageUrl, isRedeemable, callToActionTitle, callToActionLink, disableOnclicks, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {number} [draftId] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(messageId: number, draftId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(messageId, draftId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [messageId] \r\n * @param {NotificationMark} [flag] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getPerformanceNotificationUsers(messageId?: number, flag?: NotificationMark, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getPerformanceNotificationUsers(messageId, flag, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {CustomAudienceType} [audienceType] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {SortDirection} [sortDirection] Default: null\r\n * @param {MessageRevenuePerformanceSortColumn} [sortColumn] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getRevenuePerformance(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, audienceType?: CustomAudienceType, campaignIds?: Array, includeInactive?: boolean, sortDirection?: SortDirection, sortColumn?: MessageRevenuePerformanceSortColumn, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getRevenuePerformance(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, audienceType, campaignIds, includeInactive, sortDirection, sortColumn, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {number} [draftId] \r\n * @param {MessageModel} [messageModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(messageId: number, draftId?: number, messageModel?: MessageModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(messageId, draftId, messageModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * MessagesApi - factory interface\r\n * @export\r\n */\r\nexport const MessagesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = MessagesApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(messageId: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(messageId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {number} [messageId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n clearMessageStatistics(userId?: string, messageId?: number, options?: any): AxiosPromise {\r\n return localVarFp.clearMessageStatistics(userId, messageId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [draftId] \r\n * @param {MessageModel} [messageModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(draftId?: number, messageModel?: MessageModel, options?: any): AxiosPromise {\r\n return localVarFp.create(draftId, messageModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {ForceSendMessageRequest} [forceSendMessageRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n forceSendMessage(messageId: number, forceSendMessageRequest?: ForceSendMessageRequest, options?: any): AxiosPromise {\r\n return localVarFp.forceSendMessage(messageId, forceSendMessageRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {MessageSort} [sort] Default: null\r\n * @param {MessageStatus} [status] Default: null\r\n * @param {IsoDateTimeString} [validFrom] Default: null\r\n * @param {IsoDateTimeString} [validTo] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(search?: string, campaignIds?: Array, includeInactive?: boolean, skip?: number, limit?: number, sort?: MessageSort, status?: MessageStatus, validFrom?: IsoDateTimeString, validTo?: IsoDateTimeString, options?: any): AxiosPromise {\r\n return localVarFp.get(search, campaignIds, includeInactive, skip, limit, sort, status, validFrom, validTo, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup(options?: any): AxiosPromise> {\r\n return localVarFp.getForLookup(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {CustomAudienceType} [audienceType] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {SortDirection} [sortDirection] Default: null\r\n * @param {MessageInteractionPerformanceSortColumn} [sortColumn] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getInteractionPerformance(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, audienceType?: CustomAudienceType, campaignIds?: Array, includeInactive?: boolean, sortDirection?: SortDirection, sortColumn?: MessageInteractionPerformanceSortColumn, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getInteractionPerformance(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, audienceType, campaignIds, includeInactive, sortDirection, sortColumn, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [offerTitle] \r\n * @param {string} [offerText] \r\n * @param {string} [imageUrl] \r\n * @param {boolean} [isRedeemable] \r\n * @param {string} [callToActionTitle] \r\n * @param {string} [callToActionLink] \r\n * @param {boolean} [disableOnclicks] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOfferPreview(offerTitle?: string, offerText?: string, imageUrl?: string, isRedeemable?: boolean, callToActionTitle?: string, callToActionLink?: string, disableOnclicks?: boolean, options?: any): AxiosPromise {\r\n return localVarFp.getOfferPreview(offerTitle, offerText, imageUrl, isRedeemable, callToActionTitle, callToActionLink, disableOnclicks, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {number} [draftId] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(messageId: number, draftId?: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(messageId, draftId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [messageId] \r\n * @param {NotificationMark} [flag] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPerformanceNotificationUsers(messageId?: number, flag?: NotificationMark, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getPerformanceNotificationUsers(messageId, flag, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {CustomAudienceType} [audienceType] Default: null\r\n * @param {Array} [campaignIds] Default: null\r\n * @param {boolean} [includeInactive] Default: null\r\n * @param {SortDirection} [sortDirection] Default: null\r\n * @param {MessageRevenuePerformanceSortColumn} [sortColumn] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRevenuePerformance(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, audienceType?: CustomAudienceType, campaignIds?: Array, includeInactive?: boolean, sortDirection?: SortDirection, sortColumn?: MessageRevenuePerformanceSortColumn, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getRevenuePerformance(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, audienceType, campaignIds, includeInactive, sortDirection, sortColumn, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} messageId \r\n * @param {number} [draftId] \r\n * @param {MessageModel} [messageModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(messageId: number, draftId?: number, messageModel?: MessageModel, options?: any): AxiosPromise {\r\n return localVarFp.update(messageId, draftId, messageModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiDeleteRequest\r\n */\r\nexport interface MessagesApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiDelete\r\n */\r\n readonly messageId: number\r\n}\r\n\r\n/**\r\n * Request parameters for clearMessageStatistics operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiClearMessageStatisticsRequest\r\n */\r\nexport interface MessagesApiClearMessageStatisticsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessagesApiClearMessageStatistics\r\n */\r\n readonly userId?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiClearMessageStatistics\r\n */\r\n readonly messageId?: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiCreateRequest\r\n */\r\nexport interface MessagesApiCreateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiCreate\r\n */\r\n readonly draftId?: number\r\n\r\n /**\r\n * \r\n * @type {MessageModel}\r\n * @memberof MessagesApiCreate\r\n */\r\n readonly messageModel?: MessageModel\r\n}\r\n\r\n/**\r\n * Request parameters for forceSendMessage operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiForceSendMessageRequest\r\n */\r\nexport interface MessagesApiForceSendMessageRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiForceSendMessage\r\n */\r\n readonly messageId: number\r\n\r\n /**\r\n * \r\n * @type {ForceSendMessageRequest}\r\n * @memberof MessagesApiForceSendMessage\r\n */\r\n readonly forceSendMessageRequest?: ForceSendMessageRequest\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiGetRequest\r\n */\r\nexport interface MessagesApiGetRequest {\r\n /**\r\n * Default: null\r\n * @type {string}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {Array}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly campaignIds?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly includeInactive?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {MessageSort}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly sort?: MessageSort\r\n\r\n /**\r\n * Default: null\r\n * @type {MessageStatus}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly status?: MessageStatus\r\n\r\n /**\r\n * Default: null\r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly validFrom?: IsoDateTimeString\r\n\r\n /**\r\n * Default: null\r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGet\r\n */\r\n readonly validTo?: IsoDateTimeString\r\n}\r\n\r\n/**\r\n * Request parameters for getInteractionPerformance operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiGetInteractionPerformanceRequest\r\n */\r\nexport interface MessagesApiGetInteractionPerformanceRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {CustomAudienceType}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly audienceType?: CustomAudienceType\r\n\r\n /**\r\n * Default: null\r\n * @type {Array}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly campaignIds?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly includeInactive?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {SortDirection}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly sortDirection?: SortDirection\r\n\r\n /**\r\n * Default: null\r\n * @type {MessageInteractionPerformanceSortColumn}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly sortColumn?: MessageInteractionPerformanceSortColumn\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetInteractionPerformance\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getOfferPreview operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiGetOfferPreviewRequest\r\n */\r\nexport interface MessagesApiGetOfferPreviewRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly offerTitle?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly offerText?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly imageUrl?: string\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly isRedeemable?: boolean\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly callToActionTitle?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly callToActionLink?: string\r\n\r\n /**\r\n * \r\n * @type {boolean}\r\n * @memberof MessagesApiGetOfferPreview\r\n */\r\n readonly disableOnclicks?: boolean\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiGetOneRequest\r\n */\r\nexport interface MessagesApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiGetOne\r\n */\r\n readonly messageId: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetOne\r\n */\r\n readonly draftId?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getPerformanceNotificationUsers operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiGetPerformanceNotificationUsersRequest\r\n */\r\nexport interface MessagesApiGetPerformanceNotificationUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly messageId?: number\r\n\r\n /**\r\n * \r\n * @type {NotificationMark}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly flag?: NotificationMark\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetPerformanceNotificationUsers\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getRevenuePerformance operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiGetRevenuePerformanceRequest\r\n */\r\nexport interface MessagesApiGetRevenuePerformanceRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {CustomAudienceType}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly audienceType?: CustomAudienceType\r\n\r\n /**\r\n * Default: null\r\n * @type {Array}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly campaignIds?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly includeInactive?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {SortDirection}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly sortDirection?: SortDirection\r\n\r\n /**\r\n * Default: null\r\n * @type {MessageRevenuePerformanceSortColumn}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly sortColumn?: MessageRevenuePerformanceSortColumn\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof MessagesApiGetRevenuePerformance\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in MessagesApi.\r\n * @export\r\n * @interface MessagesApiUpdateRequest\r\n */\r\nexport interface MessagesApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiUpdate\r\n */\r\n readonly messageId: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof MessagesApiUpdate\r\n */\r\n readonly draftId?: number\r\n\r\n /**\r\n * \r\n * @type {MessageModel}\r\n * @memberof MessagesApiUpdate\r\n */\r\n readonly messageModel?: MessageModel\r\n}\r\n\r\n/**\r\n * MessagesApi - object-oriented interface\r\n * @export\r\n * @class MessagesApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class MessagesApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {MessagesApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public _delete(requestParameters: MessagesApiDeleteRequest, options?: any) {\r\n return MessagesApiFp(this.configuration)._delete(requestParameters.messageId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiClearMessageStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public clearMessageStatistics(requestParameters: MessagesApiClearMessageStatisticsRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).clearMessageStatistics(requestParameters.userId, requestParameters.messageId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public create(requestParameters: MessagesApiCreateRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).create(requestParameters.draftId, requestParameters.messageModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiForceSendMessageRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public forceSendMessage(requestParameters: MessagesApiForceSendMessageRequest, options?: any) {\r\n return MessagesApiFp(this.configuration).forceSendMessage(requestParameters.messageId, requestParameters.forceSendMessageRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public get(requestParameters: MessagesApiGetRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).get(requestParameters.search, requestParameters.campaignIds, requestParameters.includeInactive, requestParameters.skip, requestParameters.limit, requestParameters.sort, requestParameters.status, requestParameters.validFrom, requestParameters.validTo, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public getForLookup(options?: any) {\r\n return MessagesApiFp(this.configuration).getForLookup(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiGetInteractionPerformanceRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public getInteractionPerformance(requestParameters: MessagesApiGetInteractionPerformanceRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).getInteractionPerformance(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.audienceType, requestParameters.campaignIds, requestParameters.includeInactive, requestParameters.sortDirection, requestParameters.sortColumn, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiGetOfferPreviewRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public getOfferPreview(requestParameters: MessagesApiGetOfferPreviewRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).getOfferPreview(requestParameters.offerTitle, requestParameters.offerText, requestParameters.imageUrl, requestParameters.isRedeemable, requestParameters.callToActionTitle, requestParameters.callToActionLink, requestParameters.disableOnclicks, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public getOne(requestParameters: MessagesApiGetOneRequest, options?: any) {\r\n return MessagesApiFp(this.configuration).getOne(requestParameters.messageId, requestParameters.draftId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiGetPerformanceNotificationUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public getPerformanceNotificationUsers(requestParameters: MessagesApiGetPerformanceNotificationUsersRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).getPerformanceNotificationUsers(requestParameters.messageId, requestParameters.flag, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiGetRevenuePerformanceRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public getRevenuePerformance(requestParameters: MessagesApiGetRevenuePerformanceRequest = {}, options?: any) {\r\n return MessagesApiFp(this.configuration).getRevenuePerformance(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.audienceType, requestParameters.campaignIds, requestParameters.includeInactive, requestParameters.sortDirection, requestParameters.sortColumn, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {MessagesApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof MessagesApi\r\n */\r\n public update(requestParameters: MessagesApiUpdateRequest, options?: any) {\r\n return MessagesApiFp(this.configuration).update(requestParameters.messageId, requestParameters.draftId, requestParameters.messageModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * OfferAudienceApi - axios parameter creator\r\n * @export\r\n */\r\nexport const OfferAudienceApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {CustomAudienceExpression} [customAudienceExpression] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAudienceEstimate: async (customAudienceExpression?: CustomAudienceExpression, options: any = {}): Promise => {\r\n const localVarPath = `/api/audiences/estimate`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(customAudienceExpression, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * OfferAudienceApi - functional programming interface\r\n * @export\r\n */\r\nexport const OfferAudienceApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = OfferAudienceApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {CustomAudienceExpression} [customAudienceExpression] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAudienceEstimate(customAudienceExpression?: CustomAudienceExpression, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAudienceEstimate(customAudienceExpression, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * OfferAudienceApi - factory interface\r\n * @export\r\n */\r\nexport const OfferAudienceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = OfferAudienceApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {CustomAudienceExpression} [customAudienceExpression] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAudienceEstimate(customAudienceExpression?: CustomAudienceExpression, options?: any): AxiosPromise {\r\n return localVarFp.getAudienceEstimate(customAudienceExpression, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getAudienceEstimate operation in OfferAudienceApi.\r\n * @export\r\n * @interface OfferAudienceApiGetAudienceEstimateRequest\r\n */\r\nexport interface OfferAudienceApiGetAudienceEstimateRequest {\r\n /**\r\n * \r\n * @type {CustomAudienceExpression}\r\n * @memberof OfferAudienceApiGetAudienceEstimate\r\n */\r\n readonly customAudienceExpression?: CustomAudienceExpression\r\n}\r\n\r\n/**\r\n * OfferAudienceApi - object-oriented interface\r\n * @export\r\n * @class OfferAudienceApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class OfferAudienceApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {OfferAudienceApiGetAudienceEstimateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof OfferAudienceApi\r\n */\r\n public getAudienceEstimate(requestParameters: OfferAudienceApiGetAudienceEstimateRequest = {}, options?: any) {\r\n return OfferAudienceApiFp(this.configuration).getAudienceEstimate(requestParameters.customAudienceExpression, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * OfferDraftApi - axios parameter creator\r\n * @export\r\n */\r\nexport const OfferDraftApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {OfferDraftModel} [offerDraftModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n createDraft: async (offerDraftModel?: OfferDraftModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/draft`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(offerDraftModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} draftId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deleteDraft: async (draftId: number, options: any = {}): Promise => {\r\n // verify required parameter 'draftId' is not null or undefined\r\n assertParamExists('deleteDraft', 'draftId', draftId)\r\n const localVarPath = `/api/draft/{draftId}`\r\n .replace(`{${\"draftId\"}}`, encodeURIComponent(String(draftId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {Array} [campaignIds] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {MessageSort} [sort] Default: null\r\n * @param {IsoDateTimeString} [validFrom] Default: null\r\n * @param {IsoDateTimeString} [validTo] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDrafts: async (campaignIds?: Array, skip?: number, limit?: number, sort?: MessageSort, validFrom?: IsoDateTimeString, validTo?: IsoDateTimeString, options: any = {}): Promise => {\r\n const localVarPath = `/api/draft`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (campaignIds) {\r\n localVarQueryParameter['campaignIds'] = campaignIds;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (sort !== undefined) {\r\n localVarQueryParameter['sort'] = sort;\r\n }\r\n\r\n if (validFrom !== undefined) {\r\n localVarQueryParameter['validFrom'] = (validFrom as any instanceof Date) ?\r\n (validFrom as any).toISOString() :\r\n validFrom;\r\n }\r\n\r\n if (validTo !== undefined) {\r\n localVarQueryParameter['validTo'] = (validTo as any instanceof Date) ?\r\n (validTo as any).toISOString() :\r\n validTo;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {OfferDraftModel} [offerDraftModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n updateDraft: async (offerDraftModel?: OfferDraftModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/draft`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(offerDraftModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * OfferDraftApi - functional programming interface\r\n * @export\r\n */\r\nexport const OfferDraftApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = OfferDraftApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {OfferDraftModel} [offerDraftModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async createDraft(offerDraftModel?: OfferDraftModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.createDraft(offerDraftModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} draftId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async deleteDraft(draftId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDraft(draftId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {Array} [campaignIds] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {MessageSort} [sort] Default: null\r\n * @param {IsoDateTimeString} [validFrom] Default: null\r\n * @param {IsoDateTimeString} [validTo] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getDrafts(campaignIds?: Array, skip?: number, limit?: number, sort?: MessageSort, validFrom?: IsoDateTimeString, validTo?: IsoDateTimeString, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getDrafts(campaignIds, skip, limit, sort, validFrom, validTo, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {OfferDraftModel} [offerDraftModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async updateDraft(offerDraftModel?: OfferDraftModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.updateDraft(offerDraftModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * OfferDraftApi - factory interface\r\n * @export\r\n */\r\nexport const OfferDraftApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = OfferDraftApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {OfferDraftModel} [offerDraftModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n createDraft(offerDraftModel?: OfferDraftModel, options?: any): AxiosPromise {\r\n return localVarFp.createDraft(offerDraftModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} draftId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deleteDraft(draftId: number, options?: any): AxiosPromise {\r\n return localVarFp.deleteDraft(draftId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {Array} [campaignIds] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {MessageSort} [sort] Default: null\r\n * @param {IsoDateTimeString} [validFrom] Default: null\r\n * @param {IsoDateTimeString} [validTo] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDrafts(campaignIds?: Array, skip?: number, limit?: number, sort?: MessageSort, validFrom?: IsoDateTimeString, validTo?: IsoDateTimeString, options?: any): AxiosPromise {\r\n return localVarFp.getDrafts(campaignIds, skip, limit, sort, validFrom, validTo, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {OfferDraftModel} [offerDraftModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n updateDraft(offerDraftModel?: OfferDraftModel, options?: any): AxiosPromise {\r\n return localVarFp.updateDraft(offerDraftModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for createDraft operation in OfferDraftApi.\r\n * @export\r\n * @interface OfferDraftApiCreateDraftRequest\r\n */\r\nexport interface OfferDraftApiCreateDraftRequest {\r\n /**\r\n * \r\n * @type {OfferDraftModel}\r\n * @memberof OfferDraftApiCreateDraft\r\n */\r\n readonly offerDraftModel?: OfferDraftModel\r\n}\r\n\r\n/**\r\n * Request parameters for deleteDraft operation in OfferDraftApi.\r\n * @export\r\n * @interface OfferDraftApiDeleteDraftRequest\r\n */\r\nexport interface OfferDraftApiDeleteDraftRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof OfferDraftApiDeleteDraft\r\n */\r\n readonly draftId: number\r\n}\r\n\r\n/**\r\n * Request parameters for getDrafts operation in OfferDraftApi.\r\n * @export\r\n * @interface OfferDraftApiGetDraftsRequest\r\n */\r\nexport interface OfferDraftApiGetDraftsRequest {\r\n /**\r\n * Default: null\r\n * @type {Array}\r\n * @memberof OfferDraftApiGetDrafts\r\n */\r\n readonly campaignIds?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof OfferDraftApiGetDrafts\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof OfferDraftApiGetDrafts\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {MessageSort}\r\n * @memberof OfferDraftApiGetDrafts\r\n */\r\n readonly sort?: MessageSort\r\n\r\n /**\r\n * Default: null\r\n * @type {IsoDateTimeString}\r\n * @memberof OfferDraftApiGetDrafts\r\n */\r\n readonly validFrom?: IsoDateTimeString\r\n\r\n /**\r\n * Default: null\r\n * @type {IsoDateTimeString}\r\n * @memberof OfferDraftApiGetDrafts\r\n */\r\n readonly validTo?: IsoDateTimeString\r\n}\r\n\r\n/**\r\n * Request parameters for updateDraft operation in OfferDraftApi.\r\n * @export\r\n * @interface OfferDraftApiUpdateDraftRequest\r\n */\r\nexport interface OfferDraftApiUpdateDraftRequest {\r\n /**\r\n * \r\n * @type {OfferDraftModel}\r\n * @memberof OfferDraftApiUpdateDraft\r\n */\r\n readonly offerDraftModel?: OfferDraftModel\r\n}\r\n\r\n/**\r\n * OfferDraftApi - object-oriented interface\r\n * @export\r\n * @class OfferDraftApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class OfferDraftApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {OfferDraftApiCreateDraftRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof OfferDraftApi\r\n */\r\n public createDraft(requestParameters: OfferDraftApiCreateDraftRequest = {}, options?: any) {\r\n return OfferDraftApiFp(this.configuration).createDraft(requestParameters.offerDraftModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {OfferDraftApiDeleteDraftRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof OfferDraftApi\r\n */\r\n public deleteDraft(requestParameters: OfferDraftApiDeleteDraftRequest, options?: any) {\r\n return OfferDraftApiFp(this.configuration).deleteDraft(requestParameters.draftId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {OfferDraftApiGetDraftsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof OfferDraftApi\r\n */\r\n public getDrafts(requestParameters: OfferDraftApiGetDraftsRequest = {}, options?: any) {\r\n return OfferDraftApiFp(this.configuration).getDrafts(requestParameters.campaignIds, requestParameters.skip, requestParameters.limit, requestParameters.sort, requestParameters.validFrom, requestParameters.validTo, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {OfferDraftApiUpdateDraftRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof OfferDraftApi\r\n */\r\n public updateDraft(requestParameters: OfferDraftApiUpdateDraftRequest = {}, options?: any) {\r\n return OfferDraftApiFp(this.configuration).updateDraft(requestParameters.offerDraftModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * PasswordApi - axios parameter creator\r\n * @export\r\n */\r\nexport const PasswordApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {ChangePasswordRequest} [changePasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n changePassword: async (changePasswordRequest?: ChangePasswordRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/accounts/password`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(changePasswordRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {DepreactedChangePasswordRequest} [depreactedChangePasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deprecatedChangePassword: async (depreactedChangePasswordRequest?: DepreactedChangePasswordRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/accounts/changePassword`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(depreactedChangePasswordRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {DeprecatedResetPasswordRequest} [deprecatedResetPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deprecatedResetPassword: async (deprecatedResetPasswordRequest?: DeprecatedResetPasswordRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/accounts/resetPassword`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(deprecatedResetPasswordRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [email] \r\n * @param {boolean} [skipSendingEmail] Default: False\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deprecatedResetPasswordRequest: async (email?: string, skipSendingEmail?: boolean, options: any = {}): Promise => {\r\n const localVarPath = `/api/accounts/resetPasswordRequest`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (email !== undefined) {\r\n localVarQueryParameter['email'] = email;\r\n }\r\n\r\n if (skipSendingEmail !== undefined) {\r\n localVarQueryParameter['skipSendingEmail'] = skipSendingEmail;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {ForgotPasswordRequest} [forgotPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n forgotPassword: async (forgotPasswordRequest?: ForgotPasswordRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/accounts/forgot-password`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(forgotPasswordRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {ResetPasswordRequest} [resetPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n resetPassword: async (resetPasswordRequest?: ResetPasswordRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/accounts/password`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(resetPasswordRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {VerifyTokenRequest} [verifyTokenRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n verifyToken: async (verifyTokenRequest?: VerifyTokenRequest, options: any = {}): Promise => {\r\n const localVarPath = `/api/v1/accounts/token/verify`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(verifyTokenRequest, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PasswordApi - functional programming interface\r\n * @export\r\n */\r\nexport const PasswordApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = PasswordApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {ChangePasswordRequest} [changePasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async changePassword(changePasswordRequest?: ChangePasswordRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.changePassword(changePasswordRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {DepreactedChangePasswordRequest} [depreactedChangePasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async deprecatedChangePassword(depreactedChangePasswordRequest?: DepreactedChangePasswordRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.deprecatedChangePassword(depreactedChangePasswordRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {DeprecatedResetPasswordRequest} [deprecatedResetPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async deprecatedResetPassword(deprecatedResetPasswordRequest?: DeprecatedResetPasswordRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.deprecatedResetPassword(deprecatedResetPasswordRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [email] \r\n * @param {boolean} [skipSendingEmail] Default: False\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async deprecatedResetPasswordRequest(email?: string, skipSendingEmail?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.deprecatedResetPasswordRequest(email, skipSendingEmail, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {ForgotPasswordRequest} [forgotPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async forgotPassword(forgotPasswordRequest?: ForgotPasswordRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.forgotPassword(forgotPasswordRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {ResetPasswordRequest} [resetPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async resetPassword(resetPasswordRequest?: ResetPasswordRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.resetPassword(resetPasswordRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {VerifyTokenRequest} [verifyTokenRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async verifyToken(verifyTokenRequest?: VerifyTokenRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.verifyToken(verifyTokenRequest, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PasswordApi - factory interface\r\n * @export\r\n */\r\nexport const PasswordApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = PasswordApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {ChangePasswordRequest} [changePasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n changePassword(changePasswordRequest?: ChangePasswordRequest, options?: any): AxiosPromise {\r\n return localVarFp.changePassword(changePasswordRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {DepreactedChangePasswordRequest} [depreactedChangePasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deprecatedChangePassword(depreactedChangePasswordRequest?: DepreactedChangePasswordRequest, options?: any): AxiosPromise {\r\n return localVarFp.deprecatedChangePassword(depreactedChangePasswordRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {DeprecatedResetPasswordRequest} [deprecatedResetPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deprecatedResetPassword(deprecatedResetPasswordRequest?: DeprecatedResetPasswordRequest, options?: any): AxiosPromise {\r\n return localVarFp.deprecatedResetPassword(deprecatedResetPasswordRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [email] \r\n * @param {boolean} [skipSendingEmail] Default: False\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deprecatedResetPasswordRequest(email?: string, skipSendingEmail?: boolean, options?: any): AxiosPromise {\r\n return localVarFp.deprecatedResetPasswordRequest(email, skipSendingEmail, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {ForgotPasswordRequest} [forgotPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n forgotPassword(forgotPasswordRequest?: ForgotPasswordRequest, options?: any): AxiosPromise {\r\n return localVarFp.forgotPassword(forgotPasswordRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {ResetPasswordRequest} [resetPasswordRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n resetPassword(resetPasswordRequest?: ResetPasswordRequest, options?: any): AxiosPromise {\r\n return localVarFp.resetPassword(resetPasswordRequest, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {VerifyTokenRequest} [verifyTokenRequest] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n verifyToken(verifyTokenRequest?: VerifyTokenRequest, options?: any): AxiosPromise {\r\n return localVarFp.verifyToken(verifyTokenRequest, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for changePassword operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiChangePasswordRequest\r\n */\r\nexport interface PasswordApiChangePasswordRequest {\r\n /**\r\n * \r\n * @type {ChangePasswordRequest}\r\n * @memberof PasswordApiChangePassword\r\n */\r\n readonly changePasswordRequest?: ChangePasswordRequest\r\n}\r\n\r\n/**\r\n * Request parameters for deprecatedChangePassword operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiDeprecatedChangePasswordRequest\r\n */\r\nexport interface PasswordApiDeprecatedChangePasswordRequest {\r\n /**\r\n * \r\n * @type {DepreactedChangePasswordRequest}\r\n * @memberof PasswordApiDeprecatedChangePassword\r\n */\r\n readonly depreactedChangePasswordRequest?: DepreactedChangePasswordRequest\r\n}\r\n\r\n/**\r\n * Request parameters for deprecatedResetPassword operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiDeprecatedResetPasswordRequest\r\n */\r\nexport interface PasswordApiDeprecatedResetPasswordRequest {\r\n /**\r\n * \r\n * @type {DeprecatedResetPasswordRequest}\r\n * @memberof PasswordApiDeprecatedResetPassword\r\n */\r\n readonly deprecatedResetPasswordRequest?: DeprecatedResetPasswordRequest\r\n}\r\n\r\n/**\r\n * Request parameters for deprecatedResetPasswordRequest operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiDeprecatedResetPasswordRequestRequest\r\n */\r\nexport interface PasswordApiDeprecatedResetPasswordRequestRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PasswordApiDeprecatedResetPasswordRequest\r\n */\r\n readonly email?: string\r\n\r\n /**\r\n * Default: False\r\n * @type {boolean}\r\n * @memberof PasswordApiDeprecatedResetPasswordRequest\r\n */\r\n readonly skipSendingEmail?: boolean\r\n}\r\n\r\n/**\r\n * Request parameters for forgotPassword operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiForgotPasswordRequest\r\n */\r\nexport interface PasswordApiForgotPasswordRequest {\r\n /**\r\n * \r\n * @type {ForgotPasswordRequest}\r\n * @memberof PasswordApiForgotPassword\r\n */\r\n readonly forgotPasswordRequest?: ForgotPasswordRequest\r\n}\r\n\r\n/**\r\n * Request parameters for resetPassword operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiResetPasswordRequest\r\n */\r\nexport interface PasswordApiResetPasswordRequest {\r\n /**\r\n * \r\n * @type {ResetPasswordRequest}\r\n * @memberof PasswordApiResetPassword\r\n */\r\n readonly resetPasswordRequest?: ResetPasswordRequest\r\n}\r\n\r\n/**\r\n * Request parameters for verifyToken operation in PasswordApi.\r\n * @export\r\n * @interface PasswordApiVerifyTokenRequest\r\n */\r\nexport interface PasswordApiVerifyTokenRequest {\r\n /**\r\n * \r\n * @type {VerifyTokenRequest}\r\n * @memberof PasswordApiVerifyToken\r\n */\r\n readonly verifyTokenRequest?: VerifyTokenRequest\r\n}\r\n\r\n/**\r\n * PasswordApi - object-oriented interface\r\n * @export\r\n * @class PasswordApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class PasswordApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {PasswordApiChangePasswordRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public changePassword(requestParameters: PasswordApiChangePasswordRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).changePassword(requestParameters.changePasswordRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PasswordApiDeprecatedChangePasswordRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public deprecatedChangePassword(requestParameters: PasswordApiDeprecatedChangePasswordRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).deprecatedChangePassword(requestParameters.depreactedChangePasswordRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PasswordApiDeprecatedResetPasswordRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public deprecatedResetPassword(requestParameters: PasswordApiDeprecatedResetPasswordRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).deprecatedResetPassword(requestParameters.deprecatedResetPasswordRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PasswordApiDeprecatedResetPasswordRequestRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public deprecatedResetPasswordRequest(requestParameters: PasswordApiDeprecatedResetPasswordRequestRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).deprecatedResetPasswordRequest(requestParameters.email, requestParameters.skipSendingEmail, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PasswordApiForgotPasswordRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public forgotPassword(requestParameters: PasswordApiForgotPasswordRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).forgotPassword(requestParameters.forgotPasswordRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PasswordApiResetPasswordRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public resetPassword(requestParameters: PasswordApiResetPasswordRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).resetPassword(requestParameters.resetPasswordRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PasswordApiVerifyTokenRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PasswordApi\r\n */\r\n public verifyToken(requestParameters: PasswordApiVerifyTokenRequest = {}, options?: any) {\r\n return PasswordApiFp(this.configuration).verifyToken(requestParameters.verifyTokenRequest, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * PocAccountApi - axios parameter creator\r\n * @export\r\n */\r\nexport const PocAccountApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {PocUserModel} [pocUserModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n createUser: async (pocUserModel?: PocUserModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/poc`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(pocUserModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll: async (skip?: number, limit?: number, search?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/poc`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: string, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/poc/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getQRCodeSample: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/poc/qr`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {PocUserModel} [pocUserModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: string, pocUserModel?: PocUserModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/poc/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(pocUserModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PocAccountApi - functional programming interface\r\n * @export\r\n */\r\nexport const PocAccountApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = PocAccountApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {PocUserModel} [pocUserModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async createUser(pocUserModel?: PocUserModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.createUser(pocUserModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAll(skip?: number, limit?: number, search?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAll(skip, limit, search, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getQRCodeSample(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getQRCodeSample(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {PocUserModel} [pocUserModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: string, pocUserModel?: PocUserModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, pocUserModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PocAccountApi - factory interface\r\n * @export\r\n */\r\nexport const PocAccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = PocAccountApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {PocUserModel} [pocUserModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n createUser(pocUserModel?: PocUserModel, options?: any): AxiosPromise {\r\n return localVarFp.createUser(pocUserModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [search] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll(skip?: number, limit?: number, search?: string, options?: any): AxiosPromise {\r\n return localVarFp.getAll(skip, limit, search, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: string, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getQRCodeSample(options?: any): AxiosPromise {\r\n return localVarFp.getQRCodeSample(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {PocUserModel} [pocUserModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: string, pocUserModel?: PocUserModel, options?: any): AxiosPromise {\r\n return localVarFp.update(id, pocUserModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for createUser operation in PocAccountApi.\r\n * @export\r\n * @interface PocAccountApiCreateUserRequest\r\n */\r\nexport interface PocAccountApiCreateUserRequest {\r\n /**\r\n * \r\n * @type {PocUserModel}\r\n * @memberof PocAccountApiCreateUser\r\n */\r\n readonly pocUserModel?: PocUserModel\r\n}\r\n\r\n/**\r\n * Request parameters for getAll operation in PocAccountApi.\r\n * @export\r\n * @interface PocAccountApiGetAllRequest\r\n */\r\nexport interface PocAccountApiGetAllRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PocAccountApiGetAll\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof PocAccountApiGetAll\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocAccountApiGetAll\r\n */\r\n readonly search?: string\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in PocAccountApi.\r\n * @export\r\n * @interface PocAccountApiGetOneRequest\r\n */\r\nexport interface PocAccountApiGetOneRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocAccountApiGetOne\r\n */\r\n readonly id: string\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in PocAccountApi.\r\n * @export\r\n * @interface PocAccountApiUpdateRequest\r\n */\r\nexport interface PocAccountApiUpdateRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof PocAccountApiUpdate\r\n */\r\n readonly id: string\r\n\r\n /**\r\n * \r\n * @type {PocUserModel}\r\n * @memberof PocAccountApiUpdate\r\n */\r\n readonly pocUserModel?: PocUserModel\r\n}\r\n\r\n/**\r\n * PocAccountApi - object-oriented interface\r\n * @export\r\n * @class PocAccountApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class PocAccountApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {PocAccountApiCreateUserRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PocAccountApi\r\n */\r\n public createUser(requestParameters: PocAccountApiCreateUserRequest = {}, options?: any) {\r\n return PocAccountApiFp(this.configuration).createUser(requestParameters.pocUserModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PocAccountApiGetAllRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PocAccountApi\r\n */\r\n public getAll(requestParameters: PocAccountApiGetAllRequest = {}, options?: any) {\r\n return PocAccountApiFp(this.configuration).getAll(requestParameters.skip, requestParameters.limit, requestParameters.search, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PocAccountApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PocAccountApi\r\n */\r\n public getOne(requestParameters: PocAccountApiGetOneRequest, options?: any) {\r\n return PocAccountApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PocAccountApi\r\n */\r\n public getQRCodeSample(options?: any) {\r\n return PocAccountApiFp(this.configuration).getQRCodeSample(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {PocAccountApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PocAccountApi\r\n */\r\n public update(requestParameters: PocAccountApiUpdateRequest, options?: any) {\r\n return PocAccountApiFp(this.configuration).update(requestParameters.id, requestParameters.pocUserModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * PrivacyPolicyApi - axios parameter creator\r\n * @export\r\n */\r\nexport const PrivacyPolicyApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPrivacyPolicy: async (options: any = {}): Promise => {\r\n const localVarPath = `/privacy-policy`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PrivacyPolicyApi - functional programming interface\r\n * @export\r\n */\r\nexport const PrivacyPolicyApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = PrivacyPolicyApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getPrivacyPolicy(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getPrivacyPolicy(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PrivacyPolicyApi - factory interface\r\n * @export\r\n */\r\nexport const PrivacyPolicyApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = PrivacyPolicyApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getPrivacyPolicy(options?: any): AxiosPromise {\r\n return localVarFp.getPrivacyPolicy(options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * PrivacyPolicyApi - object-oriented interface\r\n * @export\r\n * @class PrivacyPolicyApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class PrivacyPolicyApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PrivacyPolicyApi\r\n */\r\n public getPrivacyPolicy(options?: any) {\r\n return PrivacyPolicyApiFp(this.configuration).getPrivacyPolicy(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ProductCategoriesApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ProductCategoriesApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('_delete', 'id', id)\r\n const localVarPath = `/api/product-categories/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {ProductCategoryModel} [productCategoryModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (productCategoryModel?: ProductCategoryModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/product-categories`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(productCategoryModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (search?: string, skip?: number, limit?: number, language?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/product-categories`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (language !== undefined) {\r\n localVarQueryParameter['language'] = language;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/product-categories/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/product-categories/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {ProductCategoryModel} [productCategoryModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: number, productCategoryModel?: ProductCategoryModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/product-categories/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(productCategoryModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ProductCategoriesApi - functional programming interface\r\n * @export\r\n */\r\nexport const ProductCategoriesApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ProductCategoriesApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {ProductCategoryModel} [productCategoryModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(productCategoryModel?: ProductCategoryModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(productCategoryModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(search?: string, skip?: number, limit?: number, language?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(search, skip, limit, language, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForLookup(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForLookup(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {ProductCategoryModel} [productCategoryModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: number, productCategoryModel?: ProductCategoryModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, productCategoryModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ProductCategoriesApi - factory interface\r\n * @export\r\n */\r\nexport const ProductCategoriesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ProductCategoriesApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(id: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {ProductCategoryModel} [productCategoryModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(productCategoryModel?: ProductCategoryModel, options?: any): AxiosPromise {\r\n return localVarFp.create(productCategoryModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(search?: string, skip?: number, limit?: number, language?: string, options?: any): AxiosPromise {\r\n return localVarFp.get(search, skip, limit, language, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup(options?: any): AxiosPromise> {\r\n return localVarFp.getForLookup(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {ProductCategoryModel} [productCategoryModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: number, productCategoryModel?: ProductCategoryModel, options?: any): AxiosPromise {\r\n return localVarFp.update(id, productCategoryModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in ProductCategoriesApi.\r\n * @export\r\n * @interface ProductCategoriesApiDeleteRequest\r\n */\r\nexport interface ProductCategoriesApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoriesApiDelete\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in ProductCategoriesApi.\r\n * @export\r\n * @interface ProductCategoriesApiCreateRequest\r\n */\r\nexport interface ProductCategoriesApiCreateRequest {\r\n /**\r\n * \r\n * @type {ProductCategoryModel}\r\n * @memberof ProductCategoriesApiCreate\r\n */\r\n readonly productCategoryModel?: ProductCategoryModel\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in ProductCategoriesApi.\r\n * @export\r\n * @interface ProductCategoriesApiGetRequest\r\n */\r\nexport interface ProductCategoriesApiGetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoriesApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoriesApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoriesApiGet\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductCategoriesApiGet\r\n */\r\n readonly language?: string\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in ProductCategoriesApi.\r\n * @export\r\n * @interface ProductCategoriesApiGetOneRequest\r\n */\r\nexport interface ProductCategoriesApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoriesApiGetOne\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in ProductCategoriesApi.\r\n * @export\r\n * @interface ProductCategoriesApiUpdateRequest\r\n */\r\nexport interface ProductCategoriesApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductCategoriesApiUpdate\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {ProductCategoryModel}\r\n * @memberof ProductCategoriesApiUpdate\r\n */\r\n readonly productCategoryModel?: ProductCategoryModel\r\n}\r\n\r\n/**\r\n * ProductCategoriesApi - object-oriented interface\r\n * @export\r\n * @class ProductCategoriesApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ProductCategoriesApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {ProductCategoriesApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductCategoriesApi\r\n */\r\n public _delete(requestParameters: ProductCategoriesApiDeleteRequest, options?: any) {\r\n return ProductCategoriesApiFp(this.configuration)._delete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductCategoriesApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductCategoriesApi\r\n */\r\n public create(requestParameters: ProductCategoriesApiCreateRequest = {}, options?: any) {\r\n return ProductCategoriesApiFp(this.configuration).create(requestParameters.productCategoryModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductCategoriesApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductCategoriesApi\r\n */\r\n public get(requestParameters: ProductCategoriesApiGetRequest = {}, options?: any) {\r\n return ProductCategoriesApiFp(this.configuration).get(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.language, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductCategoriesApi\r\n */\r\n public getForLookup(options?: any) {\r\n return ProductCategoriesApiFp(this.configuration).getForLookup(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductCategoriesApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductCategoriesApi\r\n */\r\n public getOne(requestParameters: ProductCategoriesApiGetOneRequest, options?: any) {\r\n return ProductCategoriesApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductCategoriesApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductCategoriesApi\r\n */\r\n public update(requestParameters: ProductCategoriesApiUpdateRequest, options?: any) {\r\n return ProductCategoriesApiFp(this.configuration).update(requestParameters.id, requestParameters.productCategoryModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ProductsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ProductsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('_delete', 'id', id)\r\n const localVarPath = `/api/products/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {ProductModel} [productModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (productModel?: ProductModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/products`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(productModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {Array} [categoryIds] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (search?: string, skip?: number, limit?: number, language?: string, categoryIds?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/products`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (language !== undefined) {\r\n localVarQueryParameter['language'] = language;\r\n }\r\n\r\n if (categoryIds) {\r\n localVarQueryParameter['categoryIds'] = categoryIds;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByRevenue: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/products/by-revenue/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/products/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {ProductModel} [productModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: number, productModel?: ProductModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/products/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(productModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ProductsApi - functional programming interface\r\n * @export\r\n */\r\nexport const ProductsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ProductsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {ProductModel} [productModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(productModel?: ProductModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(productModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {Array} [categoryIds] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(search?: string, skip?: number, limit?: number, language?: string, categoryIds?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(search, skip, limit, language, categoryIds, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByRevenue(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByRevenue(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {ProductModel} [productModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: number, productModel?: ProductModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, productModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ProductsApi - factory interface\r\n * @export\r\n */\r\nexport const ProductsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ProductsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(id: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {ProductModel} [productModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(productModel?: ProductModel, options?: any): AxiosPromise {\r\n return localVarFp.create(productModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {string} [language] \r\n * @param {Array} [categoryIds] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(search?: string, skip?: number, limit?: number, language?: string, categoryIds?: Array, options?: any): AxiosPromise {\r\n return localVarFp.get(search, skip, limit, language, categoryIds, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByRevenue(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getByRevenue(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {ProductModel} [productModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: number, productModel?: ProductModel, options?: any): AxiosPromise {\r\n return localVarFp.update(id, productModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in ProductsApi.\r\n * @export\r\n * @interface ProductsApiDeleteRequest\r\n */\r\nexport interface ProductsApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiDelete\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in ProductsApi.\r\n * @export\r\n * @interface ProductsApiCreateRequest\r\n */\r\nexport interface ProductsApiCreateRequest {\r\n /**\r\n * \r\n * @type {ProductModel}\r\n * @memberof ProductsApiCreate\r\n */\r\n readonly productModel?: ProductModel\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in ProductsApi.\r\n * @export\r\n * @interface ProductsApiGetRequest\r\n */\r\nexport interface ProductsApiGetRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductsApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiGet\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ProductsApiGet\r\n */\r\n readonly language?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {Array}\r\n * @memberof ProductsApiGet\r\n */\r\n readonly categoryIds?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getByRevenue operation in ProductsApi.\r\n * @export\r\n * @interface ProductsApiGetByRevenueRequest\r\n */\r\nexport interface ProductsApiGetByRevenueRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ProductsApiGetByRevenue\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in ProductsApi.\r\n * @export\r\n * @interface ProductsApiGetOneRequest\r\n */\r\nexport interface ProductsApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiGetOne\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in ProductsApi.\r\n * @export\r\n * @interface ProductsApiUpdateRequest\r\n */\r\nexport interface ProductsApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof ProductsApiUpdate\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {ProductModel}\r\n * @memberof ProductsApiUpdate\r\n */\r\n readonly productModel?: ProductModel\r\n}\r\n\r\n/**\r\n * ProductsApi - object-oriented interface\r\n * @export\r\n * @class ProductsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ProductsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {ProductsApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductsApi\r\n */\r\n public _delete(requestParameters: ProductsApiDeleteRequest, options?: any) {\r\n return ProductsApiFp(this.configuration)._delete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductsApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductsApi\r\n */\r\n public create(requestParameters: ProductsApiCreateRequest = {}, options?: any) {\r\n return ProductsApiFp(this.configuration).create(requestParameters.productModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductsApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductsApi\r\n */\r\n public get(requestParameters: ProductsApiGetRequest = {}, options?: any) {\r\n return ProductsApiFp(this.configuration).get(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.language, requestParameters.categoryIds, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductsApiGetByRevenueRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductsApi\r\n */\r\n public getByRevenue(requestParameters: ProductsApiGetByRevenueRequest = {}, options?: any) {\r\n return ProductsApiFp(this.configuration).getByRevenue(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductsApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductsApi\r\n */\r\n public getOne(requestParameters: ProductsApiGetOneRequest, options?: any) {\r\n return ProductsApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ProductsApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ProductsApi\r\n */\r\n public update(requestParameters: ProductsApiUpdateRequest, options?: any) {\r\n return ProductsApiFp(this.configuration).update(requestParameters.id, requestParameters.productModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * PurchaseHistoryApi - axios parameter creator\r\n * @export\r\n */\r\nexport const PurchaseHistoryApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBrandsForLookup: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/purchase-history/brands/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PurchaseHistoryApi - functional programming interface\r\n * @export\r\n */\r\nexport const PurchaseHistoryApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = PurchaseHistoryApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getBrandsForLookup(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getBrandsForLookup(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * PurchaseHistoryApi - factory interface\r\n * @export\r\n */\r\nexport const PurchaseHistoryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = PurchaseHistoryApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBrandsForLookup(options?: any): AxiosPromise> {\r\n return localVarFp.getBrandsForLookup(options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * PurchaseHistoryApi - object-oriented interface\r\n * @export\r\n * @class PurchaseHistoryApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class PurchaseHistoryApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof PurchaseHistoryApi\r\n */\r\n public getBrandsForLookup(options?: any) {\r\n return PurchaseHistoryApiFp(this.configuration).getBrandsForLookup(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * ReportApi - axios parameter creator\r\n * @export\r\n */\r\nexport const ReportApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {string} date \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getMonthly: async (date: string, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'date' is not null or undefined\r\n assertParamExists('getMonthly', 'date', date)\r\n const localVarPath = `/api/reports/monthly/{date}`\r\n .replace(`{${\"date\"}}`, encodeURIComponent(String(date)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} date \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWeekly: async (date: string, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'date' is not null or undefined\r\n assertParamExists('getWeekly', 'date', date)\r\n const localVarPath = `/api/reports/weekly/{date}`\r\n .replace(`{${\"date\"}}`, encodeURIComponent(String(date)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n monthly: async (stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/reports/monthly`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n weekly: async (stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/reports/weekly`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ReportApi - functional programming interface\r\n * @export\r\n */\r\nexport const ReportApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = ReportApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} date \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getMonthly(date: string, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getMonthly(date, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} date \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getWeekly(date: string, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getWeekly(date, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async monthly(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.monthly(stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async weekly(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.weekly(stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * ReportApi - factory interface\r\n * @export\r\n */\r\nexport const ReportApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = ReportApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} date \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getMonthly(date: string, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getMonthly(date, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} date \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getWeekly(date: string, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getWeekly(date, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n monthly(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.monthly(stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n weekly(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.weekly(stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getMonthly operation in ReportApi.\r\n * @export\r\n * @interface ReportApiGetMonthlyRequest\r\n */\r\nexport interface ReportApiGetMonthlyRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ReportApiGetMonthly\r\n */\r\n readonly date: string\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetMonthly\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetMonthly\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetMonthly\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetMonthly\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetMonthly\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getWeekly operation in ReportApi.\r\n * @export\r\n * @interface ReportApiGetWeeklyRequest\r\n */\r\nexport interface ReportApiGetWeeklyRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof ReportApiGetWeekly\r\n */\r\n readonly date: string\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetWeekly\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetWeekly\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetWeekly\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetWeekly\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiGetWeekly\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for monthly operation in ReportApi.\r\n * @export\r\n * @interface ReportApiMonthlyRequest\r\n */\r\nexport interface ReportApiMonthlyRequest {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiMonthly\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiMonthly\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiMonthly\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiMonthly\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiMonthly\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for weekly operation in ReportApi.\r\n * @export\r\n * @interface ReportApiWeeklyRequest\r\n */\r\nexport interface ReportApiWeeklyRequest {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiWeekly\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiWeekly\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiWeekly\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiWeekly\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof ReportApiWeekly\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * ReportApi - object-oriented interface\r\n * @export\r\n * @class ReportApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class ReportApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {ReportApiGetMonthlyRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ReportApi\r\n */\r\n public getMonthly(requestParameters: ReportApiGetMonthlyRequest, options?: any) {\r\n return ReportApiFp(this.configuration).getMonthly(requestParameters.date, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ReportApiGetWeeklyRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ReportApi\r\n */\r\n public getWeekly(requestParameters: ReportApiGetWeeklyRequest, options?: any) {\r\n return ReportApiFp(this.configuration).getWeekly(requestParameters.date, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ReportApiMonthlyRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ReportApi\r\n */\r\n public monthly(requestParameters: ReportApiMonthlyRequest = {}, options?: any) {\r\n return ReportApiFp(this.configuration).monthly(requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {ReportApiWeeklyRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof ReportApi\r\n */\r\n public weekly(requestParameters: ReportApiWeeklyRequest = {}, options?: any) {\r\n return ReportApiFp(this.configuration).weekly(requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * RevenueStatisticsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const RevenueStatisticsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppRevenueUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/app-revenue-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppSalesByCustomerType: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/app-sales`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppTransactionUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/app-transaction-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAverageTransactionValueForReturningCustomers: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/avg-trans-value-for-returning-customers`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewVsReturning: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/new-vs-returning`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRecurringTransactions: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/recurring-transactions`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRevenue: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/revenue`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTransactions: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/revenue-statistics/transactions`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * RevenueStatisticsApi - functional programming interface\r\n * @export\r\n */\r\nexport const RevenueStatisticsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = RevenueStatisticsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppRevenueUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppRevenueUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppSalesByCustomerType(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppSalesByCustomerType(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAppTransactionUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAppTransactionUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAverageTransactionValueForReturningCustomers(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAverageTransactionValueForReturningCustomers(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getNewVsReturning(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNewVsReturning(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getRecurringTransactions(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getRecurringTransactions(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getRevenue(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getRevenue(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getTransactions(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getTransactions(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * RevenueStatisticsApi - factory interface\r\n * @export\r\n */\r\nexport const RevenueStatisticsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = RevenueStatisticsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppRevenueUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppRevenueUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppSalesByCustomerType(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppSalesByCustomerType(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAppTransactionUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAppTransactionUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAverageTransactionValueForReturningCustomers(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getAverageTransactionValueForReturningCustomers(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewVsReturning(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getNewVsReturning(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRecurringTransactions(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getRecurringTransactions(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getRevenue(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getRevenue(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getTransactions(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getTransactions(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getAppRevenueUsers operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetAppRevenueUsersRequest\r\n */\r\nexport interface RevenueStatisticsApiGetAppRevenueUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppRevenueUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAppSalesByCustomerType operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetAppSalesByCustomerTypeRequest\r\n */\r\nexport interface RevenueStatisticsApiGetAppSalesByCustomerTypeRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppSalesByCustomerType\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAppTransactionUsers operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetAppTransactionUsersRequest\r\n */\r\nexport interface RevenueStatisticsApiGetAppTransactionUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAppTransactionUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getAverageTransactionValueForReturningCustomers operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetAverageTransactionValueForReturningCustomersRequest\r\n */\r\nexport interface RevenueStatisticsApiGetAverageTransactionValueForReturningCustomersRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetAverageTransactionValueForReturningCustomers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getNewVsReturning operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetNewVsReturningRequest\r\n */\r\nexport interface RevenueStatisticsApiGetNewVsReturningRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetNewVsReturning\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getRecurringTransactions operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetRecurringTransactionsRequest\r\n */\r\nexport interface RevenueStatisticsApiGetRecurringTransactionsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRecurringTransactions\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getRevenue operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetRevenueRequest\r\n */\r\nexport interface RevenueStatisticsApiGetRevenueRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetRevenue\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getTransactions operation in RevenueStatisticsApi.\r\n * @export\r\n * @interface RevenueStatisticsApiGetTransactionsRequest\r\n */\r\nexport interface RevenueStatisticsApiGetTransactionsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof RevenueStatisticsApiGetTransactions\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * RevenueStatisticsApi - object-oriented interface\r\n * @export\r\n * @class RevenueStatisticsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class RevenueStatisticsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetAppRevenueUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getAppRevenueUsers(requestParameters: RevenueStatisticsApiGetAppRevenueUsersRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getAppRevenueUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetAppSalesByCustomerTypeRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getAppSalesByCustomerType(requestParameters: RevenueStatisticsApiGetAppSalesByCustomerTypeRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getAppSalesByCustomerType(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetAppTransactionUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getAppTransactionUsers(requestParameters: RevenueStatisticsApiGetAppTransactionUsersRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getAppTransactionUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetAverageTransactionValueForReturningCustomersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getAverageTransactionValueForReturningCustomers(requestParameters: RevenueStatisticsApiGetAverageTransactionValueForReturningCustomersRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getAverageTransactionValueForReturningCustomers(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetNewVsReturningRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getNewVsReturning(requestParameters: RevenueStatisticsApiGetNewVsReturningRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getNewVsReturning(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetRecurringTransactionsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getRecurringTransactions(requestParameters: RevenueStatisticsApiGetRecurringTransactionsRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getRecurringTransactions(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetRevenueRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getRevenue(requestParameters: RevenueStatisticsApiGetRevenueRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getRevenue(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {RevenueStatisticsApiGetTransactionsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof RevenueStatisticsApi\r\n */\r\n public getTransactions(requestParameters: RevenueStatisticsApiGetTransactionsRequest = {}, options?: any) {\r\n return RevenueStatisticsApiFp(this.configuration).getTransactions(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * SegmentGroupsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const SegmentGroupsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (segmentGroupId: number, options: any = {}): Promise => {\r\n // verify required parameter 'segmentGroupId' is not null or undefined\r\n assertParamExists('_delete', 'segmentGroupId', segmentGroupId)\r\n const localVarPath = `/api/segment-groups/{segmentGroupId}`\r\n .replace(`{${\"segmentGroupId\"}}`, encodeURIComponent(String(segmentGroupId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {SegmentGroupModel} [segmentGroupModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (segmentGroupModel?: SegmentGroupModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/segment-groups`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(segmentGroupModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll: async (search?: string, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/segment-groups`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (segmentGroupId: number, options: any = {}): Promise => {\r\n // verify required parameter 'segmentGroupId' is not null or undefined\r\n assertParamExists('getOne', 'segmentGroupId', segmentGroupId)\r\n const localVarPath = `/api/segment-groups/{segmentGroupId}`\r\n .replace(`{${\"segmentGroupId\"}}`, encodeURIComponent(String(segmentGroupId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {SegmentGroupModel} [segmentGroupModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (segmentGroupId: number, segmentGroupModel?: SegmentGroupModel, options: any = {}): Promise => {\r\n // verify required parameter 'segmentGroupId' is not null or undefined\r\n assertParamExists('update', 'segmentGroupId', segmentGroupId)\r\n const localVarPath = `/api/segment-groups/{segmentGroupId}`\r\n .replace(`{${\"segmentGroupId\"}}`, encodeURIComponent(String(segmentGroupId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(segmentGroupModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * SegmentGroupsApi - functional programming interface\r\n * @export\r\n */\r\nexport const SegmentGroupsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = SegmentGroupsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(segmentGroupId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(segmentGroupId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {SegmentGroupModel} [segmentGroupModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(segmentGroupModel?: SegmentGroupModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(segmentGroupModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getAll(search?: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAll(search, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(segmentGroupId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(segmentGroupId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {SegmentGroupModel} [segmentGroupModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(segmentGroupId: number, segmentGroupModel?: SegmentGroupModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(segmentGroupId, segmentGroupModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * SegmentGroupsApi - factory interface\r\n * @export\r\n */\r\nexport const SegmentGroupsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = SegmentGroupsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(segmentGroupId: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(segmentGroupId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {SegmentGroupModel} [segmentGroupModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(segmentGroupModel?: SegmentGroupModel, options?: any): AxiosPromise {\r\n return localVarFp.create(segmentGroupModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [search] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getAll(search?: string, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getAll(search, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(segmentGroupId: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(segmentGroupId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} segmentGroupId \r\n * @param {SegmentGroupModel} [segmentGroupModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(segmentGroupId: number, segmentGroupModel?: SegmentGroupModel, options?: any): AxiosPromise {\r\n return localVarFp.update(segmentGroupId, segmentGroupModel, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in SegmentGroupsApi.\r\n * @export\r\n * @interface SegmentGroupsApiDeleteRequest\r\n */\r\nexport interface SegmentGroupsApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentGroupsApiDelete\r\n */\r\n readonly segmentGroupId: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in SegmentGroupsApi.\r\n * @export\r\n * @interface SegmentGroupsApiCreateRequest\r\n */\r\nexport interface SegmentGroupsApiCreateRequest {\r\n /**\r\n * \r\n * @type {SegmentGroupModel}\r\n * @memberof SegmentGroupsApiCreate\r\n */\r\n readonly segmentGroupModel?: SegmentGroupModel\r\n}\r\n\r\n/**\r\n * Request parameters for getAll operation in SegmentGroupsApi.\r\n * @export\r\n * @interface SegmentGroupsApiGetAllRequest\r\n */\r\nexport interface SegmentGroupsApiGetAllRequest {\r\n /**\r\n * Default: null\r\n * @type {string}\r\n * @memberof SegmentGroupsApiGetAll\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof SegmentGroupsApiGetAll\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof SegmentGroupsApiGetAll\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in SegmentGroupsApi.\r\n * @export\r\n * @interface SegmentGroupsApiGetOneRequest\r\n */\r\nexport interface SegmentGroupsApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentGroupsApiGetOne\r\n */\r\n readonly segmentGroupId: number\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in SegmentGroupsApi.\r\n * @export\r\n * @interface SegmentGroupsApiUpdateRequest\r\n */\r\nexport interface SegmentGroupsApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof SegmentGroupsApiUpdate\r\n */\r\n readonly segmentGroupId: number\r\n\r\n /**\r\n * \r\n * @type {SegmentGroupModel}\r\n * @memberof SegmentGroupsApiUpdate\r\n */\r\n readonly segmentGroupModel?: SegmentGroupModel\r\n}\r\n\r\n/**\r\n * SegmentGroupsApi - object-oriented interface\r\n * @export\r\n * @class SegmentGroupsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class SegmentGroupsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {SegmentGroupsApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof SegmentGroupsApi\r\n */\r\n public _delete(requestParameters: SegmentGroupsApiDeleteRequest, options?: any) {\r\n return SegmentGroupsApiFp(this.configuration)._delete(requestParameters.segmentGroupId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {SegmentGroupsApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof SegmentGroupsApi\r\n */\r\n public create(requestParameters: SegmentGroupsApiCreateRequest = {}, options?: any) {\r\n return SegmentGroupsApiFp(this.configuration).create(requestParameters.segmentGroupModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {SegmentGroupsApiGetAllRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof SegmentGroupsApi\r\n */\r\n public getAll(requestParameters: SegmentGroupsApiGetAllRequest = {}, options?: any) {\r\n return SegmentGroupsApiFp(this.configuration).getAll(requestParameters.search, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {SegmentGroupsApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof SegmentGroupsApi\r\n */\r\n public getOne(requestParameters: SegmentGroupsApiGetOneRequest, options?: any) {\r\n return SegmentGroupsApiFp(this.configuration).getOne(requestParameters.segmentGroupId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {SegmentGroupsApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof SegmentGroupsApi\r\n */\r\n public update(requestParameters: SegmentGroupsApiUpdateRequest, options?: any) {\r\n return SegmentGroupsApiFp(this.configuration).update(requestParameters.segmentGroupId, requestParameters.segmentGroupModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * StoresApi - axios parameter creator\r\n * @export\r\n */\r\nexport const StoresApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {number} storeId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete: async (storeId: number, options: any = {}): Promise => {\r\n // verify required parameter 'storeId' is not null or undefined\r\n assertParamExists('_delete', 'storeId', storeId)\r\n const localVarPath = `/api/stores/{storeId}`\r\n .replace(`{${\"storeId\"}}`, encodeURIComponent(String(storeId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {StoreModel} [storeModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create: async (storeModel?: StoreModel, options: any = {}): Promise => {\r\n const localVarPath = `/api/stores`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(storeModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {string} [search] Default: null\r\n * @param {boolean} [onlyActive] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get: async (stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, search?: string, onlyActive?: boolean, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/stores`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (search !== undefined) {\r\n localVarQueryParameter['search'] = search;\r\n }\r\n\r\n if (onlyActive !== undefined) {\r\n localVarQueryParameter['onlyActive'] = onlyActive;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBeacons: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getBeacons', 'id', id)\r\n const localVarPath = `/api/stores/{id}/beacons`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByBeaconContacts: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/stores/by-beacon-contacts/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (includeAllStores !== undefined) {\r\n localVarQueryParameter['includeAllStores'] = includeAllStores;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByFavoriteCustomers: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/stores/by-favorite-customers/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (includeAllStores !== undefined) {\r\n localVarQueryParameter['includeAllStores'] = includeAllStores;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByRevenue: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/stores/by-revenue/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (includeAllStores !== undefined) {\r\n localVarQueryParameter['includeAllStores'] = includeAllStores;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByVisits: async (size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/stores/by-visits/top`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (size !== undefined) {\r\n localVarQueryParameter['size'] = size;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (includeAllStores !== undefined) {\r\n localVarQueryParameter['includeAllStores'] = includeAllStores;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCitiesByVisits: async (size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'size' is not null or undefined\r\n assertParamExists('getCitiesByVisits', 'size', size)\r\n const localVarPath = `/api/stores/cities-by-visits/top-{size}`\r\n .replace(`{${\"size\"}}`, encodeURIComponent(String(size)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCountriesByVisits: async (size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'size' is not null or undefined\r\n assertParamExists('getCountriesByVisits', 'size', size)\r\n const localVarPath = `/api/stores/countries-by-visits/top-{size}`\r\n .replace(`{${\"size\"}}`, encodeURIComponent(String(size)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup: async (options: any = {}): Promise => {\r\n const localVarPath = `/api/stores/lookup`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLayout: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getLayout', 'id', id)\r\n const localVarPath = `/api/stores/{id}/layout`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne: async (id: number, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getOne', 'id', id)\r\n const localVarPath = `/api/stores/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreBeaconVisits: async (id: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getStoreBeaconVisits', 'id', id)\r\n const localVarPath = `/api/stores/{id}/beacon-visit-counts`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {StoreModel} [storeModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update: async (id: number, storeModel?: StoreModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('update', 'id', id)\r\n const localVarPath = `/api/stores/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(storeModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {StoreLayoutModel} [storeLayoutModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n updateLayout: async (id: number, storeLayoutModel?: StoreLayoutModel, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('updateLayout', 'id', id)\r\n const localVarPath = `/api/stores/{id}/layout`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(storeLayoutModel, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} storeId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n visitorData: async (storeId: number, options: any = {}): Promise => {\r\n // verify required parameter 'storeId' is not null or undefined\r\n assertParamExists('visitorData', 'storeId', storeId)\r\n const localVarPath = `/api/stores/{storeId}/visitor-data`\r\n .replace(`{${\"storeId\"}}`, encodeURIComponent(String(storeId)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * StoresApi - functional programming interface\r\n * @export\r\n */\r\nexport const StoresApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = StoresApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} storeId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async _delete(storeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator._delete(storeId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {StoreModel} [storeModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async create(storeModel?: StoreModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.create(storeModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {string} [search] Default: null\r\n * @param {boolean} [onlyActive] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async get(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, search?: string, onlyActive?: boolean, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.get(stores, countries, cities, areas, beacons, search, onlyActive, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getBeacons(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getBeacons(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByBeaconContacts(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByBeaconContacts(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByFavoriteCustomers(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByFavoriteCustomers(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByRevenue(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByRevenue(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getByVisits(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getByVisits(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getCitiesByVisits(size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCitiesByVisits(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getCountriesByVisits(size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCountriesByVisits(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getForLookup(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getForLookup(options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getLayout(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getLayout(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getOne(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOne(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getStoreBeaconVisits(id: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getStoreBeaconVisits(id, rangeType, rangeStart, rangeEnd, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {StoreModel} [storeModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async update(id: number, storeModel?: StoreModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, storeModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {StoreLayoutModel} [storeLayoutModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async updateLayout(id: number, storeLayoutModel?: StoreLayoutModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.updateLayout(id, storeLayoutModel, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} storeId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async visitorData(storeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.visitorData(storeId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * StoresApi - factory interface\r\n * @export\r\n */\r\nexport const StoresApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = StoresApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {number} storeId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n _delete(storeId: number, options?: any): AxiosPromise {\r\n return localVarFp._delete(storeId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {StoreModel} [storeModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n create(storeModel?: StoreModel, options?: any): AxiosPromise {\r\n return localVarFp.create(storeModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {string} [search] Default: null\r\n * @param {boolean} [onlyActive] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n get(stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, search?: string, onlyActive?: boolean, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.get(stores, countries, cities, areas, beacons, search, onlyActive, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getBeacons(id: number, options?: any): AxiosPromise> {\r\n return localVarFp.getBeacons(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByBeaconContacts(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByBeaconContacts(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByFavoriteCustomers(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByFavoriteCustomers(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByRevenue(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByRevenue(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [size] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {boolean} [includeAllStores] Default: null\r\n * @param {number} [skip] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getByVisits(size?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, includeAllStores?: boolean, skip?: number, options?: any): AxiosPromise {\r\n return localVarFp.getByVisits(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, includeAllStores, skip, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCitiesByVisits(size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getCitiesByVisits(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} size \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getCountriesByVisits(size: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise> {\r\n return localVarFp.getCountriesByVisits(size, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getForLookup(options?: any): AxiosPromise> {\r\n return localVarFp.getForLookup(options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getLayout(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getLayout(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getOne(id: number, options?: any): AxiosPromise {\r\n return localVarFp.getOne(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreBeaconVisits(id: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, options?: any): AxiosPromise> {\r\n return localVarFp.getStoreBeaconVisits(id, rangeType, rangeStart, rangeEnd, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {StoreModel} [storeModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n update(id: number, storeModel?: StoreModel, options?: any): AxiosPromise {\r\n return localVarFp.update(id, storeModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} id \r\n * @param {StoreLayoutModel} [storeLayoutModel] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n updateLayout(id: number, storeLayoutModel?: StoreLayoutModel, options?: any): AxiosPromise {\r\n return localVarFp.updateLayout(id, storeLayoutModel, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} storeId \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n visitorData(storeId: number, options?: any): AxiosPromise {\r\n return localVarFp.visitorData(storeId, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for _delete operation in StoresApi.\r\n * @export\r\n * @interface StoresApiDeleteRequest\r\n */\r\nexport interface StoresApiDeleteRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiDelete\r\n */\r\n readonly storeId: number\r\n}\r\n\r\n/**\r\n * Request parameters for create operation in StoresApi.\r\n * @export\r\n * @interface StoresApiCreateRequest\r\n */\r\nexport interface StoresApiCreateRequest {\r\n /**\r\n * \r\n * @type {StoreModel}\r\n * @memberof StoresApiCreate\r\n */\r\n readonly storeModel?: StoreModel\r\n}\r\n\r\n/**\r\n * Request parameters for get operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetRequest\r\n */\r\nexport interface StoresApiGetRequest {\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGet\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGet\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGet\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGet\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGet\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {string}\r\n * @memberof StoresApiGet\r\n */\r\n readonly search?: string\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof StoresApiGet\r\n */\r\n readonly onlyActive?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof StoresApiGet\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof StoresApiGet\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getBeacons operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetBeaconsRequest\r\n */\r\nexport interface StoresApiGetBeaconsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetBeacons\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByBeaconContacts operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetByBeaconContactsRequest\r\n */\r\nexport interface StoresApiGetByBeaconContactsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly includeAllStores?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof StoresApiGetByBeaconContacts\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByFavoriteCustomers operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetByFavoriteCustomersRequest\r\n */\r\nexport interface StoresApiGetByFavoriteCustomersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly includeAllStores?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof StoresApiGetByFavoriteCustomers\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByRevenue operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetByRevenueRequest\r\n */\r\nexport interface StoresApiGetByRevenueRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly includeAllStores?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof StoresApiGetByRevenue\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getByVisits operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetByVisitsRequest\r\n */\r\nexport interface StoresApiGetByVisitsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly size?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {boolean}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly includeAllStores?: boolean\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof StoresApiGetByVisits\r\n */\r\n readonly skip?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getCitiesByVisits operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetCitiesByVisitsRequest\r\n */\r\nexport interface StoresApiGetCitiesByVisitsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly size: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCitiesByVisits\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getCountriesByVisits operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetCountriesByVisitsRequest\r\n */\r\nexport interface StoresApiGetCountriesByVisitsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly size: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof StoresApiGetCountriesByVisits\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getLayout operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetLayoutRequest\r\n */\r\nexport interface StoresApiGetLayoutRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetLayout\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for getOne operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetOneRequest\r\n */\r\nexport interface StoresApiGetOneRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetOne\r\n */\r\n readonly id: number\r\n}\r\n\r\n/**\r\n * Request parameters for getStoreBeaconVisits operation in StoresApi.\r\n * @export\r\n * @interface StoresApiGetStoreBeaconVisitsRequest\r\n */\r\nexport interface StoresApiGetStoreBeaconVisitsRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiGetStoreBeaconVisits\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof StoresApiGetStoreBeaconVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetStoreBeaconVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof StoresApiGetStoreBeaconVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n}\r\n\r\n/**\r\n * Request parameters for update operation in StoresApi.\r\n * @export\r\n * @interface StoresApiUpdateRequest\r\n */\r\nexport interface StoresApiUpdateRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiUpdate\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {StoreModel}\r\n * @memberof StoresApiUpdate\r\n */\r\n readonly storeModel?: StoreModel\r\n}\r\n\r\n/**\r\n * Request parameters for updateLayout operation in StoresApi.\r\n * @export\r\n * @interface StoresApiUpdateLayoutRequest\r\n */\r\nexport interface StoresApiUpdateLayoutRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiUpdateLayout\r\n */\r\n readonly id: number\r\n\r\n /**\r\n * \r\n * @type {StoreLayoutModel}\r\n * @memberof StoresApiUpdateLayout\r\n */\r\n readonly storeLayoutModel?: StoreLayoutModel\r\n}\r\n\r\n/**\r\n * Request parameters for visitorData operation in StoresApi.\r\n * @export\r\n * @interface StoresApiVisitorDataRequest\r\n */\r\nexport interface StoresApiVisitorDataRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof StoresApiVisitorData\r\n */\r\n readonly storeId: number\r\n}\r\n\r\n/**\r\n * StoresApi - object-oriented interface\r\n * @export\r\n * @class StoresApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class StoresApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {StoresApiDeleteRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public _delete(requestParameters: StoresApiDeleteRequest, options?: any) {\r\n return StoresApiFp(this.configuration)._delete(requestParameters.storeId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiCreateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public create(requestParameters: StoresApiCreateRequest = {}, options?: any) {\r\n return StoresApiFp(this.configuration).create(requestParameters.storeModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public get(requestParameters: StoresApiGetRequest = {}, options?: any) {\r\n return StoresApiFp(this.configuration).get(requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.search, requestParameters.onlyActive, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetBeaconsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getBeacons(requestParameters: StoresApiGetBeaconsRequest, options?: any) {\r\n return StoresApiFp(this.configuration).getBeacons(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetByBeaconContactsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getByBeaconContacts(requestParameters: StoresApiGetByBeaconContactsRequest = {}, options?: any) {\r\n return StoresApiFp(this.configuration).getByBeaconContacts(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.includeAllStores, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetByFavoriteCustomersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getByFavoriteCustomers(requestParameters: StoresApiGetByFavoriteCustomersRequest = {}, options?: any) {\r\n return StoresApiFp(this.configuration).getByFavoriteCustomers(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.includeAllStores, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetByRevenueRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getByRevenue(requestParameters: StoresApiGetByRevenueRequest = {}, options?: any) {\r\n return StoresApiFp(this.configuration).getByRevenue(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.includeAllStores, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetByVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getByVisits(requestParameters: StoresApiGetByVisitsRequest = {}, options?: any) {\r\n return StoresApiFp(this.configuration).getByVisits(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.includeAllStores, requestParameters.skip, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetCitiesByVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getCitiesByVisits(requestParameters: StoresApiGetCitiesByVisitsRequest, options?: any) {\r\n return StoresApiFp(this.configuration).getCitiesByVisits(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetCountriesByVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getCountriesByVisits(requestParameters: StoresApiGetCountriesByVisitsRequest, options?: any) {\r\n return StoresApiFp(this.configuration).getCountriesByVisits(requestParameters.size, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getForLookup(options?: any) {\r\n return StoresApiFp(this.configuration).getForLookup(options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetLayoutRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getLayout(requestParameters: StoresApiGetLayoutRequest, options?: any) {\r\n return StoresApiFp(this.configuration).getLayout(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetOneRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getOne(requestParameters: StoresApiGetOneRequest, options?: any) {\r\n return StoresApiFp(this.configuration).getOne(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiGetStoreBeaconVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public getStoreBeaconVisits(requestParameters: StoresApiGetStoreBeaconVisitsRequest, options?: any) {\r\n return StoresApiFp(this.configuration).getStoreBeaconVisits(requestParameters.id, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiUpdateRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public update(requestParameters: StoresApiUpdateRequest, options?: any) {\r\n return StoresApiFp(this.configuration).update(requestParameters.id, requestParameters.storeModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiUpdateLayoutRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public updateLayout(requestParameters: StoresApiUpdateLayoutRequest, options?: any) {\r\n return StoresApiFp(this.configuration).updateLayout(requestParameters.id, requestParameters.storeLayoutModel, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {StoresApiVisitorDataRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof StoresApi\r\n */\r\n public visitorData(requestParameters: StoresApiVisitorDataRequest, options?: any) {\r\n return StoresApiFp(this.configuration).visitorData(requestParameters.storeId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * TrackingApi - axios parameter creator\r\n * @export\r\n */\r\nexport const TrackingApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {string} [platformDeviceId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deleteDiagnostics: async (userId?: string, platformDeviceId?: string, options: any = {}): Promise => {\r\n const localVarPath = `/api/tracking/diagnostics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (userId !== undefined) {\r\n localVarQueryParameter['userId'] = userId;\r\n }\r\n\r\n if (platformDeviceId !== undefined) {\r\n localVarQueryParameter['platformDeviceId'] = platformDeviceId;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {string} [platformDeviceId] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDiagnostics: async (userId?: string, platformDeviceId?: string, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/tracking/diagnostics`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (userId !== undefined) {\r\n localVarQueryParameter['userId'] = userId;\r\n }\r\n\r\n if (platformDeviceId !== undefined) {\r\n localVarQueryParameter['platformDeviceId'] = platformDeviceId;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [startHour] Default: null\r\n * @param {number} [endHour] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUserTracking: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, startHour?: number, endHour?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/tracking/users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n if (startHour !== undefined) {\r\n localVarQueryParameter['startHour'] = startHour;\r\n }\r\n\r\n if (endHour !== undefined) {\r\n localVarQueryParameter['endHour'] = endHour;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * TrackingApi - functional programming interface\r\n * @export\r\n */\r\nexport const TrackingApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = TrackingApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {string} [platformDeviceId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async deleteDiagnostics(userId?: string, platformDeviceId?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDiagnostics(userId, platformDeviceId, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {string} [platformDeviceId] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getDiagnostics(userId?: string, platformDeviceId?: string, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getDiagnostics(userId, platformDeviceId, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [startHour] Default: null\r\n * @param {number} [endHour] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getUserTracking(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, startHour?: number, endHour?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserTracking(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, startHour, endHour, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * TrackingApi - factory interface\r\n * @export\r\n */\r\nexport const TrackingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = TrackingApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {string} [platformDeviceId] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n deleteDiagnostics(userId?: string, platformDeviceId?: string, options?: any): AxiosPromise {\r\n return localVarFp.deleteDiagnostics(userId, platformDeviceId, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} [userId] \r\n * @param {string} [platformDeviceId] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [skip] Default: null\r\n * @param {number} [limit] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getDiagnostics(userId?: string, platformDeviceId?: string, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, skip?: number, limit?: number, options?: any): AxiosPromise {\r\n return localVarFp.getDiagnostics(userId, platformDeviceId, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, skip, limit, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {number} [startHour] Default: null\r\n * @param {number} [endHour] Default: null\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUserTracking(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, startHour?: number, endHour?: number, options?: any): AxiosPromise {\r\n return localVarFp.getUserTracking(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, startHour, endHour, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for deleteDiagnostics operation in TrackingApi.\r\n * @export\r\n * @interface TrackingApiDeleteDiagnosticsRequest\r\n */\r\nexport interface TrackingApiDeleteDiagnosticsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackingApiDeleteDiagnostics\r\n */\r\n readonly userId?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackingApiDeleteDiagnostics\r\n */\r\n readonly platformDeviceId?: string\r\n}\r\n\r\n/**\r\n * Request parameters for getDiagnostics operation in TrackingApi.\r\n * @export\r\n * @interface TrackingApiGetDiagnosticsRequest\r\n */\r\nexport interface TrackingApiGetDiagnosticsRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly userId?: string\r\n\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly platformDeviceId?: string\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof TrackingApiGetDiagnostics\r\n */\r\n readonly limit?: number\r\n}\r\n\r\n/**\r\n * Request parameters for getUserTracking operation in TrackingApi.\r\n * @export\r\n * @interface TrackingApiGetUserTrackingRequest\r\n */\r\nexport interface TrackingApiGetUserTrackingRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly beacons?: Array\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly startHour?: number\r\n\r\n /**\r\n * Default: null\r\n * @type {number}\r\n * @memberof TrackingApiGetUserTracking\r\n */\r\n readonly endHour?: number\r\n}\r\n\r\n/**\r\n * TrackingApi - object-oriented interface\r\n * @export\r\n * @class TrackingApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class TrackingApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {TrackingApiDeleteDiagnosticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof TrackingApi\r\n */\r\n public deleteDiagnostics(requestParameters: TrackingApiDeleteDiagnosticsRequest = {}, options?: any) {\r\n return TrackingApiFp(this.configuration).deleteDiagnostics(requestParameters.userId, requestParameters.platformDeviceId, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {TrackingApiGetDiagnosticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof TrackingApi\r\n */\r\n public getDiagnostics(requestParameters: TrackingApiGetDiagnosticsRequest = {}, options?: any) {\r\n return TrackingApiFp(this.configuration).getDiagnostics(requestParameters.userId, requestParameters.platformDeviceId, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {TrackingApiGetUserTrackingRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof TrackingApi\r\n */\r\n public getUserTracking(requestParameters: TrackingApiGetUserTrackingRequest = {}, options?: any) {\r\n return TrackingApiFp(this.configuration).getUserTracking(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, requestParameters.startHour, requestParameters.endHour, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * UsersApi - axios parameter creator\r\n * @export\r\n */\r\nexport const UsersApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {Array} [requestBody] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n assignRolesToUser: async (id: string, requestBody?: Array, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('assignRolesToUser', 'id', id)\r\n const localVarPath = `/api/accounts/user/{id}/roles`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\r\n\r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUser: async (id: string, options: any = {}): Promise => {\r\n // verify required parameter 'id' is not null or undefined\r\n assertParamExists('getUser', 'id', id)\r\n const localVarPath = `/api/accounts/user/{id}`\r\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [pageSize] Default: 10\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUsers: async (pageSize?: number, options: any = {}): Promise => {\r\n const localVarPath = `/api/accounts/users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (pageSize !== undefined) {\r\n localVarQueryParameter['pageSize'] = pageSize;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * UsersApi - functional programming interface\r\n * @export\r\n */\r\nexport const UsersApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {Array} [requestBody] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async assignRolesToUser(id: string, requestBody?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.assignRolesToUser(id, requestBody, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getUser(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUser(id, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [pageSize] Default: 10\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getUsers(pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUsers(pageSize, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * UsersApi - factory interface\r\n * @export\r\n */\r\nexport const UsersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = UsersApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {Array} [requestBody] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n assignRolesToUser(id: string, requestBody?: Array, options?: any): AxiosPromise {\r\n return localVarFp.assignRolesToUser(id, requestBody, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {string} id \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUser(id: string, options?: any): AxiosPromise {\r\n return localVarFp.getUser(id, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [pageSize] Default: 10\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getUsers(pageSize?: number, options?: any): AxiosPromise> {\r\n return localVarFp.getUsers(pageSize, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for assignRolesToUser operation in UsersApi.\r\n * @export\r\n * @interface UsersApiAssignRolesToUserRequest\r\n */\r\nexport interface UsersApiAssignRolesToUserRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof UsersApiAssignRolesToUser\r\n */\r\n readonly id: string\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof UsersApiAssignRolesToUser\r\n */\r\n readonly requestBody?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getUser operation in UsersApi.\r\n * @export\r\n * @interface UsersApiGetUserRequest\r\n */\r\nexport interface UsersApiGetUserRequest {\r\n /**\r\n * \r\n * @type {string}\r\n * @memberof UsersApiGetUser\r\n */\r\n readonly id: string\r\n}\r\n\r\n/**\r\n * Request parameters for getUsers operation in UsersApi.\r\n * @export\r\n * @interface UsersApiGetUsersRequest\r\n */\r\nexport interface UsersApiGetUsersRequest {\r\n /**\r\n * Default: 10\r\n * @type {number}\r\n * @memberof UsersApiGetUsers\r\n */\r\n readonly pageSize?: number\r\n}\r\n\r\n/**\r\n * UsersApi - object-oriented interface\r\n * @export\r\n * @class UsersApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class UsersApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {UsersApiAssignRolesToUserRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof UsersApi\r\n */\r\n public assignRolesToUser(requestParameters: UsersApiAssignRolesToUserRequest, options?: any) {\r\n return UsersApiFp(this.configuration).assignRolesToUser(requestParameters.id, requestParameters.requestBody, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {UsersApiGetUserRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof UsersApi\r\n */\r\n public getUser(requestParameters: UsersApiGetUserRequest, options?: any) {\r\n return UsersApiFp(this.configuration).getUser(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {UsersApiGetUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof UsersApi\r\n */\r\n public getUsers(requestParameters: UsersApiGetUsersRequest = {}, options?: any) {\r\n return UsersApiFp(this.configuration).getUsers(requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n/**\r\n * VisitorStatisticsApi - axios parameter creator\r\n * @export\r\n */\r\nexport const VisitorStatisticsApiAxiosParamCreator = function (configuration?: Configuration) {\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewVisitorsCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/new-visitors-count`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewVsReturning: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/new-vs-returning`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNmRecurringVisits: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/nm-recurring-visits`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreVisits: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/store-visits`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitStatistics: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/visit/frequency-stats`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitingUsers: async (skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/visiting-users`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (skip !== undefined) {\r\n localVarQueryParameter['skip'] = skip;\r\n }\r\n\r\n if (limit !== undefined) {\r\n localVarQueryParameter['limit'] = limit;\r\n }\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitorsCount: async (rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options: any = {}): Promise => {\r\n const localVarPath = `/api/visitor-statistics/visitors-count`;\r\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\r\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\r\n let baseOptions;\r\n if (configuration) {\r\n baseOptions = configuration.baseOptions;\r\n }\r\n\r\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\r\n const localVarHeaderParameter = {} as any;\r\n const localVarQueryParameter = {} as any;\r\n\r\n // authentication BmsClientKey required\r\n // http bearer authentication required\r\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\r\n\r\n if (rangeType !== undefined) {\r\n localVarQueryParameter['rangeType'] = rangeType;\r\n }\r\n\r\n if (rangeStart !== undefined) {\r\n localVarQueryParameter['rangeStart'] = (rangeStart as any instanceof Date) ?\r\n (rangeStart as any).toISOString() :\r\n rangeStart;\r\n }\r\n\r\n if (rangeEnd !== undefined) {\r\n localVarQueryParameter['rangeEnd'] = (rangeEnd as any instanceof Date) ?\r\n (rangeEnd as any).toISOString() :\r\n rangeEnd;\r\n }\r\n\r\n if (stores) {\r\n localVarQueryParameter['stores'] = stores;\r\n }\r\n\r\n if (countries) {\r\n localVarQueryParameter['countries'] = countries;\r\n }\r\n\r\n if (cities) {\r\n localVarQueryParameter['cities'] = cities;\r\n }\r\n\r\n if (areas) {\r\n localVarQueryParameter['areas'] = areas;\r\n }\r\n\r\n if (beacons) {\r\n localVarQueryParameter['beacons'] = beacons;\r\n }\r\n\r\n\r\n \r\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\r\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\r\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\r\n\r\n return {\r\n url: toPathString(localVarUrlObj),\r\n options: localVarRequestOptions,\r\n };\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * VisitorStatisticsApi - functional programming interface\r\n * @export\r\n */\r\nexport const VisitorStatisticsApiFp = function(configuration?: Configuration) {\r\n const localVarAxiosParamCreator = VisitorStatisticsApiAxiosParamCreator(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getNewVisitorsCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNewVisitorsCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getNewVsReturning(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNewVsReturning(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getNmRecurringVisits(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNmRecurringVisits(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getStoreVisits(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getStoreVisits(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getVisitStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getVisitStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getVisitingUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getVisitingUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n async getVisitorsCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\r\n const localVarAxiosArgs = await localVarAxiosParamCreator.getVisitorsCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options);\r\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\r\n },\r\n }\r\n};\r\n\r\n/**\r\n * VisitorStatisticsApi - factory interface\r\n * @export\r\n */\r\nexport const VisitorStatisticsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\r\n const localVarFp = VisitorStatisticsApiFp(configuration)\r\n return {\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewVisitorsCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getNewVisitorsCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNewVsReturning(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getNewVsReturning(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getNmRecurringVisits(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getNmRecurringVisits(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getStoreVisits(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getStoreVisits(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitStatistics(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getVisitStatistics(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {number} [skip] \r\n * @param {number} [limit] \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitingUsers(skip?: number, limit?: number, rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getVisitingUsers(skip, limit, rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n /**\r\n * \r\n * @param {TimeframeType} [rangeType] \r\n * @param {IsoDateTimeString} [rangeStart] \r\n * @param {IsoDateTimeString} [rangeEnd] \r\n * @param {Array} [stores] \r\n * @param {Array} [countries] \r\n * @param {Array} [cities] \r\n * @param {Array} [areas] \r\n * @param {Array} [beacons] \r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n */\r\n getVisitorsCount(rangeType?: TimeframeType, rangeStart?: IsoDateTimeString, rangeEnd?: IsoDateTimeString, stores?: Array, countries?: Array, cities?: Array, areas?: Array, beacons?: Array, options?: any): AxiosPromise {\r\n return localVarFp.getVisitorsCount(rangeType, rangeStart, rangeEnd, stores, countries, cities, areas, beacons, options).then((request) => request(axios, basePath));\r\n },\r\n };\r\n};\r\n\r\n/**\r\n * Request parameters for getNewVisitorsCount operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetNewVisitorsCountRequest\r\n */\r\nexport interface VisitorStatisticsApiGetNewVisitorsCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVisitorsCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getNewVsReturning operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetNewVsReturningRequest\r\n */\r\nexport interface VisitorStatisticsApiGetNewVsReturningRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNewVsReturning\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getNmRecurringVisits operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetNmRecurringVisitsRequest\r\n */\r\nexport interface VisitorStatisticsApiGetNmRecurringVisitsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetNmRecurringVisits\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getStoreVisits operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetStoreVisitsRequest\r\n */\r\nexport interface VisitorStatisticsApiGetStoreVisitsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetStoreVisits\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getVisitStatistics operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetVisitStatisticsRequest\r\n */\r\nexport interface VisitorStatisticsApiGetVisitStatisticsRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitStatistics\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getVisitingUsers operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetVisitingUsersRequest\r\n */\r\nexport interface VisitorStatisticsApiGetVisitingUsersRequest {\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly skip?: number\r\n\r\n /**\r\n * \r\n * @type {number}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly limit?: number\r\n\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitingUsers\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * Request parameters for getVisitorsCount operation in VisitorStatisticsApi.\r\n * @export\r\n * @interface VisitorStatisticsApiGetVisitorsCountRequest\r\n */\r\nexport interface VisitorStatisticsApiGetVisitorsCountRequest {\r\n /**\r\n * \r\n * @type {TimeframeType}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly rangeType?: TimeframeType\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly rangeStart?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {IsoDateTimeString}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly rangeEnd?: IsoDateTimeString\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly stores?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly countries?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly cities?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly areas?: Array\r\n\r\n /**\r\n * \r\n * @type {Array}\r\n * @memberof VisitorStatisticsApiGetVisitorsCount\r\n */\r\n readonly beacons?: Array\r\n}\r\n\r\n/**\r\n * VisitorStatisticsApi - object-oriented interface\r\n * @export\r\n * @class VisitorStatisticsApi\r\n * @extends {BaseAPI}\r\n */\r\nexport class VisitorStatisticsApi extends BaseAPI {\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetNewVisitorsCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getNewVisitorsCount(requestParameters: VisitorStatisticsApiGetNewVisitorsCountRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getNewVisitorsCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetNewVsReturningRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getNewVsReturning(requestParameters: VisitorStatisticsApiGetNewVsReturningRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getNewVsReturning(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetNmRecurringVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getNmRecurringVisits(requestParameters: VisitorStatisticsApiGetNmRecurringVisitsRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getNmRecurringVisits(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetStoreVisitsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getStoreVisits(requestParameters: VisitorStatisticsApiGetStoreVisitsRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getStoreVisits(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetVisitStatisticsRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getVisitStatistics(requestParameters: VisitorStatisticsApiGetVisitStatisticsRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getVisitStatistics(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetVisitingUsersRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getVisitingUsers(requestParameters: VisitorStatisticsApiGetVisitingUsersRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getVisitingUsers(requestParameters.skip, requestParameters.limit, requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n\r\n /**\r\n * \r\n * @param {VisitorStatisticsApiGetVisitorsCountRequest} requestParameters Request parameters.\r\n * @param {*} [options] Override http request option.\r\n * @throws {RequiredError}\r\n * @memberof VisitorStatisticsApi\r\n */\r\n public getVisitorsCount(requestParameters: VisitorStatisticsApiGetVisitorsCountRequest = {}, options?: any) {\r\n return VisitorStatisticsApiFp(this.configuration).getVisitorsCount(requestParameters.rangeType, requestParameters.rangeStart, requestParameters.rangeEnd, requestParameters.stores, requestParameters.countries, requestParameters.cities, requestParameters.areas, requestParameters.beacons, options).then((request) => request(this.axios, this.basePath));\r\n }\r\n}\r\n\r\n\r\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Suite Beaconsmind API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigurationParameters {\n apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise);\n username?: string;\n password?: string;\n accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise);\n basePath?: string;\n baseOptions?: any;\n formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n /**\n * parameter for apiKey security\n * @param name security name\n * @memberof Configuration\n */\n apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise);\n /**\n * parameter for basic security\n *\n * @type {string}\n * @memberof Configuration\n */\n username?: string;\n /**\n * parameter for basic security\n *\n * @type {string}\n * @memberof Configuration\n */\n password?: string;\n /**\n * parameter for oauth2 security\n * @param name security name\n * @param scopes oauth2 scope\n * @memberof Configuration\n */\n accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise);\n /**\n * override base path\n *\n * @type {string}\n * @memberof Configuration\n */\n basePath?: string;\n /**\n * base options for axios calls\n *\n * @type {any}\n * @memberof Configuration\n */\n baseOptions?: any;\n /**\n * The FormData constructor that will be used to create multipart form data\n * requests. You can inject this here so that execution environments that\n * do not support the FormData class can still run the generated client.\n *\n * @type {new () => FormData}\n */\n formDataCtor?: new () => any;\n\n constructor(param: ConfigurationParameters = {}) {\n this.apiKey = param.apiKey;\n this.username = param.username;\n this.password = param.password;\n this.accessToken = param.accessToken;\n this.basePath = param.basePath;\n this.baseOptions = param.baseOptions;\n this.formDataCtor = param.formDataCtor;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n}\n","import { AxiosResponse } from \"axios\";\r\nimport { ResultStatus } from \"../api\";\r\nimport { ServiceResult } from \"./types\";\r\n\r\nexport function isAxiosResponse(value: any): value is AxiosResponse {\r\n const partial = value as Partial>;\r\n return (\r\n partial.data !== undefined &&\r\n typeof partial.status === \"number\" &&\r\n typeof partial.statusText === \"string\" &&\r\n partial.headers !== undefined &&\r\n partial.config !== undefined\r\n );\r\n}\r\n\r\nexport function isServiceResult(obj?: any): obj is ServiceResult<{}> {\r\n if (obj === undefined) return false;\r\n const result = obj as ServiceResult<{}>;\r\n return (\r\n result.status !== undefined &&\r\n result.success !== undefined &&\r\n typeof result.status === \"number\" &&\r\n typeof result.success === \"boolean\"\r\n );\r\n}\r\n\r\nexport function isHttpOk(result: AxiosResponse | {} | void>) {\r\n const isHttpOk = result.status >= 200 && result.status <= 299;\r\n if (!isHttpOk) return false;\r\n const data = result.data;\r\n if (isServiceResult(data)) {\r\n return data.status === ResultStatus.Success;\r\n } else {\r\n return true;\r\n }\r\n}\r\n","import { MutableRefObject, Ref, RefCallback } from \"react\";\r\nimport { CancellablePromise } from \"../../services/objects\";\r\nimport { PDFPageProxy } from \"../pdfjs\";\r\n\r\n/**\r\n * Checks if we're running in a browser environment.\r\n */\r\nexport const isBrowser = typeof window !== \"undefined\";\r\n\r\n/**\r\n * Checks whether we're running from a local file system.\r\n */\r\nexport const isLocalFileSystem = isBrowser && window.location.protocol === \"file:\";\r\n\r\n/**\r\n * Checks whether we're running on a production build or not.\r\n */\r\nexport const isProduction = process.env.NODE_ENV === \"production\";\r\n\r\n/**\r\n * Checks whether a variable is defined.\r\n *\r\n * @param {*} variable Variable to check\r\n */\r\nexport function isDefined(variable: T | undefined): variable is T {\r\n return typeof variable !== \"undefined\";\r\n}\r\n\r\n/**\r\n * Checks whether a variable is defined and not null.\r\n *\r\n * @param {*} variable Variable to check\r\n */\r\nexport function isProvided(variable: T | undefined | null): variable is T {\r\n return isDefined(variable) && variable !== null;\r\n}\r\n\r\n/**\r\n * Checkes whether a variable provided is a string.\r\n *\r\n * @param {*} variable Variable to check\r\n */\r\nexport function isString(variable: any): variable is string {\r\n return typeof variable === \"string\";\r\n}\r\n\r\n/**\r\n * Checks whether a variable provided is an ArrayBuffer.\r\n *\r\n * @param {*} variable Variable to check\r\n */\r\nexport function isArrayBuffer(variable: any): variable is ArrayBuffer {\r\n return variable instanceof ArrayBuffer;\r\n}\r\n\r\n/**\r\n * Checkes whether a variable provided is a Blob.\r\n *\r\n * @param {*} variable Variable to check\r\n */\r\nexport function isBlob(variable: any): variable is Blob {\r\n if (!isBrowser) {\r\n throw new Error(\"Attempted to check if a variable is a Blob on a non-browser environment.\");\r\n }\r\n\r\n return variable instanceof Blob;\r\n}\r\n\r\n/**\r\n * Checkes whether a variable provided is a File.\r\n *\r\n * @param {*} variable Variable to check\r\n */\r\nexport function isFile(variable: any): variable is File {\r\n if (!isBrowser) {\r\n throw new Error(\"Attempted to check if a variable is a File on a non-browser environment.\");\r\n }\r\n\r\n return variable instanceof File;\r\n}\r\n\r\n/**\r\n * Checks whether a string provided is a data URI.\r\n *\r\n * @param {string} str String to check\r\n */\r\nexport function isDataURI(str: any): str is string {\r\n return isString(str) && /^data:/.test(str);\r\n}\r\n\r\nexport function dataURItoByteString(dataURI: any) {\r\n if (!isDataURI(dataURI)) {\r\n throw new Error(\"Invalid data URI.\");\r\n }\r\n\r\n const [headersString, dataString] = dataURI.split(\",\");\r\n const headers = headersString.split(\";\");\r\n\r\n if (headers.indexOf(\"base64\") !== -1) {\r\n return atob(dataString);\r\n }\r\n\r\n return unescape(dataString);\r\n}\r\n\r\nexport function getPixelRatio() {\r\n return (isBrowser && window.devicePixelRatio) || 1;\r\n}\r\n\r\nfunction consoleOnDev(method: \"warn\" | \"error\", ...message: any[]) {\r\n if (!isProduction) {\r\n // eslint-disable-next-line no-console\r\n console[method](...message);\r\n }\r\n}\r\n\r\nexport function warnOnDev(...message: any[]) {\r\n consoleOnDev(\"warn\", ...message);\r\n}\r\n\r\nexport function errorOnDev(...message: any[]) {\r\n consoleOnDev(\"error\", ...message);\r\n}\r\n\r\nexport function displayCORSWarning() {\r\n if (isLocalFileSystem) {\r\n warnOnDev(\r\n \"Loading PDF as base64 strings/URLs might not work on protocols other than HTTP/HTTPS. On Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.\"\r\n );\r\n }\r\n}\r\n\r\nexport function cancelRunningTask(runningTask?: CancellablePromise | null) {\r\n if (runningTask && runningTask.cancel) runningTask.cancel();\r\n}\r\n\r\nexport type EnhancedPage = PDFPageProxy & {\r\n width: number;\r\n height: number;\r\n originalWidth: number;\r\n originalHeight: number;\r\n};\r\n\r\nexport function makePageCallback(page: PDFPageProxy, scale: number): EnhancedPage {\r\n Object.defineProperty(page, \"width\", {\r\n get() {\r\n return this.view[2] * scale;\r\n },\r\n configurable: true,\r\n });\r\n Object.defineProperty(page, \"height\", {\r\n get() {\r\n return this.view[3] * scale;\r\n },\r\n configurable: true,\r\n });\r\n Object.defineProperty(page, \"originalWidth\", {\r\n get() {\r\n return this.view[2];\r\n },\r\n configurable: true,\r\n });\r\n Object.defineProperty(page, \"originalHeight\", {\r\n get() {\r\n return this.view[3];\r\n },\r\n configurable: true,\r\n });\r\n return page as EnhancedPage;\r\n}\r\n\r\nexport function isCancelException(error: Error) {\r\n return error.name === \"RenderingCancelledException\";\r\n}\r\n\r\nexport function loadFromFile(file: File | Blob) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n\r\n reader.onload = (event) => {\r\n if (isArrayBuffer(reader.result)) {\r\n resolve(new Uint8Array(reader.result));\r\n } else {\r\n reject(new Error(\"File read result is not ArrayBuffer.\"));\r\n }\r\n };\r\n reader.onerror = (event) => {\r\n if (event.target && event.target.error) {\r\n switch (event.target.error.code) {\r\n case event.target.error.NOT_FOUND_ERR:\r\n return reject(new Error(\"Error while reading a file: File not found.\"));\r\n case event.target.error.NOT_SUPPORTED_ERR:\r\n return reject(new Error(\"Error while reading a file: File not readable.\"));\r\n case event.target.error.SECURITY_ERR:\r\n return reject(new Error(\"Error while reading a file: Security error.\"));\r\n case event.target.error.ABORT_ERR:\r\n return reject(new Error(\"Error while reading a file: Aborted.\"));\r\n }\r\n }\r\n return reject(new Error(\"Error while reading a file.\"));\r\n };\r\n reader.readAsArrayBuffer(file);\r\n return null;\r\n });\r\n}\r\n\r\nexport function mergeRefs(...inputRefs: (RefCallback | Ref | undefined)[]) {\r\n if (inputRefs.length <= 1) {\r\n return inputRefs[0];\r\n }\r\n\r\n return function mergedRefs(ref: T) {\r\n inputRefs.forEach((inputRef) => {\r\n if (typeof inputRef === \"function\") {\r\n inputRef(ref);\r\n } else if (inputRef) {\r\n // eslint-disable-next-line no-param-reassign\r\n (inputRef as MutableRefObject).current = ref;\r\n }\r\n });\r\n };\r\n}\r\n\r\nexport function mergeClassNames(...args: any[]) {\r\n return Array.prototype.slice\r\n .call(args)\r\n .reduce((classList, arg) => classList.concat(arg), [])\r\n .filter((arg: any) => typeof arg === \"string\")\r\n .join(\" \");\r\n}\r\n\r\nexport function coalesce(values: (T | null | undefined)[], defaultValue: T): T {\r\n for (const v of values) {\r\n if (isProvided(v)) return v;\r\n }\r\n return defaultValue;\r\n}\r\n","/* eslint-disable no-console */\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\n\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nexport function logErrorSilently(error: any, message?: string) {\r\n if (!message && typeof error.message === \"string\") {\r\n message = error.message;\r\n }\r\n if (message) {\r\n console.error(message, error);\r\n } else {\r\n console.error(error);\r\n }\r\n}\r\n\r\nexport function confirmDialog(\r\n message?: string,\r\n onConfirm?: () => void,\r\n onReject?: () => void,\r\n confirmText?: string,\r\n rejectText?: string\r\n) {\r\n confirmAlert({\r\n message: message || \"Are you sure?\",\r\n buttons: [\r\n {\r\n label: confirmText || \"Yes\",\r\n onClick: () => onConfirm && onConfirm(),\r\n },\r\n {\r\n label: rejectText || \"No\",\r\n onClick: () => onReject && onReject(),\r\n },\r\n ],\r\n });\r\n}\r\n","import { logErrorSilently } from \"../../services/alerts\";\r\n\r\ntype MessageProps = {\r\n message?: string;\r\n diagnosticError?: any;\r\n};\r\n\r\nexport const AlertContent = (props: MessageProps) => {\r\n if (props.diagnosticError) {\r\n logErrorSilently(props.diagnosticError);\r\n }\r\n return {props.message};\r\n};\r\n\r\nexport const ServerUnavailable = (props: MessageProps) => (\r\n \r\n);\r\n\r\nexport function ValidationMessage(props: { message: string }) {\r\n return ;\r\n}\r\n\r\nexport const UnexpectedError = () => (\r\n \r\n Unexpected failure. Please contact admin@beaconsmind.com.\r\n \r\n);\r\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAccurateIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 122.87 122.88\",\n fill: \"#e2bc8f\",\n style: {\n enableBackground: \"new 0 0 122.87 122.88\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.01,110.22c-9.96-1.91-18.86-6.79-25.76-13.68c-6.9-6.9-11.77-15.8-13.68-25.77h6.21c1.82,8.28,5.99,15.68,11.78,21.47 c5.78,5.78,13.18,9.95,21.46,11.78V110.22L52.01,110.22z M96.31,64.48c-1.68,0-3.04-1.36-3.04-3.04c0-1.68,1.36-3.04,3.04-3.04 h23.52c1.68,0,3.04,1.36,3.04,3.04c0,1.68-1.36,3.04-3.04,3.04H96.31L96.31,64.48L96.31,64.48z M64.48,26.57 c0,1.68-1.36,3.04-3.04,3.04c-1.68,0-3.04-1.36-3.04-3.04V3.04C58.4,1.36,59.76,0,61.44,0c1.68,0,3.04,1.36,3.04,3.04V26.57 L64.48,26.57L64.48,26.57z M64.48,119.84c0,1.68-1.36,3.04-3.04,3.04c-1.68,0-3.04-1.36-3.04-3.04V96.31c0-4,6.08-4,6.08,0V119.84 L64.48,119.84L64.48,119.84z M3.04,64.48C1.36,64.48,0,63.12,0,61.44c0-1.68,1.36-3.04,3.04-3.04h23.52c1.68,0,3.04,1.36,3.04,3.04 c0,1.68-1.36,3.04-3.04,3.04H3.04L3.04,64.48L3.04,64.48z M61.43,46.94c8.01,0,14.5,6.49,14.5,14.5c0,8.01-6.49,14.5-14.5,14.5 c-8.01,0-14.5-6.49-14.5-14.5C46.94,53.43,53.43,46.94,61.43,46.94L61.43,46.94z M12.56,51.92c1.91-9.96,6.79-18.86,13.68-25.76 c6.9-6.9,15.8-11.78,25.77-13.69v6.22c-8.28,1.82-15.68,5.99-21.47,11.78c-5.78,5.78-9.96,13.17-11.77,21.45H12.56L12.56,51.92z M70.86,12.46c9.97,1.91,18.87,6.79,25.77,13.69c6.9,6.89,11.78,15.81,13.68,25.77h-6.21c-1.82-8.28-5.99-15.69-11.78-21.47 c-5.78-5.79-13.18-9.96-21.46-11.78V12.46L70.86,12.46z M110.32,70.77c-1.91,9.96-6.79,18.87-13.69,25.77 c-6.9,6.9-15.8,11.78-25.77,13.69v-6.21c16.55-3.64,29.62-16.69,33.25-33.25H110.32L110.32,70.77z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAccurateIcon);\nexport default __webpack_public_path__ + \"static/media/accurate-icon.1f0f58d5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgActiveUsers(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Component_9_2\",\n \"data-name\": \"Component 9 \\\\u2013 2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Union_1\",\n \"data-name\": \"Union 1\",\n d: \"M0,16V14c0-2.2,3.6-4,8-4s8,1.8,8,4v2ZM4,4A4,4,0,1,1,8,8,4,4,0,0,1,4,4Z\",\n fill: \"#fff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgActiveUsers);\nexport default __webpack_public_path__ + \"static/media/active-users.c7b9756d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAddNew(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 148.111,\n height: 146.473,\n viewBox: \"0 0 148.111 146.473\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.461,38.618H68.65V67.913H39.028V82.56H68.65v29.295H83.461V82.56h29.622V67.913H83.461ZM76.056,2C35.251,2,2,34.883,2,75.237s33.251,73.237,74.056,73.237,74.056-32.883,74.056-73.237S116.86,2,76.056,2Zm0,131.826c-32.658,0-59.244-26.292-59.244-58.589S43.4,16.647,76.056,16.647,135.3,42.939,135.3,75.237,108.714,133.826,76.056,133.826Z\",\n transform: \"translate(-2 -2)\",\n fill: \"#a3a6b4\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAddNew);\nexport default __webpack_public_path__ + \"static/media/add-new.4dc15819.svg\";\nexport { ForwardRef as ReactComponent };","var _metadata, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAllPermissionsGranted(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 256 256\",\n enableBackground: \"new 0 0 256 256\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _metadata || (_metadata = /*#__PURE__*/React.createElement(\"metadata\", null, \" Svg Vector Icons : http://www.onlinewebfonts.com/icon \")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#BE71A3\",\n \"data-title\": \"Layer 0\",\n xs: 0,\n d: \"M206.4,38.7c-50.9,0-73.1-23.2-73.1-23.2L128,10l-5.3,5.5c0,0-22.3,23.7-73.6,23.7H36.4v106.4c0,27.6,9,68.4,89,99.3l2.6,1.1l2.6-1.1c80-30.9,89-71.7,89-99.3v-107H206.4z M128,232.8c-81.1-31.4-81.1-72.2-81.1-88.2V50.3h2.6c46.1,0,70.5-17.7,78.4-24.8c7.9,7.2,32.3,24.8,78.4,24.8h2.1l0.5,94.3C209.1,160,209.1,201.4,128,232.8z M112.6,141.8l-28.1-22.1L74,128.6l46.1,43.6c21.2-48,62-84.4,62-84.4l-4.8-5.5C144.4,99.9,112.6,141.8,112.6,141.8z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAllPermissionsGranted);\nexport default __webpack_public_path__ + \"static/media/all-permissions-granted.5f3e2352.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAllStores(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 16,\n viewBox: \"0 0 18 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_store_mall_directory_24px\",\n d: \"M20,4H4V6H20Zm1,10V12L20,7H4L3,12v2H4v6H14V14h4v6h2V14Zm-9,4H6V14h6Z\",\n transform: \"translate(-3 -4)\",\n fill: \"#a5a4bf\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAllStores);\nexport default __webpack_public_path__ + \"static/media/all-stores.9f39114f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAnalytics(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n viewBox: \"0 0 20 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M10.375 21h4.25V4h-4.25zM4 21h4.25v-8.5H4zM16.75 9.313V21H21V9.313z\",\n transform: \"translate(-4 -4)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAnalytics);\nexport default __webpack_public_path__ + \"static/media/analytics.8a311cdd.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAndroidLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"14px\",\n height: \"14px\",\n fill: \"#ffffff\",\n viewBox: \"0 0 553.048 553.048\",\n style: {\n enableBackground: \"new 0 0 553.048 553.048\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.774,179.141c-9.529,0-17.614,3.323-24.26,9.969c-6.646,6.646-9.97,14.621-9.97,23.929v142.914 c0,9.541,3.323,17.619,9.97,24.266c6.646,6.646,14.731,9.97,24.26,9.97c9.522,0,17.558-3.323,24.101-9.97 c6.53-6.646,9.804-14.725,9.804-24.266V213.039c0-9.309-3.323-17.283-9.97-23.929C94.062,182.464,86.082,179.141,76.774,179.141z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.972,50.847L375.57,7.315c1.549-2.882,0.998-5.092-1.658-6.646c-2.883-1.34-5.098-0.661-6.646,1.989l-23.928,43.88 c-21.055-9.309-43.324-13.972-66.807-13.972c-23.488,0-45.759,4.664-66.806,13.972l-23.929-43.88 c-1.555-2.65-3.77-3.323-6.646-1.989c-2.662,1.561-3.213,3.764-1.658,6.646l23.599,43.532 c-23.929,12.203-42.987,29.198-57.167,51.022c-14.18,21.836-21.273,45.698-21.273,71.628h307.426 c0-25.924-7.094-49.787-21.273-71.628C394.623,80.045,375.675,63.05,351.972,50.847z M215.539,114.165 c-2.552,2.558-5.6,3.831-9.143,3.831c-3.55,0-6.536-1.273-8.972-3.831c-2.436-2.546-3.654-5.582-3.654-9.137 c0-3.543,1.218-6.585,3.654-9.137c2.436-2.546,5.429-3.819,8.972-3.819s6.591,1.273,9.143,3.819 c2.546,2.558,3.825,5.594,3.825,9.137C219.357,108.577,218.079,111.619,215.539,114.165z M355.625,114.165 c-2.441,2.558-5.434,3.831-8.971,3.831c-3.551,0-6.598-1.273-9.145-3.831c-2.551-2.546-3.824-5.582-3.824-9.137 c0-3.543,1.273-6.585,3.824-9.137c2.547-2.546,5.594-3.819,9.145-3.819c3.543,0,6.529,1.273,8.971,3.819 c2.438,2.558,3.654,5.594,3.654,9.137C359.279,108.577,358.062,111.619,355.625,114.165z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.971,406.804c0,10.202,3.543,18.838,10.63,25.925c7.093,7.087,15.729,10.63,25.924,10.63h24.596l0.337,75.454 c0,9.528,3.323,17.619,9.969,24.266s14.627,9.97,23.929,9.97c9.523,0,17.613-3.323,24.26-9.97s9.97-14.737,9.97-24.266v-75.447 h45.864v75.447c0,9.528,3.322,17.619,9.969,24.266s14.73,9.97,24.26,9.97c9.523,0,17.613-3.323,24.26-9.97 s9.969-14.737,9.969-24.266v-75.447h24.928c9.969,0,18.494-3.544,25.594-10.631c7.086-7.087,10.631-15.723,10.631-25.924V185.45 H123.971V406.804z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M476.275,179.141c-9.309,0-17.283,3.274-23.93,9.804c-6.646,6.542-9.969,14.578-9.969,24.094v142.914 c0,9.541,3.322,17.619,9.969,24.266s14.627,9.97,23.93,9.97c9.523,0,17.613-3.323,24.26-9.97s9.969-14.725,9.969-24.266V213.039 c0-9.517-3.322-17.552-9.969-24.094C493.888,182.415,485.798,179.141,476.275,179.141z\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAndroidLogo);\nexport default __webpack_public_path__ + \"static/media/android-logo.c2bd891a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppCustomers(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15,\n height: 11.032,\n viewBox: \"0 0 15 11.032\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_group_24px\",\n d: \"M11.227,9.728a2.214,2.214,0,0,0,2.039-2.364A2.214,2.214,0,0,0,11.227,5,2.219,2.219,0,0,0,9.182,7.364,2.219,2.219,0,0,0,11.227,9.728Zm-5.455,0A2.214,2.214,0,0,0,7.811,7.364,2.214,2.214,0,0,0,5.773,5,2.219,2.219,0,0,0,3.727,7.364,2.219,2.219,0,0,0,5.773,9.728Zm0,1.576C4.184,11.3,1,12.226,1,14.062v1.97h9.545v-1.97C10.545,12.226,7.361,11.3,5.773,11.3Zm5.455,0c-.2,0-.423.016-.661.039a3.46,3.46,0,0,1,1.343,2.719v1.97H16v-1.97C16,12.226,12.816,11.3,11.227,11.3Z\",\n transform: \"translate(-1 -5)\",\n fill: \"#dfdfe3\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppCustomers);\nexport default __webpack_public_path__ + \"static/media/app-customers.c15f0831.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from \"react\";\r\n\r\nexport default function AppReg(props: { percentage?: number }) {\r\n const percentage = props.percentage === undefined ? 1 : props.percentage;\r\n if (percentage > 1) {\r\n throw new Error(\"percentage should be less than 1!\");\r\n }\r\n\r\n const totalLength = 2 * 32 * Math.PI;\r\n const fullLength = Math.ceil(totalLength * percentage);\r\n const [stroke, setStroke] = useState(`0 2000`);\r\n\r\n useEffect(() => {\r\n const dashes = [fullLength, 2000].join(\" \");\r\n setStroke(dashes);\r\n }, [fullLength]);\r\n\r\n return (\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","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppDownloads(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_308\",\n \"data-name\": \"Group 308\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#4ad991\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_system_update_24px\",\n d: \"M21.2,1.013,7.7,1A2.708,2.708,0,0,0,5,3.7V28a2.708,2.708,0,0,0,2.7,2.7H21.2A2.708,2.708,0,0,0,23.9,28V3.7A2.7,2.7,0,0,0,21.2,1.013Zm0,24.286H7.7V6.4H21.2Zm-1.35-8.1H15.8V10.45H13.1V17.2H9.05l5.4,5.4Z\",\n transform: \"translate(130.012 219.095)\",\n fill: \"#4ad991\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppDownloads);\nexport default __webpack_public_path__ + \"static/media/app-downloads.dd100a3e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"livetype\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 119.66407,\n height: 40,\n viewBox: \"0 0 119.66407 40\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.13477,0H9.53468c-.3667,0-.729,0-1.09473.002-.30615.002-.60986.00781-.91895.0127A13.21476,13.21476,0,0,0,5.5171.19141a6.66509,6.66509,0,0,0-1.90088.627A6.43779,6.43779,0,0,0,1.99757,1.99707,6.25844,6.25844,0,0,0,.81935,3.61816a6.60119,6.60119,0,0,0-.625,1.90332,12.993,12.993,0,0,0-.1792,2.002C.00587,7.83008.00489,8.1377,0,8.44434V31.5586c.00489.3105.00587.6113.01515.9219a12.99232,12.99232,0,0,0,.1792,2.0019,6.58756,6.58756,0,0,0,.625,1.9043A6.20778,6.20778,0,0,0,1.99757,38.001a6.27445,6.27445,0,0,0,1.61865,1.1787,6.70082,6.70082,0,0,0,1.90088.6308,13.45514,13.45514,0,0,0,2.0039.1768c.30909.0068.6128.0107.91895.0107C8.80567,40,9.168,40,9.53468,40H110.13477c.3594,0,.7246,0,1.084-.002.3047,0,.6172-.0039.9219-.0107a13.279,13.279,0,0,0,2-.1768,6.80432,6.80432,0,0,0,1.9082-.6308,6.27742,6.27742,0,0,0,1.6172-1.1787,6.39482,6.39482,0,0,0,1.1816-1.6143,6.60413,6.60413,0,0,0,.6191-1.9043,13.50643,13.50643,0,0,0,.1856-2.0019c.0039-.3106.0039-.6114.0039-.9219.0078-.3633.0078-.7246.0078-1.0938V9.53613c0-.36621,0-.72949-.0078-1.09179,0-.30664,0-.61426-.0039-.9209a13.5071,13.5071,0,0,0-.1856-2.002,6.6177,6.6177,0,0,0-.6191-1.90332,6.46619,6.46619,0,0,0-2.7988-2.7998,6.76754,6.76754,0,0,0-1.9082-.627,13.04394,13.04394,0,0,0-2-.17676c-.3047-.00488-.6172-.01074-.9219-.01269-.3594-.002-.7246-.002-1.084-.002Z\",\n style: {\n fill: \"#a6a6a6\"\n }\n }), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.44483,39.125c-.30468,0-.602-.0039-.90429-.0107a12.68714,12.68714,0,0,1-1.86914-.1631,5.88381,5.88381,0,0,1-1.65674-.5479,5.40573,5.40573,0,0,1-1.397-1.0166,5.32082,5.32082,0,0,1-1.02051-1.3965,5.72186,5.72186,0,0,1-.543-1.6572,12.41351,12.41351,0,0,1-.1665-1.875c-.00634-.2109-.01464-.9131-.01464-.9131V8.44434S.88185,7.75293.8877,7.5498a12.37039,12.37039,0,0,1,.16553-1.87207,5.7555,5.7555,0,0,1,.54346-1.6621A5.37349,5.37349,0,0,1,2.61183,2.61768,5.56543,5.56543,0,0,1,4.01417,1.59521a5.82309,5.82309,0,0,1,1.65332-.54394A12.58589,12.58589,0,0,1,7.543.88721L8.44532.875H111.21387l.9131.0127a12.38493,12.38493,0,0,1,1.8584.16259,5.93833,5.93833,0,0,1,1.6709.54785,5.59374,5.59374,0,0,1,2.415,2.41993,5.76267,5.76267,0,0,1,.5352,1.64892,12.995,12.995,0,0,1,.1738,1.88721c.0029.2832.0029.5874.0029.89014.0079.375.0079.73193.0079,1.09179V30.4648c0,.3633,0,.7178-.0079,1.0752,0,.3252,0,.6231-.0039.9297a12.73126,12.73126,0,0,1-.1709,1.8535,5.739,5.739,0,0,1-.54,1.67,5.48029,5.48029,0,0,1-1.0156,1.3857,5.4129,5.4129,0,0,1-1.3994,1.0225,5.86168,5.86168,0,0,1-1.668.5498,12.54218,12.54218,0,0,1-1.8692.1631c-.2929.0068-.5996.0107-.8974.0107l-1.084.002Z\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_2\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_3\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"_Path_\",\n \"data-name\": \"\",\n d: \"M24.76888,20.30068a4.94881,4.94881,0,0,1,2.35656-4.15206,5.06566,5.06566,0,0,0-3.99116-2.15768c-1.67924-.17626-3.30719,1.00483-4.1629,1.00483-.87227,0-2.18977-.98733-3.6085-.95814a5.31529,5.31529,0,0,0-4.47292,2.72787c-1.934,3.34842-.49141,8.26947,1.3612,10.97608.9269,1.32535,2.01018,2.8058,3.42763,2.7533,1.38706-.05753,1.9051-.88448,3.5794-.88448,1.65876,0,2.14479.88448,3.591.8511,1.48838-.02416,2.42613-1.33124,3.32051-2.66914a10.962,10.962,0,0,0,1.51842-3.09251A4.78205,4.78205,0,0,1,24.76888,20.30068Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"_Path_2\",\n \"data-name\": \"\",\n d: \"M22.03725,12.21089a4.87248,4.87248,0,0,0,1.11452-3.49062,4.95746,4.95746,0,0,0-3.20758,1.65961,4.63634,4.63634,0,0,0-1.14371,3.36139A4.09905,4.09905,0,0,0,22.03725,12.21089Z\",\n style: {\n fill: \"#fff\"\n }\n }))), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.30227,27.13965h-4.7334l-1.13672,3.35645H34.42727l4.4834-12.418h2.083l4.4834,12.418H43.438ZM38.0591,25.59082h3.752l-1.84961-5.44727h-.05176Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.15969,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H48.4302v1.50586h.03418a3.21162,3.21162,0,0,1,2.88281-1.60059C53.645,21.34766,55.15969,23.16406,55.15969,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C52.30227,29.01563,53.24953,27.81934,53.24953,25.96973Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.12453,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H58.395v1.50586h.03418A3.21162,3.21162,0,0,1,61.312,21.34766C63.60988,21.34766,65.12453,23.16406,65.12453,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C62.26711,29.01563,63.21438,27.81934,63.21438,25.96973Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.71047,27.03613c.1377,1.23145,1.334,2.04,2.96875,2.04,1.56641,0,2.69336-.80859,2.69336-1.91895,0-.96387-.67969-1.541-2.28906-1.93652l-1.60937-.3877c-2.28027-.55078-3.33887-1.61719-3.33887-3.34766,0-2.14258,1.86719-3.61426,4.51855-3.61426,2.624,0,4.42285,1.47168,4.4834,3.61426h-1.876c-.1123-1.23926-1.13672-1.9873-2.63379-1.9873s-2.52148.75684-2.52148,1.8584c0,.87793.6543,1.39453,2.25488,1.79l1.36816.33594c2.54785.60254,3.60645,1.626,3.60645,3.44238,0,2.32324-1.85059,3.77832-4.79395,3.77832-2.75391,0-4.61328-1.4209-4.7334-3.667Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.34621,19.2998v2.14258h1.72168v1.47168H83.34621v4.99121c0,.77539.34473,1.13672,1.10156,1.13672a5.80752,5.80752,0,0,0,.61133-.043v1.46289a5.10351,5.10351,0,0,1-1.03223.08594c-1.833,0-2.54785-.68848-2.54785-2.44434V22.91406H80.16262V21.44238H81.479V19.2998Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.065,25.96973c0-2.84863,1.67773-4.63867,4.29395-4.63867,2.625,0,4.29492,1.79,4.29492,4.63867,0,2.85645-1.66113,4.63867-4.29492,4.63867C87.72609,30.6084,86.065,28.82617,86.065,25.96973Zm6.69531,0c0-1.9541-.89551-3.10742-2.40137-3.10742s-2.40039,1.16211-2.40039,3.10742c0,1.96191.89453,3.10645,2.40039,3.10645S92.76027,27.93164,92.76027,25.96973Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.18606,21.44238h1.77246v1.541h.043a2.1594,2.1594,0,0,1,2.17773-1.63574,2.86616,2.86616,0,0,1,.63672.06934v1.73828a2.59794,2.59794,0,0,0-.835-.1123,1.87264,1.87264,0,0,0-1.93652,2.083v5.37012h-1.8584Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.3843,27.83691c-.25,1.64355-1.85059,2.77148-3.89844,2.77148-2.63379,0-4.26855-1.76465-4.26855-4.5957,0-2.83984,1.64355-4.68164,4.19043-4.68164,2.50488,0,4.08008,1.7207,4.08008,4.46582v.63672h-6.39453v.1123a2.358,2.358,0,0,0,2.43555,2.56445,2.04834,2.04834,0,0,0,2.09082-1.27344Zm-6.28223-2.70215h4.52637a2.1773,2.1773,0,0,0-2.2207-2.29785A2.292,2.292,0,0,0,103.10207,25.13477Z\",\n style: {\n fill: \"#fff\"\n }\n })))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_4\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.82619,8.731a2.63964,2.63964,0,0,1,2.80762,2.96484c0,1.90625-1.03027,3.002-2.80762,3.002H35.67092V8.731Zm-1.22852,5.123h1.125a1.87588,1.87588,0,0,0,1.96777-2.146,1.881,1.881,0,0,0-1.96777-2.13379h-1.125Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.68068,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C44.57522,13.99463,45.01369,13.42432,45.01369,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.57326,14.69775h-.92187l-.93066-3.31641h-.07031l-.92676,3.31641h-.91309l-1.24121-4.50293h.90137l.80664,3.436h.06641l.92578-3.436h.85254l.92578,3.436h.07031l.80273-3.436h.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.85354,10.19482H54.709v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915h-.88867V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.09377,8.437h.88867v6.26074h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.21779,12.44434a2.13346,2.13346,0,1,1,4.24756,0,2.1338,2.1338,0,1,1-4.24756,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C64.11232,13.99463,64.5508,13.42432,64.5508,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.4009,13.42432c0-.81055.60352-1.27783,1.6748-1.34424l1.21973-.07031v-.38867c0-.47559-.31445-.74414-.92187-.74414-.49609,0-.83984.18213-.93848.50049h-.86035c.09082-.77344.81836-1.26953,1.83984-1.26953,1.12891,0,1.76563.562,1.76563,1.51318v3.07666h-.85547v-.63281h-.07031a1.515,1.515,0,0,1-1.35254.707A1.36026,1.36026,0,0,1,66.4009,13.42432Zm2.89453-.38477v-.37646l-1.09961.07031c-.62012.0415-.90137.25244-.90137.64941,0,.40527.35156.64111.835.64111A1.0615,1.0615,0,0,0,69.29543,13.03955Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.34816,12.44434c0-1.42285.73145-2.32422,1.86914-2.32422a1.484,1.484,0,0,1,1.38086.79h.06641V8.437h.88867v6.26074h-.85156v-.71143h-.07031a1.56284,1.56284,0,0,1-1.41406.78564C72.0718,14.772,71.34816,13.87061,71.34816,12.44434Zm.918,0c0,.95508.4502,1.52979,1.20313,1.52979.749,0,1.21191-.583,1.21191-1.52588,0-.93848-.46777-1.52979-1.21191-1.52979C72.72121,10.91846,72.26613,11.49707,72.26613,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.23,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C82.12453,13.99463,82.563,13.42432,82.563,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.66945,10.19482h.85547v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915H87.605V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.51516,9.07373v1.1416h.97559v.74854h-.97559V13.2793c0,.47168.19434.67822.63672.67822a2.96657,2.96657,0,0,0,.33887-.02051v.74023a2.9155,2.9155,0,0,1-.4834.04541c-.98828,0-1.38184-.34766-1.38184-1.21582v-2.543h-.71484v-.74854h.71484V9.07373Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.70461,8.437h.88086v2.48145h.07031a1.3856,1.3856,0,0,1,1.373-.80664,1.48339,1.48339,0,0,1,1.55078,1.67871v2.90723H98.69v-2.688c0-.71924-.335-1.0835-.96289-1.0835a1.05194,1.05194,0,0,0-1.13379,1.1416v2.62988h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.76125,13.48193a1.828,1.828,0,0,1-1.95117,1.30273A2.04531,2.04531,0,0,1,100.73,12.46045a2.07685,2.07685,0,0,1,2.07617-2.35254c1.25293,0,2.00879.856,2.00879,2.27V12.688h-3.17969v.0498a1.1902,1.1902,0,0,0,1.19922,1.29,1.07934,1.07934,0,0,0,1.07129-.5459Zm-3.126-1.45117h2.27441a1.08647,1.08647,0,0,0-1.1084-1.1665A1.15162,1.15162,0,0,0,101.63527,12.03076Z\",\n style: {\n fill: \"#fff\"\n }\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppStore);\nexport default __webpack_public_path__ + \"static/media/app-store.e250c68b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppleLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"katman_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"20px\",\n height: \"20px\",\n fill: \"#ffffff\",\n viewBox: \"0 0 3306.7 2602.7\",\n style: {\n enableBackground: \"new 0 0 3306.7 2602.7\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2239.7,1368.5c3,325.1,285.2,433.3,288.3,434.7c-2.4,7.6-45.1,154.2-148.7,305.6c-89.5,130.9-182.5,261.3-328.9,264 c-143.9,2.7-190.1-85.3-354.6-85.3c-164.4,0-215.8,82.6-352,88c-141.3,5.4-248.9-141.5-339.2-271.9 C820.2,1836.7,679.2,1349.8,868.5,1021c94-163.2,262.1-266.6,444.5-269.3c138.8-2.6,269.7,93.4,354.6,93.4 c84.8,0,243.9-115.5,411.3-98.5c70,2.9,266.7,28.3,392.9,213.1C2461.7,966,2237.2,1096.7,2239.7,1368.5 M1969.3,570.2 c75-90.8,125.5-217.2,111.7-343c-108.1,4.3-238.9,72.1-316.5,162.8c-69.5,80.4-130.4,209-114,332.3 C1771.1,731.6,1894.3,661,1969.3,570.2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppleLogo);\nexport default __webpack_public_path__ + \"static/media/apple-logo.6d75431d.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAvatarPlaceholder(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 7.442 6.78 C 9.121 6.659 10.381 5.282 10.262 3.697 C 10.381 2.116 9.123 0.739 7.444 0.617 C 5.762 0.736 4.499 2.114 4.614 3.697 C 4.499 5.284 5.762 6.66 7.444 6.78 L 7.442 6.78 Z M 7.442 8.833 C 5.246 8.827 0.843 10.035 0.843 12.428 L 0.843 14.996 L 14.043 14.996 L 14.043 12.428 C 14.043 10.035 9.639 8.827 7.444 8.827 L 7.442 8.833 Z\",\n fill: \"#000000\",\n style: {}\n }));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAvatarPlaceholder);\nexport default __webpack_public_path__ + \"static/media/avatar-placeholder.2eecf61c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAvgVisitDuration(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 23,\n height: 23,\n viewBox: \"0 0 23 23\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_timelapse_24px\",\n d: \"M18.376,8.624A6.87,6.87,0,0,0,13.5,6.6v6.9L8.624,18.376a6.9,6.9,0,1,0,9.752-9.752ZM13.5,2A11.5,11.5,0,1,0,25,13.5,11.5,11.5,0,0,0,13.5,2Zm0,20.7a9.2,9.2,0,1,1,9.2-9.2A9.2,9.2,0,0,1,13.5,22.7Z\",\n transform: \"translate(-2 -2)\",\n fill: \"#a3a6b4\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAvgVisitDuration);\nexport default __webpack_public_path__ + \"static/media/avg-visit-duration.ff10a0bd.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBeaconArea(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 18,\n height: 16,\n fill: \"#a5a4bf\",\n viewBox: \"0 0 59 59\",\n style: {\n enableBackground: \"new 0 0 59 59\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.407,1.707c0.391-0.391,0.391-1.023,0-1.414s-1.023-0.391-1.414,0c-11.307,11.307-11.307,29.705,0,41.012 C9.189,41.5,9.445,41.598,9.7,41.598s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414 C-0.12,29.363-0.12,12.234,10.407,1.707z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.005,0.293c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414c5.092,5.091,7.896,11.871,7.896,19.092 S53.683,34.8,48.591,39.891c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293 c5.47-5.469,8.481-12.751,8.481-20.506S55.475,5.762,50.005,0.293z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.651,5.949c0.391-0.391,0.391-1.023,0-1.414s-1.023-0.391-1.414,0c-8.968,8.968-8.968,23.56,0,32.527 c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414 C6.463,27.46,6.463,14.138,14.651,5.949z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.763,4.535c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414c8.188,8.188,8.188,21.511,0,29.699 c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293 C54.731,28.095,54.731,13.503,45.763,4.535z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.893,8.778c-0.391-0.391-1.023-0.391-1.414,0c-3.206,3.206-4.972,7.475-4.972,12.021s1.766,8.814,4.972,12.021 c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414 c-5.849-5.849-5.849-15.364,0-21.213C19.283,9.802,19.283,9.169,18.893,8.778z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.521,8.778c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414c5.849,5.849,5.849,15.364,0,21.213 c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293 c3.206-3.206,4.972-7.475,4.972-12.021S44.727,11.984,41.521,8.778z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.499,14c-3.859,0-7,3.141-7,7c0,3.519,2.614,6.432,6,6.92V58c0,0.553,0.447,1,1,1s1-0.447,1-1V27.92 c3.386-0.488,6-3.401,6-6.92C36.499,17.141,33.359,14,29.499,14z\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBeaconArea);\nexport default __webpack_public_path__ + \"static/media/beacon-area.c341550a.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBeaconTab2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 59 59\",\n style: {\n enableBackground: \"new 0 0 59 59\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.407,1.707c0.391-0.391,0.391-1.023,0-1.414s-1.023-0.391-1.414,0c-11.307,11.307-11.307,29.705,0,41.012 C9.189,41.5,9.445,41.598,9.7,41.598s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414 C-0.12,29.363-0.12,12.234,10.407,1.707z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.005,0.293c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414c5.092,5.091,7.896,11.871,7.896,19.092 S53.683,34.8,48.591,39.891c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293 c5.47-5.469,8.481-12.751,8.481-20.506S55.475,5.762,50.005,0.293z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.651,5.949c0.391-0.391,0.391-1.023,0-1.414s-1.023-0.391-1.414,0c-8.968,8.968-8.968,23.56,0,32.527 c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414 C6.463,27.46,6.463,14.138,14.651,5.949z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.763,4.535c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414c8.188,8.188,8.188,21.511,0,29.699 c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293 C54.731,28.095,54.731,13.503,45.763,4.535z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.893,8.778c-0.391-0.391-1.023-0.391-1.414,0c-3.206,3.206-4.972,7.475-4.972,12.021s1.766,8.814,4.972,12.021 c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414 c-5.849-5.849-5.849-15.364,0-21.213C19.283,9.802,19.283,9.169,18.893,8.778z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.521,8.778c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414c5.849,5.849,5.849,15.364,0,21.213 c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293 c3.206-3.206,4.972-7.475,4.972-12.021S44.727,11.984,41.521,8.778z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.499,14c-3.859,0-7,3.141-7,7c0,3.519,2.614,6.432,6,6.92V58c0,0.553,0.447,1,1,1s1-0.447,1-1V27.92 c3.386-0.488,6-3.401,6-6.92C36.499,17.141,33.359,14,29.499,14z\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBeaconTab2);\nexport default __webpack_public_path__ + \"static/media/beacon-tab2.dc1920c3.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBeaconsmind(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 201,\n height: 26,\n viewBox: \"0 0 201 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M152.774 5.58954C154.638 5.58954 155.829 4.5196 155.829 2.85526C155.953 1.2486 154.705 0.0283086 152.786 0.000336347C151.034 -0.0241394 149.615 1.29056 149.644 2.84302C149.672 4.43743 150.988 5.58954 152.774 5.58954ZM187.967 8.53166V9.46174L187.748 9.55614C186.425 8.14529 184.779 7.49319 182.871 7.43725C180.177 7.36032 177.861 8.16452 176.246 10.3918C174.094 13.3551 173.898 16.6384 175.12 19.9601C176.63 24.0772 180.567 25.7188 184.609 24.6804C185.478 24.457 186.275 23.9652 187.084 23.4663C187.459 23.235 187.837 23.0022 188.225 22.794V24.5335H193.33C193.372 24.4382 193.401 24.3385 193.419 24.2363C193.418 16.6605 193.424 9.08469 193.437 1.50888C193.437 0.989648 193.191 0.874261 192.729 0.874261C191.405 0.891744 190.077 0.903982 188.752 0.874261C188.114 0.858527 187.958 1.13301 187.958 1.71343C187.975 3.35914 187.972 5.00485 187.969 6.65056C187.968 7.27759 187.967 7.90463 187.967 8.53166ZM179.997 16.016C180.086 13.4268 181.688 11.6453 184.109 11.6453C186.48 11.6471 188.163 13.4862 188.17 16.0912C188.185 18.717 186.459 20.6052 184.075 20.6192C181.589 20.6331 179.912 18.4636 179.997 16.016ZM143.309 24.5403H148.655C148.683 24.4088 148.703 24.2757 148.715 24.1417C148.716 23.0978 148.723 22.0538 148.73 21.0098C148.749 18.3523 148.767 15.6949 148.683 13.0402C148.628 11.2518 148.064 9.52273 146.437 8.41783C143.773 6.60662 139.988 7.22551 137.866 9.78147L137.352 10.4021C136.418 8.27621 134.77 7.50523 132.6 7.42131C130.43 7.3374 128.865 8.35489 127.424 10.1189V7.77796H122.057V24.5123H127.392C127.401 24.4145 127.412 24.3237 127.421 24.2377C127.441 24.0671 127.458 23.9152 127.458 23.7641C127.457 22.9925 127.452 22.2209 127.446 21.4493L127.446 21.4458C127.433 19.5962 127.419 17.7465 127.476 15.8969C127.514 14.9189 127.727 13.9554 128.105 13.0507C128.529 12.0297 129.516 11.7151 130.604 11.8269C131.575 11.9266 132.165 12.4965 132.372 13.4091C132.526 14.0288 132.613 14.6629 132.632 15.3007C132.654 17.4224 132.651 19.545 132.649 21.6671V21.6672V21.6674V21.6675V21.6677V21.6678V21.668V21.6681V21.6683V21.6684C132.649 22.314 132.648 22.9596 132.648 23.605C132.649 23.8149 132.663 24.0256 132.677 24.2343L132.677 24.2346V24.235V24.2353V24.2356V24.2359V24.2362V24.2365V24.2368V24.237C132.683 24.3316 132.689 24.4258 132.694 24.5193H138.121C138.121 23.6754 138.117 22.8372 138.114 22.0028C138.105 19.8349 138.096 17.6934 138.149 15.5472C138.17 14.7081 138.453 13.8374 138.782 13.049C139.163 12.1381 140.208 11.7098 141.297 11.8252C142.183 11.9196 142.811 12.4843 143.049 13.5332C143.187 14.1281 143.26 14.7359 143.265 15.3462C143.273 17.1693 143.271 18.9917 143.268 20.8143V20.8145V20.8147V20.8149V20.8151V20.8152V20.8154V20.8156V20.8158V20.816V20.8238C143.266 21.7367 143.265 22.6498 143.265 23.563C143.265 23.7833 143.278 24.0062 143.292 24.2417L143.293 24.2449L143.293 24.2489L143.293 24.2537L143.293 24.2595L143.294 24.2621L143.294 24.2653C143.299 24.3549 143.305 24.4464 143.309 24.5403ZM5.7887 22.5355V24.588H0.635742V0.970691H6.05926V9.80992C7.51638 8.27319 9.11143 7.56164 11.0106 7.44101C15.4173 7.16479 18.7047 9.9253 19.4474 14.2995C19.962 17.3292 19.428 20.1544 17.3519 22.5355C16.7424 23.2495 15.9894 23.8303 15.1406 24.2412C14.2919 24.652 13.366 24.8838 12.4218 24.9219C9.7498 25.06 8.4536 24.8869 5.7887 22.5355ZM14.0115 16.0827C14.0115 14.2872 13.2812 12.8344 11.9461 12.1246C10.5314 11.3746 9.11673 11.4445 7.75864 12.2592C6.05396 13.2785 5.35015 16.0197 6.22902 18.0512C6.75952 19.275 7.58181 20.1352 8.92398 20.4708C11.7887 21.1894 14.199 19.004 14.0115 16.0827ZM71.5163 21.0158C73.389 23.9301 76.3103 24.9651 79.6967 25.014C79.9682 24.9844 80.241 24.9613 80.5138 24.9382L80.5139 24.9382C81.0602 24.8919 81.6063 24.8457 82.1406 24.7466C86.0309 23.9826 88.5915 21.1714 89.0265 17.229C89.4668 13.2377 87.5694 9.83387 84.0097 8.26043C82.1247 7.42301 80.1406 7.2814 78.1211 7.52266C70.0009 8.4912 68.6481 16.5559 71.5163 21.0158ZM78.5331 11.7902C78.9002 11.7033 79.2722 11.6385 79.6472 11.5961C82.183 11.6451 84.16 14.1801 83.6366 16.7867C83.2971 18.486 82.6216 19.9721 80.7277 20.4581C78.13 21.1242 75.9478 19.4581 75.6896 16.6504C75.4792 14.3496 76.6339 12.3601 78.5331 11.7902ZM156.956 7.7839H162.318V10.0776C162.487 9.94323 162.648 9.79904 162.8 9.6458C164.777 7.2297 168.636 6.66326 171.257 8.39929C172.793 9.41853 173.44 10.9832 173.49 12.6633C173.572 15.4522 173.556 18.2446 173.54 21.0638V21.065V21.068V21.0709V21.0739V21.0768V21.0798V21.0828V21.0857C173.534 22.2233 173.527 23.3652 173.527 24.513H168.206C168.206 24.1847 168.208 23.8594 168.209 23.536V23.5349V23.5338V23.5327V23.5317V23.5306V23.5296V23.5285C168.212 22.8901 168.216 22.2592 168.206 21.6284C168.194 20.9598 168.187 20.2908 168.18 19.6219C168.16 17.8191 168.14 16.0163 168.029 14.221C167.93 12.679 167.145 11.9325 165.939 11.8259C164.268 11.6773 163.191 12.2874 162.742 13.7839C162.499 14.5892 162.367 15.423 162.349 16.263C162.315 18.0046 162.322 19.7471 162.328 21.491C162.331 22.2539 162.334 23.0171 162.333 23.7805C162.333 23.9352 162.32 24.0891 162.304 24.2622L162.304 24.2629L162.304 24.2636L162.304 24.2645L162.304 24.2658C162.297 24.3478 162.289 24.4342 162.282 24.527H156.956V7.7839ZM89.831 23.5915V24.5286L95.3252 24.5303V23.5268C95.3248 22.8191 95.3221 22.1114 95.3195 21.4038V21.4025V21.4024V21.4023V21.4021V21.402V21.4019C95.3126 19.5456 95.3056 17.6896 95.3376 15.8344C95.3522 15.0841 95.484 14.3404 95.7284 13.6299C96.2077 12.2488 97.2793 11.6858 98.8708 11.8239C100.017 11.9271 100.715 12.6264 101.002 14.025C101.101 14.5689 101.147 15.121 101.14 15.6736V23.5408C101.14 23.7765 101.16 24.0131 101.18 24.2381C101.188 24.3302 101.195 24.4203 101.201 24.5076H106.443C106.443 23.335 106.45 22.169 106.456 21.008V21.007V21.0061V21.0051V21.0042V21.0032V21.0022V21.0017C106.473 18.1369 106.489 15.3021 106.404 12.4708C106.354 10.8519 105.652 9.34838 104.185 8.38859C101.619 6.71375 97.9565 7.20152 95.9017 9.46202C95.8126 9.5601 95.7136 9.64845 95.5808 9.76692C95.5029 9.8364 95.4135 9.91623 95.3076 10.0145V7.71201C94.849 7.71201 94.3961 7.71624 93.9475 7.72044C92.8978 7.73025 91.8711 7.73984 90.8478 7.69453C90.0149 7.65781 89.8133 7.94278 89.8133 8.73125C89.8387 12.4785 89.8358 16.2258 89.8329 19.9738V19.9741V19.9743V19.9745V19.9748V19.975V19.9752L89.8329 20.0039C89.8319 21.1997 89.831 22.3955 89.831 23.5915ZM49.5042 24.5087C49.4405 24.0174 49.3804 23.5436 49.3274 23.0804C49.0039 23.2605 48.6948 23.4563 48.3914 23.6484L48.3913 23.6485C47.7409 24.0603 47.1168 24.4555 46.4343 24.6451C43.8968 25.3444 41.4618 25.0821 39.5024 23.1101C37.2637 20.8601 37.8844 16.9807 40.6961 15.4964C42.0718 14.7674 43.582 14.5523 45.1169 14.4702C45.3558 14.4571 45.5947 14.443 45.8335 14.429C46.7121 14.3774 47.5911 14.3257 48.4768 14.3216C49.2213 14.3216 49.2991 13.9317 49.2053 13.3635C48.9967 12.1257 47.8384 11.1957 46.4184 11.124C44.2115 11.0156 43.5201 11.1712 40.3725 12.5103C39.9339 11.4736 39.4989 10.4369 39.1045 9.38795C39.0621 9.27257 39.2637 8.96312 39.4193 8.89669C42.8375 7.41941 46.3778 6.89492 50.0117 7.90542C52.9489 8.72186 54.4326 10.895 54.5811 13.7761C54.7044 16.2447 54.6764 18.72 54.6482 21.2229V21.2229V21.223V21.2231V21.2232V21.2232C54.6359 22.3115 54.6236 23.4049 54.6236 24.5052L49.5042 24.5087ZM46.8455 17.245L46.8454 17.245C46.1979 17.3344 45.5504 17.4238 44.9348 17.6153C44.1337 17.8653 43.681 18.5156 43.6704 19.4107C43.6598 20.3059 44.0878 20.9108 44.8517 21.2866C46.9737 22.3356 49.2619 20.9632 49.246 18.6642C49.2443 18.4343 49.2482 18.2388 49.2515 18.0725C49.2602 17.6303 49.2649 17.3953 49.15 17.27C49.0197 17.1278 48.7357 17.1266 48.1298 17.124H48.1296H48.1295H48.1293H48.1292C47.9969 17.1234 47.8493 17.1227 47.6846 17.1205C47.4067 17.1676 47.1262 17.2063 46.8457 17.245L46.8456 17.245L46.8456 17.245L46.8455 17.245L46.8455 17.245ZM30.1318 17.4145L30.1338 17.4145C30.732 17.4128 31.3302 17.411 31.9284 17.411V17.4093C32.5273 17.4093 33.1262 17.4081 33.7251 17.4069C34.9228 17.4046 36.1206 17.4023 37.3184 17.4093C37.7534 17.411 38.107 17.3498 38.0452 16.8096C37.995 16.3762 37.9638 15.9364 37.9326 15.4964C37.8605 14.4794 37.7884 13.4615 37.481 12.5194C36.3882 9.18719 32.9612 7.2134 29.0902 7.42144C26.8533 7.54033 24.779 8.1225 23.0902 9.626C20.7932 11.6767 20.0681 14.2869 20.367 17.2712C20.7507 21.1069 22.8763 23.7485 26.6411 24.6226C28.0452 24.9495 29.5606 24.974 31.0124 24.8971C33.1704 24.7801 35.2424 24.0221 36.9576 22.7223C37.329 22.446 37.4669 22.2048 37.1132 21.8009C36.6696 21.2942 36.2625 20.7573 35.8948 20.1943C35.5677 19.675 35.2759 19.6401 34.6835 19.8778C33.4687 20.3726 32.2078 20.8324 30.9276 21.0649C28.4872 21.4932 26.4289 20.2485 25.8984 18.2572C25.7357 17.6383 25.8701 17.4023 26.5385 17.411C27.7363 17.4215 28.934 17.418 30.1318 17.4145ZM29.8807 10.932C31.6667 11.0718 33.0779 12.6907 32.8321 14.4582C32.3547 14.4582 31.8802 14.4589 31.4077 14.4595C29.7044 14.4619 28.0281 14.4642 26.3475 14.4355C26.176 14.4337 25.8648 14.1051 25.8648 13.9302C25.8719 12.1225 27.718 10.7571 29.8807 10.932ZM69.5768 12.8398C69.1117 12.7194 68.6592 12.5872 68.2141 12.4571C67.2445 12.1738 66.3101 11.9008 65.3575 11.7821C64.3352 11.6592 63.3036 11.9222 62.4689 12.5185C61.6343 13.1149 61.058 14.0007 60.8553 14.9989C60.3831 17.4465 61.5007 19.6878 63.5821 20.3207C65.308 20.8451 66.9561 20.5217 68.5034 19.6388C68.8058 19.464 69.1011 19.2892 69.4972 19.0497C69.5997 19.3692 69.7031 19.684 69.8054 19.9957C70.1123 20.9307 70.4101 21.8377 70.6501 22.7595C70.6997 22.9535 70.3425 23.3434 70.086 23.5112C68.1621 24.763 66.0047 25.0095 63.7589 24.9448C59.6758 24.8294 56.4326 22.2455 55.5449 18.3434C54.1886 12.3713 58.323 7.3293 64.537 7.42021C66.4397 7.44469 68.2823 7.75238 69.9764 8.6947C70.4963 8.98491 70.6696 9.28561 70.4574 9.88702C70.197 10.6255 69.9863 11.3819 69.7963 12.0642L69.7961 12.0648L69.7957 12.0662C69.7201 12.3378 69.6477 12.5976 69.5768 12.8398ZM108.954 19.3534L106.998 22.4006C107.032 22.4356 107.063 22.4687 107.092 22.4999L107.092 22.4999C107.182 22.5963 107.256 22.675 107.343 22.7397C109.939 25.0737 115.502 25.703 118.572 24.0247C119.229 23.6779 119.803 23.1954 120.255 22.6099C120.707 22.0244 121.026 21.3497 121.191 20.6315C121.356 19.9133 121.363 19.1685 121.211 18.4475C121.059 17.7265 120.752 17.0463 120.31 16.453C119.547 15.4085 118.402 14.9865 117.264 14.5668C117.194 14.5412 117.124 14.5155 117.055 14.4897C116.542 14.2949 116.02 14.1279 115.498 13.9611L115.498 13.9611C114.933 13.7805 114.368 13.6001 113.817 13.3848C113.242 13.1592 112.671 12.7764 112.82 12.0246C112.975 11.2432 113.633 10.9407 114.34 10.9757C115.243 11.0122 116.137 11.1572 117.003 11.4075C117.534 11.5654 118.032 11.8305 118.542 12.1025C118.766 12.222 118.993 12.3428 119.226 12.4564C119.35 12.2387 119.474 12.0226 119.598 11.8075L119.599 11.8056L119.599 11.8053C119.976 11.1509 120.347 10.5054 120.68 9.84804C120.715 9.72849 120.72 9.60224 120.694 9.48034C120.669 9.35843 120.613 9.24458 120.533 9.14873C118.146 7.07879 112.818 6.79906 110.188 8.57705C107.709 10.2519 107.209 13.8953 109.331 15.967C109.961 16.5823 110.871 16.9437 111.751 17.2939C111.974 17.3825 112.195 17.4703 112.409 17.5614C112.925 17.7799 113.462 17.948 114 18.1161C114.473 18.2641 114.946 18.4121 115.405 18.5946C116.003 18.8306 116.66 19.189 116.519 19.974C116.388 20.6908 115.826 21.0544 115.083 21.1978C113.677 21.4687 112.392 21.0789 111.154 20.5212C110.651 20.2964 110.169 20.0271 109.671 19.7485C109.437 19.6176 109.199 19.4847 108.954 19.3534ZM155.422 7.71523V24.579C155.081 24.579 154.741 24.5798 154.402 24.5806H154.402C153.082 24.5837 151.78 24.5868 150.48 24.5423C150.337 24.5423 150.1 24.0318 150.096 23.7556C150.055 21.1977 150.05 18.6399 150.045 16.0838V16.083V16.0789C150.045 15.2548 150.048 14.4308 150.051 13.6068V13.6036C150.057 11.9568 150.064 10.3103 150.045 8.66454C150.036 7.96523 150.195 7.67153 150.964 7.6995C151.989 7.73649 153.021 7.72913 154.079 7.72158C154.522 7.71842 154.969 7.71523 155.422 7.71523Z\",\n fill: \"#4AA1D6\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M199.015 2.97194C199.015 3.93748 198.232 4.72021 197.266 4.72021C196.301 4.72021 195.518 3.93748 195.518 2.97194C195.518 2.0064 196.301 1.22368 197.266 1.22368C198.232 1.22368 199.015 2.0064 199.015 2.97194ZM199.364 2.97194C199.364 4.13059 198.425 5.06986 197.266 5.06986C196.108 5.06986 195.168 4.13059 195.168 2.97194C195.168 1.81329 196.108 0.874023 197.266 0.874023C198.425 0.874023 199.364 1.81329 199.364 2.97194ZM197.325 1.79317H196.55V4.02116H196.947V3.07709H197.236L197.752 4.02116H198.231L197.636 3.03304C197.793 2.99737 197.917 2.92919 198.007 2.82849C198.1 2.72569 198.146 2.59352 198.146 2.43198C198.146 2.3145 198.123 2.21485 198.077 2.13303C198.03 2.05121 197.969 1.98513 197.891 1.93478C197.815 1.88443 197.728 1.84876 197.63 1.82778C197.531 1.80471 197.429 1.79317 197.325 1.79317ZM197.441 2.74038C197.384 2.74877 197.328 2.75297 197.271 2.75297H196.947V2.12674H197.306C197.356 2.12674 197.407 2.13093 197.46 2.13932C197.514 2.14772 197.563 2.16345 197.605 2.18653C197.647 2.20961 197.681 2.24107 197.708 2.28093C197.736 2.3187 197.749 2.368 197.749 2.42884C197.749 2.49597 197.735 2.55157 197.705 2.59562C197.676 2.63758 197.638 2.6701 197.592 2.69318C197.548 2.71625 197.498 2.73199 197.441 2.74038Z\",\n fill: \"#4AA1D6\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBeaconsmind);\nexport default __webpack_public_path__ + \"static/media/beaconsmind.09f8e877.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBlogPost(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"disorder-list\",\n fill: \"#a5a4bf\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 16,\n viewBox: \"0 0 41 45\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M37 45H4a4 4 0 01-4-4V4a4 4 0 014-4h33a4 4 0 014 4v37a4 4 0 01-4 4zM4 2a2 2 0 00-2 2v37a2 2 0 002 2h33a2 2 0 002-2V4a2 2 0 00-2-2z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M18 18H8a1 1 0 01-1-1V7a1 1 0 011-1h10a1 1 0 011 1v10a1 1 0 01-1 1zm-9-2h8V8H9zM33 9H23a1 1 0 010-2h10a1 1 0 010 2zM33 13H23a1 1 0 010-2h10a1 1 0 010 2zM33 17H23a1 1 0 010-2h10a1 1 0 010 2zM31 24H10a1 1 0 010-2h21a1 1 0 010 2zM31 29H10a1 1 0 010-2h21a1 1 0 010 2zM31 34H10a1 1 0 010-2h21a1 1 0 010 2zM31 39H10a1 1 0 010-2h21a1 1 0 010 2z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBlogPost);\nexport default __webpack_public_path__ + \"static/media/blog-post.4d3222b4.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBluetoothEnabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 333334 333334\",\n shapeRendering: \"geometricPrecision\",\n textRendering: \"geometricPrecision\",\n imageRendering: \"optimizeQuality\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#549dba\",\n d: \"M153552 133653V75938l69486 54894-38079 34878 38079 35856-70083 55219 651-60916-29508 28858-13344-12693 42798-39978v-14266l-42526-39652 13343-13615 29183 29183v-54zM166667 0c46023 0 87690 18656 117850 48817 30161 30160 48817 71828 48817 117850 0 46023-18656 87690-48817 117850-30160 30161-71828 48817-117850 48817-46023 0-87690-18656-117850-48817C18656 254357 0 212689 0 166667c0-46023 18656-87690 48817-117850C78977 18656 120645 0 166667 0zm100919 65748c-25826-25826-61507-41802-100919-41802S91574 39921 65748 65748c-25826 25826-41802 61507-41802 100919s15975 75093 41802 100919c25826 25826 61507 41802 100919 41802s75093-15975 100919-41802c25826-25826 41802-61507 41802-100919s-15975-75093-41802-100919zm-95374 48812l19690 16544-19690 15839v-32383zm0 70733l19690 16544-19690 15839v-32383z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBluetoothEnabled);\nexport default __webpack_public_path__ + \"static/media/bluetooth-enabled.b7949f62.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBounceRate(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 26,\n height: 16.25,\n viewBox: \"0 0 26 16.25\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_reply_all_24px\",\n d: \"M7.583,8.25V5L0,12.583l7.583,7.583v-3.25L3.25,12.583Zm6.5,1.083V5L6.5,12.583l7.583,7.583V15.725c5.417,0,9.208,1.733,11.917,5.525C24.917,15.833,21.667,10.417,14.083,9.333Z\",\n transform: \"translate(0 -5)\",\n fill: \"#a3a6b4\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBounceRate);\nexport default __webpack_public_path__ + \"static/media/bounce-rate.b2bf2292.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendarWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_250\",\n \"data-name\": \"Group 250\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-paths\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 16,\n height: 16,\n fill: \"none\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon_calendar\",\n clipPath: \"url(#clip-paths)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_557\",\n \"data-name\": \"Rectangle 557\",\n width: 16,\n height: 16,\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_149\",\n \"data-name\": \"Path 149\",\n d: \"M2,5v9H14V5ZM13,2h2a.945.945,0,0,1,1,1V15a.945.945,0,0,1-1,1H1a.945.945,0,0,1-1-1V3A.945.945,0,0,1,1,2H3V1A.945.945,0,0,1,4,0,.945.945,0,0,1,5,1V2h6V1a1,1,0,0,1,2,0ZM12,12H10V10h2ZM9,12H7V10H9Zm3-3H10V7h2ZM9,9H7V7H9ZM6,12H4V10H6Z\",\n fill: \"#ffffff\",\n fillRule: \"evenodd\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarWhite);\nexport default __webpack_public_path__ + \"static/media/calendar-white.b46875c5.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_250\",\n \"data-name\": \"Group 250\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-paths\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 16,\n height: 16,\n fill: \"none\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon_calendar\",\n clipPath: \"url(#clip-paths)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_557\",\n \"data-name\": \"Rectangle 557\",\n width: 16,\n height: 16,\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_149\",\n \"data-name\": \"Path 149\",\n d: \"M2,5v9H14V5ZM13,2h2a.945.945,0,0,1,1,1V15a.945.945,0,0,1-1,1H1a.945.945,0,0,1-1-1V3A.945.945,0,0,1,1,2H3V1A.945.945,0,0,1,4,0,.945.945,0,0,1,5,1V2h6V1a1,1,0,0,1,2,0ZM12,12H10V10h2ZM9,12H7V10H9Zm3-3H10V7h2ZM9,9H7V7H9ZM6,12H4V10H6Z\",\n fill: \"#a5a4bf\",\n fillRule: \"evenodd\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendar);\nexport default __webpack_public_path__ + \"static/media/calendar.8c139850.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCampaigns(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n viewBox: \"0 0 20 13\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000000\",\n d: \"M19.182 3H2.818A1.824 1.824 0 0 0 1 4.818v10.909a1.824 1.824 0 0 0 1.818 1.818h4.546v1.818h7.273v-1.818h4.545a1.816 1.816 0 0 0 1.809-1.818L21 4.818A1.824 1.824 0 0 0 19.182 3zm0 12.727H2.818V4.818h16.364zm-1.818-8.182h-10v1.819h10zm0 3.636h-10V13h10zM6.455 7.545H4.636v1.819h1.819zm0 3.636H4.636V13h1.819z\",\n transform: \"translate(-1 -3)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCampaigns);\nexport default __webpack_public_path__ + \"static/media/campaigns.a75e867c.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCategories(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 18,\n height: 16,\n fill: \"#a5a4bf\",\n viewBox: \"0 0 256 256\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(128 128) scale(0.65 0.65)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n stroke: \"none\",\n strokeWidth: 0,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10\n },\n transform: \"translate(-175.05 -175.05000000000004) scale(3.89 3.89)\"\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 33.189 42.211 H 9.022 C 4.047 42.211 0 38.164 0 33.189 V 9.022 C 0 4.047 4.047 0 9.022 0 h 24.167 c 4.975 0 9.022 4.047 9.022 9.022 v 24.167 C 42.211 38.164 38.164 42.211 33.189 42.211 z M 9.022 8 C 8.458 8 8 8.458 8 9.022 v 24.167 c 0 0.563 0.458 1.022 1.022 1.022 h 24.167 c 0.563 0 1.022 -0.458 1.022 -1.022 V 9.022 C 34.211 8.458 33.752 8 33.189 8 H 9.022 z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 80.979 42.211 H 56.811 c -4.975 0 -9.021 -4.047 -9.021 -9.022 V 9.022 C 47.789 4.047 51.836 0 56.811 0 h 24.168 C 85.953 0 90 4.047 90 9.022 v 24.167 C 90 38.164 85.953 42.211 80.979 42.211 z M 56.811 8 c -0.563 0 -1.021 0.458 -1.021 1.022 v 24.167 c 0 0.563 0.458 1.022 1.021 1.022 h 24.168 c 0.563 0 1.021 -0.458 1.021 -1.022 V 9.022 C 82 8.458 81.542 8 80.979 8 H 56.811 z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 33.189 90 H 9.022 C 4.047 90 0 85.953 0 80.979 V 56.811 c 0 -4.975 4.047 -9.021 9.022 -9.021 h 24.167 c 4.975 0 9.022 4.047 9.022 9.021 v 24.168 C 42.211 85.953 38.164 90 33.189 90 z M 9.022 55.789 C 8.458 55.789 8 56.247 8 56.811 v 24.168 C 8 81.542 8.458 82 9.022 82 h 24.167 c 0.563 0 1.022 -0.458 1.022 -1.021 V 56.811 c 0 -0.563 -0.458 -1.021 -1.022 -1.021 H 9.022 z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 80.979 90 H 56.811 c -4.975 0 -9.021 -4.047 -9.021 -9.021 V 56.811 c 0 -4.975 4.047 -9.021 9.021 -9.021 h 24.168 c 4.975 0 9.021 4.047 9.021 9.021 v 24.168 C 90 85.953 85.953 90 80.979 90 z M 56.811 55.789 c -0.563 0 -1.021 0.458 -1.021 1.021 v 24.168 c 0 0.563 0.458 1.021 1.021 1.021 h 24.168 C 81.542 82 82 81.542 82 80.979 V 56.811 c 0 -0.563 -0.458 -1.021 -1.021 -1.021 H 56.811 z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCategories);\nexport default __webpack_public_path__ + \"static/media/categories.8bb1ddd7.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgChangeLog(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n shapeRendering: \"geometricPrecision\",\n textRendering: \"geometricPrecision\",\n imageRendering: \"optimizeQuality\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n viewBox: \"0 0 323 512.53\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"nonzero\",\n d: \"M71.94 168.03l139.24.02c12-.05 11.88 19.83 0 19.83H71.94c-12.02 0-11.89-19.85 0-19.85zm102.75 322.39c7.81-1.03 13.98 6.6 11.33 14.02-1.38 3.76-4.59 6.41-8.57 6.94-9.19 1.17-18.43 1.45-27.68.83-34.03-2.29-64.64-17.04-87.33-39.73-24.73-24.73-40.04-58.9-40.04-96.66 0-37.73 15.31-71.91 40.04-96.65 24.74-24.73 58.92-40.04 96.66-40.04 13.09 0 25.83 1.88 38 5.4 10.09 2.91 19.68 6.95 28.64 11.95l-2.7-7.04c-2.25-5.91.72-12.52 6.63-14.78 5.9-2.25 12.53.71 14.77 6.63l11.39 29.79c.44 1.17.68 2.37.74 3.54.9 5.56-2.43 11.06-7.96 12.74l-30.5 9.33c-6.04 1.83-12.42-1.58-14.25-7.61-1.82-6.03 1.59-12.41 7.62-14.24l2.51-.77c-7.17-3.89-14.79-7.02-22.75-9.32-10.11-2.92-20.89-4.48-32.14-4.48-31.91 0-60.81 12.93-81.72 33.84-20.92 20.91-33.85 49.81-33.85 81.71 0 31.92 12.93 60.81 33.85 81.73 18.96 18.95 44.46 31.35 72.82 33.5 8.12.63 16.46.42 24.49-.63zm-36.51-170.19c0-5.83 4.72-10.57 10.56-10.57 5.84 0 10.55 4.74 10.55 10.57v64.31l44.02 19.34c5.33 2.35 7.75 8.58 5.41 13.91-2.35 5.33-8.57 7.75-13.91 5.41l-49.79-21.89c-4-1.5-6.84-5.37-6.84-9.89v-71.19zm73.32 158.9c-8.49 4.35-7.37 16.83 1.8 19.56 2.65.76 5.29.52 7.76-.71 6.81-3.43 13.36-7.45 19.49-11.99 3-2.23 4.55-5.75 4.23-9.47-.82-8.21-10.17-12.38-16.82-7.49a113.63 113.63 0 01-16.46 10.1zm43.09-37.86c-4.81 7.17.6 16.82 9.25 16.45 3.37-.19 6.39-1.84 8.3-4.67 4.27-6.35 7.97-13 11.14-19.97 3.05-6.87-1.71-14.58-9.24-14.91-4.32-.14-8.23 2.27-10.01 6.21-2.69 5.91-5.81 11.51-9.44 16.89zm19.42-54.18c-.38 4.15 1.62 8.04 5.21 10.14 6.74 3.84 15.04-.46 15.82-8.14.73-7.63.84-15.19.32-22.85-.26-3.67-2.4-6.91-5.65-8.62-7.33-3.8-16.01 1.88-15.43 10.11.44 6.49.34 12.88-.27 19.36zm-8.76-56.81c2.37 5.44 8.73 7.91 14.14 5.41 5.2-2.4 7.53-8.5 5.28-13.76a138.74 138.74 0 00-10.72-20.19c-5.18-7.96-17.37-5.64-19.25 3.67-.52 2.74-.03 5.41 1.49 7.77 3.5 5.46 6.53 11.13 9.06 17.1zM209.29 42.76l73.08 68.45h-73.08V42.76zM323 124.62c0-5.54-4.11-10.56-8.86-15.34L206.5 4.48C204.28 1.7 200.86 0 197.12 0H21.87C9.77 0 0 9.76 0 21.86v282.71c6.47-13.52 14.71-26.09 24.43-37.41V24.31h160.42v99.06c0 6.72 5.45 12.26 12.27 12.26h101.46v136.02c11.77 8.79 18.13 22.74 24.42 35.54V124.62zM71.94 97.91h66.28c12.01 0 11.86 19.83 0 19.83H71.94c-12.02 0-11.9-19.83 0-19.83z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChangeLog);\nexport default __webpack_public_path__ + \"static/media/change-log.a71dbd54.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClock(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n fill: \"#43425d\",\n height: \"20px\",\n width: \"20px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m256,51.8c-112.6,0-204.2,91.6-204.2,204.2s91.6,204.2 204.2,204.2 204.2-91.6 204.2-204.2-91.6-204.2-204.2-204.2v-1.42109e-14zm0,449.2c-135.1,0-245-109.9-245-245s109.9-245 245-245 245,109.9 245,245-109.9,245-245,245z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m344.1,276.4h-88.1c-11.3,0-20.4-9.1-20.4-20.4v-157.8c0-11.3 9.1-20.4 20.4-20.4 11.3,0 20.4,9.1 20.4,20.4v137.4h67.7c11.3,0 20.4,9.1 20.4,20.4 5.68434e-14,11.3-9.1,20.4-20.4,20.4z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClock);\nexport default __webpack_public_path__ + \"static/media/clock.262501fd.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgConversionStats(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n fill: \"#BE71A3\",\n width: 256,\n height: 256,\n viewBox: \"0 0 256 256\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#BE71A3\",\n transform: \"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 8.39 46.885 c 0.042 -0.014 0.085 -0.022 0.126 -0.039 c 0.09 -0.037 0.173 -0.087 0.255 -0.136 c 0.029 -0.017 0.061 -0.029 0.089 -0.048 c 0.109 -0.073 0.211 -0.156 0.304 -0.249 l 7.856 -7.856 c 0.781 -0.781 0.781 -2.047 0 -2.828 c -0.78 -0.781 -2.048 -0.781 -2.828 0 l -4.055 4.055 C 12.666 22.796 27.347 9.721 45.028 9.721 c 13.718 0 26.298 8.052 32.051 20.512 c 0.463 1.004 1.653 1.439 2.653 0.978 c 1.003 -0.463 1.44 -1.651 0.978 -2.654 C 74.306 14.684 60.301 5.721 45.028 5.721 c -19.516 0 -35.746 14.308 -38.768 32.985 l -2.55 -4.191 c -0.574 -0.943 -1.803 -1.244 -2.748 -0.669 c -0.944 0.574 -1.243 1.805 -0.669 2.748 L 6.04 46.04 c 0.007 0.012 0.018 0.021 0.026 0.033 c 0.061 0.096 0.132 0.185 0.209 0.269 c 0.019 0.02 0.033 0.044 0.053 0.064 c 0.098 0.099 0.207 0.187 0.324 0.265 c 0.031 0.021 0.066 0.035 0.098 0.053 c 0.089 0.052 0.181 0.1 0.278 0.138 c 0.046 0.018 0.094 0.029 0.141 0.044 c 0.089 0.027 0.179 0.05 0.272 0.064 c 0.024 0.004 0.045 0.014 0.069 0.016 C 7.59 46.995 7.669 47 7.748 47 c 0.133 0 0.265 -0.014 0.394 -0.04 C 8.229 46.943 8.309 46.913 8.39 46.885 z\",\n transform: \" matrix(1 0 0 1 0 0) \",\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 89.709 53.407 l -5.748 -9.447 c -0.008 -0.012 -0.019 -0.022 -0.026 -0.034 c -0.06 -0.094 -0.13 -0.181 -0.205 -0.263 c -0.02 -0.022 -0.036 -0.048 -0.057 -0.069 c -0.098 -0.099 -0.207 -0.187 -0.324 -0.264 c -0.032 -0.021 -0.067 -0.035 -0.1 -0.054 c -0.089 -0.052 -0.18 -0.099 -0.277 -0.137 c -0.047 -0.018 -0.096 -0.03 -0.144 -0.045 c -0.087 -0.026 -0.175 -0.049 -0.266 -0.063 c -0.025 -0.004 -0.047 -0.014 -0.072 -0.017 c -0.035 -0.004 -0.069 0.002 -0.104 -0.001 C 82.34 43.01 82.297 43 82.252 43 c -0.041 0 -0.079 0.01 -0.119 0.012 c -0.062 0.004 -0.123 0.009 -0.185 0.019 c -0.083 0.013 -0.164 0.032 -0.243 0.055 c -0.055 0.016 -0.11 0.03 -0.164 0.051 c -0.086 0.033 -0.167 0.074 -0.247 0.118 c -0.042 0.023 -0.086 0.043 -0.127 0.069 c -0.119 0.077 -0.231 0.164 -0.331 0.264 l -7.856 7.856 c -0.781 0.781 -0.781 2.047 0 2.828 c 0.781 0.781 2.047 0.781 2.828 0 l 4.055 -4.055 c -2.529 16.988 -17.21 30.063 -34.891 30.063 c -14.212 0 -26.972 -8.458 -32.508 -21.548 c -0.43 -1.018 -1.603 -1.492 -2.621 -1.062 c -1.017 0.43 -1.493 1.603 -1.062 2.621 c 6.163 14.573 20.369 23.989 36.192 23.989 c 19.515 0 35.746 -14.308 38.768 -32.983 l 2.55 4.192 c 0.377 0.618 1.036 0.96 1.711 0.96 c 0.354 0 0.713 -0.094 1.038 -0.291 C 89.983 55.582 90.283 54.351 89.709 53.407 z\",\n transform: \" matrix(1 0 0 1 0 0) \",\n strokeLinecap: \"round\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgConversionStats);\nexport default __webpack_public_path__ + \"static/media/conversion-stats.f9c5fb80.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgConversion(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_311\",\n \"data-name\": \"Group 311\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#f55e7b\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_timeline_24px\",\n d: \"M26,8.273a2.279,2.279,0,0,1-2.273,2.273,1.931,1.931,0,0,1-.58-.08L19.1,14.5a2.007,2.007,0,0,1,.08.591,2.273,2.273,0,0,1-4.545,0,2.007,2.007,0,0,1,.08-.591l-2.9-2.9a2.235,2.235,0,0,1-1.182,0l-5.17,5.182a1.931,1.931,0,0,1,.08.58,2.273,2.273,0,1,1-2.273-2.273,1.931,1.931,0,0,1,.58.08L9.034,10a2.007,2.007,0,0,1-.08-.591,2.273,2.273,0,1,1,4.545,0,2.007,2.007,0,0,1-.08.591l2.9,2.9a2.235,2.235,0,0,1,1.182,0l4.034-4.045a1.931,1.931,0,0,1-.08-.58,2.273,2.273,0,0,1,4.545,0Z\",\n transform: \"translate(132 224)\",\n fill: \"#f55e7b\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgConversion);\nexport default __webpack_public_path__ + \"static/media/conversion.6908603f.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgConvertedMessageIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n viewBox: \"0 0 32 32\",\n width: 18,\n height: 18,\n fill: \"#000000\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000000\",\n transform: \"translate(1.4065934065934016 1.4065934065934016) scale(0.31 0.31)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 8.39 46.885 c 0.042 -0.014 0.085 -0.022 0.126 -0.039 c 0.09 -0.037 0.173 -0.087 0.255 -0.136 c 0.029 -0.017 0.061 -0.029 0.089 -0.048 c 0.109 -0.073 0.211 -0.156 0.304 -0.249 l 7.856 -7.856 c 0.781 -0.781 0.781 -2.047 0 -2.828 c -0.78 -0.781 -2.048 -0.781 -2.828 0 l -4.055 4.055 C 12.666 22.796 27.347 9.721 45.028 9.721 c 13.718 0 26.298 8.052 32.051 20.512 c 0.463 1.004 1.653 1.439 2.653 0.978 c 1.003 -0.463 1.44 -1.651 0.978 -2.654 C 74.306 14.684 60.301 5.721 45.028 5.721 c -19.516 0 -35.746 14.308 -38.768 32.985 l -2.55 -4.191 c -0.574 -0.943 -1.803 -1.244 -2.748 -0.669 c -0.944 0.574 -1.243 1.805 -0.669 2.748 L 6.04 46.04 c 0.007 0.012 0.018 0.021 0.026 0.033 c 0.061 0.096 0.132 0.185 0.209 0.269 c 0.019 0.02 0.033 0.044 0.053 0.064 c 0.098 0.099 0.207 0.187 0.324 0.265 c 0.031 0.021 0.066 0.035 0.098 0.053 c 0.089 0.052 0.181 0.1 0.278 0.138 c 0.046 0.018 0.094 0.029 0.141 0.044 c 0.089 0.027 0.179 0.05 0.272 0.064 c 0.024 0.004 0.045 0.014 0.069 0.016 C 7.59 46.995 7.669 47 7.748 47 c 0.133 0 0.265 -0.014 0.394 -0.04 C 8.229 46.943 8.309 46.913 8.39 46.885 z\",\n transform: \" matrix(1 0 0 1 0 0) \",\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 89.709 53.407 l -5.748 -9.447 c -0.008 -0.012 -0.019 -0.022 -0.026 -0.034 c -0.06 -0.094 -0.13 -0.181 -0.205 -0.263 c -0.02 -0.022 -0.036 -0.048 -0.057 -0.069 c -0.098 -0.099 -0.207 -0.187 -0.324 -0.264 c -0.032 -0.021 -0.067 -0.035 -0.1 -0.054 c -0.089 -0.052 -0.18 -0.099 -0.277 -0.137 c -0.047 -0.018 -0.096 -0.03 -0.144 -0.045 c -0.087 -0.026 -0.175 -0.049 -0.266 -0.063 c -0.025 -0.004 -0.047 -0.014 -0.072 -0.017 c -0.035 -0.004 -0.069 0.002 -0.104 -0.001 C 82.34 43.01 82.297 43 82.252 43 c -0.041 0 -0.079 0.01 -0.119 0.012 c -0.062 0.004 -0.123 0.009 -0.185 0.019 c -0.083 0.013 -0.164 0.032 -0.243 0.055 c -0.055 0.016 -0.11 0.03 -0.164 0.051 c -0.086 0.033 -0.167 0.074 -0.247 0.118 c -0.042 0.023 -0.086 0.043 -0.127 0.069 c -0.119 0.077 -0.231 0.164 -0.331 0.264 l -7.856 7.856 c -0.781 0.781 -0.781 2.047 0 2.828 c 0.781 0.781 2.047 0.781 2.828 0 l 4.055 -4.055 c -2.529 16.988 -17.21 30.063 -34.891 30.063 c -14.212 0 -26.972 -8.458 -32.508 -21.548 c -0.43 -1.018 -1.603 -1.492 -2.621 -1.062 c -1.017 0.43 -1.493 1.603 -1.062 2.621 c 6.163 14.573 20.369 23.989 36.192 23.989 c 19.515 0 35.746 -14.308 38.768 -32.983 l 2.55 4.192 c 0.377 0.618 1.036 0.96 1.711 0.96 c 0.354 0 0.713 -0.094 1.038 -0.291 C 89.983 55.582 90.283 54.351 89.709 53.407 z\",\n transform: \" matrix(1 0 0 1 0 0) \",\n strokeLinecap: \"round\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgConvertedMessageIcon);\nexport default __webpack_public_path__ + \"static/media/converted-message-icon.2969e8c1.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgConvertingMessageTrigger(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 32 32\",\n width: 18,\n height: 18,\n fill: \"#a5a4bf\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 2,\n points: \"4 14 10 14 7 23 9 23 20 9 14 9 18 1 7 1\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgConvertingMessageTrigger);\nexport default __webpack_public_path__ + \"static/media/converting-message-trigger.1f67d7e0.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCustomerSegments(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 11.032,\n viewBox: \"0 0 15 11.032\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"right-person\",\n d: \"M 10.227 4.728 C 11.441 4.635 12.352 3.579 12.266 2.364 C 12.352 1.149 11.441 0.093 10.227 0 C 9.012 0.093 8.099 1.148 8.182 2.364 C 8.099 3.58 9.012 4.635 10.227 4.728 Z M 10.227 6.304 C 10.027 6.304 9.804 6.32 9.566 6.343 C 10.408 6.994 10.904 7.997 10.909 9.062 L 10.909 11.032 L 15 11.032 L 15 9.062 C 15 7.226 11.816 6.3 10.227 6.3 L 10.227 6.304 Z\",\n fill: \"#dfdfe3\",\n style: {\n opacity: 0.5\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"left-person\",\n d: \"M 5.772 9.728 C 6.986 9.635 7.897 8.579 7.811 7.364 C 7.897 6.15 6.987 5.094 5.773 5 C 4.557 5.092 3.644 6.148 3.727 7.364 C 3.644 8.58 4.557 9.636 5.773 9.728 L 5.772 9.728 Z M 5.772 11.304 C 4.184 11.3 1 12.226 1 14.062 L 1 16.032 L 10.545 16.032 L 10.545 14.062 C 10.545 12.226 7.361 11.3 5.773 11.3 L 5.772 11.304 Z\",\n transform: \"matrix(1, 0, 0, 1, -1, -5)\",\n fill: \"#dfdfe3\",\n style: {}\n }));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCustomerSegments);\nexport default __webpack_public_path__ + \"static/media/customer-segments.b53b17ca.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownArrowRed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"13px\",\n height: \"13px\",\n fill: \"#F55E7B\",\n viewBox: \"0 0 512 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"arrow-down-glyph\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"256 512 362.35 396.91 468.7 281.83 338.04 281.83 338.04 0 166.74 0 166.74 281.83 43.3 281.83 149.65 396.91 256 512\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownArrowRed);\nexport default __webpack_public_path__ + \"static/media/down-arrow-red.a68cb5a0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_exit_to_app_24px\",\n d: \"M7.09,12.59,8.5,14l5-5-5-5L7.09,5.41,9.67,8H0v2H9.67ZM16,0H2A2,2,0,0,0,0,2V6H2V2H16V16H2V12H0v4a2,2,0,0,0,2,2H16a2.006,2.006,0,0,0,2-2V2A2.006,2.006,0,0,0,16,0Z\",\n transform: \"translate(18) rotate(90)\",\n fill: \"#a5a4bf\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownload);\nexport default __webpack_public_path__ + \"static/media/download.3670c32d.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDropdown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 9.4,\n height: 6.1,\n viewBox: \"0 0 9.4 6.1\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-pathing\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 9.4,\n height: 6.1,\n fill: \"none\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Component_156_2\",\n \"data-name\": \"Component 156 \\\\u2013 2\",\n opacity: 0.574,\n \"clip-pathing\": \"url(#clip-path)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_36\",\n \"data-name\": \"Path 36\",\n d: \"M6.7,8.1,2,3.4,3.4,2,6.7,5.3,10,2l1.4,1.4Z\",\n transform: \"translate(-2 -2)\",\n fill: \"rgba(0,0,0,0.73)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDropdown);\nexport default __webpack_public_path__ + \"static/media/dropdown.cbb88114.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFeaturedItem(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFeaturedItem);\nexport default __webpack_public_path__ + \"static/media/featured-item.e65f5fec.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFeaturedItems(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 576 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFeaturedItems);\nexport default __webpack_public_path__ + \"static/media/featured-items.e2b47958.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFrame(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 186.506,\n height: 372.933,\n viewBox: \"0 0 186.506 372.933\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"phone\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"body\",\n d: \"M27.824-612.067A26.022,26.022,0,0,1,1.739-638.025v-209.4A1.735,1.735,0,0,1,0-849.152v-23.362a1.735,1.735,0,0,1,1.739-1.73v-6.922A1.735,1.735,0,0,1,0-882.9V-906.26a1.735,1.735,0,0,1,1.739-1.731V-920.97A1.735,1.735,0,0,1,0-922.7v-10.383a1.735,1.735,0,0,1,1.739-1.731v-24.228A26.022,26.022,0,0,1,27.824-985H158.682a26.021,26.021,0,0,1,26.084,25.958v60.137a1.735,1.735,0,0,1,1.739,1.73v38.937a1.735,1.735,0,0,1-1.739,1.731v218.482a26.021,26.021,0,0,1-26.084,25.958Z\",\n transform: \"translate(0 985)\",\n fill: \"#f2f2f5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"camera\",\n d: \"M76.128-963.391A2.608,2.608,0,0,1,78.736-966a2.608,2.608,0,0,1,2.609,2.608,2.609,2.609,0,0,1-2.609,2.609A2.608,2.608,0,0,1,76.128-963.391Zm-27.824,1.3a1.3,1.3,0,0,1-1.3-1.3,1.3,1.3,0,0,1,1.3-1.3H68.737a1.3,1.3,0,0,1,1.3,1.3,1.3,1.3,0,0,1-1.3,1.3Z\",\n transform: \"translate(34.732 978.173)\",\n fill: \"#dedee4\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFrame);\nexport default __webpack_public_path__ + \"static/media/frame.21e6c20b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHealthCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n style: {\n height: 17,\n width: 17\n },\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n className: \"\",\n transform: \"translate(0,0)\",\n style: {}\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M196 16a30 30 0 0 0-30 30v120H46a30 30 0 0 0-30 30v120a30 30 0 0 0 30 30h120v120a30 30 0 0 0 30 30h120a30 30 0 0 0 30-30V346h120a30 30 0 0 0 30-30V196a30 30 0 0 0-30-30H346V46a30 30 0 0 0-30-30H196z\",\n fill: \"#a2a2ad\",\n fillOpacity: 1\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHealthCheck);\nexport default __webpack_public_path__ + \"static/media/health-check.4aa2cc27.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHeatmap(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 13.249,\n height: 14.7,\n viewBox: \"0 0 13.249 14.7\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_map_24px\",\n d: \"M15.881,3l-.118.024-3.931,1.69L7.416,3,3.265,4.552A.408.408,0,0,0,3,4.944V17.291a.386.386,0,0,0,.368.408l.118-.024,3.931-1.69L11.833,17.7l4.151-1.552a.408.408,0,0,0,.265-.392V3.408A.386.386,0,0,0,15.881,3ZM11.833,16.066,7.416,14.343V4.633l4.416,1.723Z\",\n transform: \"translate(-3 -3)\",\n fill: \"#a2a2ad\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHeatmap);\nexport default __webpack_public_path__ + \"static/media/heatmap.93732a31.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHelpCenter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"support-17\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_107\",\n \"data-name\": \"Path 107\",\n d: \"M8,0a8,8,0,1,0,8,8A8.024,8.024,0,0,0,8,0ZM8,10a2,2,0,1,1,2-2A2.006,2.006,0,0,1,8,10ZM8,2a5.834,5.834,0,0,1,2.6.6L9.044,4.156a3.591,3.591,0,0,0-2.089,0L5.4,2.6A5.834,5.834,0,0,1,8,2ZM2,8a5.834,5.834,0,0,1,.6-2.6L4.156,6.956a3.591,3.591,0,0,0,0,2.089L2.6,10.6A5.834,5.834,0,0,1,2,8Zm6,6a5.834,5.834,0,0,1-2.6-.6l1.556-1.556a3.591,3.591,0,0,0,2.089,0L10.6,13.4A5.834,5.834,0,0,1,8,14Zm5.4-3.4L11.844,9.044a3.591,3.591,0,0,0,0-2.089L13.4,5.4a5.933,5.933,0,0,1,0,5.2Z\",\n fill: \"#fff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHelpCenter);\nexport default __webpack_public_path__ + \"static/media/help-center.59bc7698.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHotProspect(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_492\",\n \"data-name\": \"Group 492\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#4ad991\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_group_24px\",\n d: \"M20.964,12.986a3.993,3.993,0,1,0-3.993-3.993A3.976,3.976,0,0,0,20.964,12.986Zm-10.648,0A3.993,3.993,0,1,0,6.324,8.993,3.976,3.976,0,0,0,10.317,12.986Zm0,2.662C7.216,15.648,1,17.2,1,20.306v3.327H19.634V20.306C19.634,17.2,13.418,15.648,10.317,15.648Zm10.648,0c-.386,0-.825.027-1.291.067A5.617,5.617,0,0,1,22.3,20.306v3.327h7.986V20.306C30.281,17.2,24.066,15.648,20.964,15.648Z\",\n transform: \"translate(128.062 221.01)\",\n fill: \"#4ad991\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHotProspect);\nexport default __webpack_public_path__ + \"static/media/hot-prospect.a177d697.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHourglass(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_365\",\n \"data-name\": \"Group 365\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#549dba\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n })))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_hourglass_empty_24px\",\n d: \"M6,2V8.5h.011L6,8.511l4.333,4.323L6,17.167l.011.011H6v6.489H19V17.177h-.011L19,17.167l-4.333-4.333L19,8.511,18.989,8.5H19V2ZM16.833,17.708V21.5H8.167V17.708L12.5,13.375ZM12.5,12.292,8.167,7.958V4.167h8.667V7.958Z\",\n transform: \"translate(16 15)\",\n fill: \"#549dba\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHourglass);\nexport default __webpack_public_path__ + \"static/media/hourglass.e544cdf3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHouseMenu(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"house\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_99\",\n \"data-name\": \"Path 99\",\n d: \"M15.581,5.186l-7-5a1,1,0,0,0-1.162,0l-7,5A1,1,0,0,0,1.581,6.814L2,6.515V15a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V6.515A1.7,1.7,0,0,0,15,7a1,1,0,0,0,.582-1.814ZM12,14H10V11a2,2,0,0,0-4,0v3H4V5.086L8,2.229l4,2.857Z\",\n transform: \"translate(0 0)\",\n fill: \"#8fcae2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHouseMenu);\nexport default __webpack_public_path__ + \"static/media/house-menu.d346cec5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 12.899,\n height: 14.393,\n viewBox: \"0 0 12.899 14.393\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_local_mall_24px\",\n d: \"M14.466,4.427H13.033A3.509,3.509,0,0,0,9.45,1,3.509,3.509,0,0,0,5.867,4.427H4.433A1.4,1.4,0,0,0,3.007,5.8L3,14.022a1.407,1.407,0,0,0,1.433,1.371H14.466A1.407,1.407,0,0,0,15.9,14.022V5.8A1.407,1.407,0,0,0,14.466,4.427ZM9.45,2.371A2.1,2.1,0,0,1,11.6,4.427H7.3A2.1,2.1,0,0,1,9.45,2.371Zm0,6.854A3.509,3.509,0,0,1,5.867,5.8H7.3A2.1,2.1,0,0,0,9.45,7.854,2.1,2.1,0,0,0,11.6,5.8h1.433A3.509,3.509,0,0,1,9.45,9.224Z\",\n transform: \"translate(-3 -1)\",\n fill: \"#a2a2ad\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInStore);\nexport default __webpack_public_path__ + \"static/media/in-store.4023f77f.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgItemList(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: 18,\n height: 16,\n fill: \"#a5a4bf\",\n viewBox: \"0 0 512 512\",\n enableBackground: \"new 0 0 512 512\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 156,\n y: 434,\n width: 299,\n height: 45\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 55,\n y: 434,\n width: 56,\n height: 45\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 156,\n y: 334,\n width: 299,\n height: 45\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 55,\n y: 334,\n width: 56,\n height: 45\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 55,\n y: 234,\n width: 56,\n height: 45\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 156,\n y: 234,\n width: 299,\n height: 45\n }))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 55,\n y: 134,\n width: 56,\n height: 45\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 156,\n y: 134,\n width: 299,\n height: 45\n }))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 55,\n y: 34,\n width: 56,\n height: 45\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 156,\n y: 34,\n width: 299,\n height: 45\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgItemList);\nexport default __webpack_public_path__ + \"static/media/item-list.6192b56c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLocationGreen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 772.52 772.52\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-68.028 -23.251)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m454.28 160.51c-99.484 0-179.81 80.41-179.81 179.59 0 31.186 7.9688 60.528 21.938 86.094l157.88 264.31 157.88-264.31c13.969-25.566 21.938-54.908 21.938-86.094 0-99.184-80.328-179.59-179.81-179.59zm-2 104.37c0.6674-0.0169 1.3285 0 2 0 42.975 0 77.812 34.838 77.812 77.813s-34.838 77.812-77.812 77.812c-42.975 0-77.812-34.838-77.812-77.812 0-42.303 33.766-76.747 75.812-77.813z\",\n fill: \"#4ad991\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 454.29,\n cy: 409.51,\n r: 368.76,\n fill: \"none\",\n stroke: \"#4ad991\",\n strokeLinejoin: \"round\",\n strokeWidth: 35\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationGreen);\nexport default __webpack_public_path__ + \"static/media/location-green.3f3b87ea.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLocationLightgreen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 772.52 772.52\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-68.028 -23.251)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m454.28 160.51c-99.484 0-179.81 80.41-179.81 179.59 0 31.186 7.9688 60.528 21.938 86.094l157.88 264.31 157.88-264.31c13.969-25.566 21.938-54.908 21.938-86.094 0-99.184-80.328-179.59-179.81-179.59zm-2 104.37c0.6674-0.0169 1.3285 0 2 0 42.975 0 77.812 34.838 77.812 77.813s-34.838 77.812-77.812 77.812c-42.975 0-77.812-34.838-77.812-77.812 0-42.303 33.766-76.747 75.812-77.813z\",\n fill: \"#c1ffa2\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 454.29,\n cy: 409.51,\n r: 368.76,\n fill: \"none\",\n stroke: \"#c1ffa2\",\n strokeLinejoin: \"round\",\n strokeWidth: 35\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationLightgreen);\nexport default __webpack_public_path__ + \"static/media/location-lightgreen.747a9ae6.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLocationRed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 772.52 772.52\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-68.028 -23.251)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m454.28 160.51c-99.484 0-179.81 80.41-179.81 179.59 0 31.186 7.9688 60.528 21.938 86.094l157.88 264.31 157.88-264.31c13.969-25.566 21.938-54.908 21.938-86.094 0-99.184-80.328-179.59-179.81-179.59zm-2 104.37c0.6674-0.0169 1.3285 0 2 0 42.975 0 77.812 34.838 77.812 77.813s-34.838 77.812-77.812 77.812c-42.975 0-77.812-34.838-77.812-77.812 0-42.303 33.766-76.747 75.812-77.813z\",\n fill: \"#f55e7b\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 454.29,\n cy: 409.51,\n r: 368.76,\n fill: \"none\",\n stroke: \"#f55e7b\",\n strokeLinejoin: \"round\",\n strokeWidth: 35\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationRed);\nexport default __webpack_public_path__ + \"static/media/location-red.35d8d90d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLocationYellow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 772.52 772.52\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-68.028 -23.251)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m454.28 160.51c-99.484 0-179.81 80.41-179.81 179.59 0 31.186 7.9688 60.528 21.938 86.094l157.88 264.31 157.88-264.31c13.969-25.566 21.938-54.908 21.938-86.094 0-99.184-80.328-179.59-179.81-179.59zm-2 104.37c0.6674-0.0169 1.3285 0 2 0 42.975 0 77.812 34.838 77.812 77.813s-34.838 77.812-77.812 77.812c-42.975 0-77.812-34.838-77.812-77.812 0-42.303 33.766-76.747 75.812-77.813z\",\n fill: \"#ffda82\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 454.29,\n cy: 409.51,\n r: 368.76,\n fill: \"none\",\n stroke: \"#ffda82\",\n strokeLinejoin: \"round\",\n strokeWidth: 35\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationYellow);\nexport default __webpack_public_path__ + \"static/media/location-yellow.82593a6c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLocations(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n viewBox: \"0 0 20 17\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 14.5 9a2.5 2.5 0 0 1-2.5 2.5z\",\n transform: \"translate(-5 -2)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocations);\nexport default __webpack_public_path__ + \"static/media/locations.116d1ea4.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLoyalCustomer(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_493\",\n \"data-name\": \"Group 493\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#be71a3\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_group_24px\",\n d: \"M20.964,12.986a3.993,3.993,0,1,0-3.993-3.993A3.976,3.976,0,0,0,20.964,12.986Zm-10.648,0A3.993,3.993,0,1,0,6.324,8.993,3.976,3.976,0,0,0,10.317,12.986Zm0,2.662C7.216,15.648,1,17.2,1,20.306v3.327H19.634V20.306C19.634,17.2,13.418,15.648,10.317,15.648Zm10.648,0c-.386,0-.825.027-1.291.067A5.617,5.617,0,0,1,22.3,20.306v3.327h7.986V20.306C30.281,17.2,24.066,15.648,20.964,15.648Z\",\n transform: \"translate(128.062 221.01)\",\n fill: \"#be71a3\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLoyalCustomer);\nexport default __webpack_public_path__ + \"static/media/loyal-customer.9aad7f06.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMaximumTime(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_368\",\n \"data-name\": \"Group 368\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 27.5 54 C 23.92207908630371 54 20.45171928405762 53.29948043823242 17.18531036376953 51.91791152954102 C 14.02982997894287 50.58324813842773 11.19571018218994 48.67237091064453 8.761670112609863 46.23833084106445 C 6.327630043029785 43.80429077148438 4.416749954223633 40.97016906738281 3.082089900970459 37.81468963623047 C 1.700520038604736 34.54827880859375 1 31.07792091369629 1 27.5 C 1 24.0296802520752 1.65910005569458 20.70805931091309 3.014970064163208 17.34535026550293 C 3.960249900817871 14.99736976623535 5.260859966278076 12.79465961456299 6.880889892578125 10.79792976379395 C 8.491410255432129 8.812919616699219 10.385009765625 7.071209907531738 12.5090799331665 5.621170043945313 C 16.93758010864258 2.597970008850098 22.1213493347168 1 27.5 1 C 31.07792091369629 1 34.54827880859375 1.700520038604736 37.81468963623047 3.082089900970459 C 40.97016906738281 4.416749954223633 43.80429077148438 6.327630043029785 46.23833084106445 8.761670112609863 C 48.67237091064453 11.19571018218994 50.58324813842773 14.02982997894287 51.91791152954102 17.18531036376953 C 53.29948043823242 20.45171928405762 54 23.92207908630371 54 27.5 C 54 31.07792091369629 53.29948043823242 34.54827880859375 51.91791152954102 37.81468963623047 C 50.58324813842773 40.97016906738281 48.67237091064453 43.80429077148438 46.23833084106445 46.23833084106445 C 43.80429077148438 48.67237091064453 40.97016906738281 50.58324813842773 37.81468963623047 51.91791152954102 C 34.54827880859375 53.29948043823242 31.07792091369629 54 27.5 54 Z\",\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 27.5 2 C 22.32336044311523 2 17.33454895019531 3.537769317626953 13.07289886474609 6.447071075439453 C 11.02890014648438 7.842441558837891 9.206878662109375 9.518260955810547 7.657451629638672 11.427978515625 C 6.100360870361328 13.34712982177734 4.850578308105469 15.4635009765625 3.942420959472656 17.71931076049805 C 2.635368347167969 20.96094131469727 2 24.16023063659668 2 27.5 C 2 30.943359375 2.673938751220703 34.28266143798828 4.003101348876953 37.42514038085938 C 5.287330627441406 40.46141815185547 7.126258850097656 43.18869781494141 9.468780517578125 45.53121948242188 C 11.81129837036133 47.87374114990234 14.53858184814453 49.71266937255859 17.57485961914063 50.99689865112305 C 20.71733856201172 52.3260612487793 24.056640625 53 27.5 53 C 30.943359375 53 34.28266143798828 52.3260612487793 37.42514038085938 50.99689865112305 C 40.46141815185547 49.71266937255859 43.18869781494141 47.87374114990234 45.53121948242188 45.53121948242188 C 47.87374114990234 43.18869781494141 49.71266937255859 40.46141815185547 50.99689865112305 37.42514038085938 C 52.3260612487793 34.28266143798828 53 30.943359375 53 27.5 C 53 24.056640625 52.3260612487793 20.71733856201172 50.99689865112305 17.57485961914063 C 49.71266937255859 14.53858184814453 47.87374114990234 11.81129837036133 45.53121948242188 9.468780517578125 C 43.18869781494141 7.126258850097656 40.46141815185547 5.287330627441406 37.42514038085938 4.003101348876953 C 34.28266143798828 2.673938751220703 30.943359375 2 27.5 2 M 27.5 0 C 42.68782806396484 0 55 12.31216812133789 55 27.5 C 55 42.68782806396484 42.68782806396484 55 27.5 55 C 12.31216812133789 55 0 42.68782806396484 0 27.5 C 0 23.87010955810547 0.7032814025878906 20.40447998046875 2.087520599365234 16.97140121459961 C 6.049480438232422 7.130241394042969 15.94205856323242 0 27.5 0 Z\",\n stroke: \"none\",\n fill: \"#be71a3\"\n })))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_timelapse_24px\",\n d: \"M18.376,8.624A6.87,6.87,0,0,0,13.5,6.6v6.9L8.624,18.376a6.9,6.9,0,1,0,9.752-9.752ZM13.5,2A11.5,11.5,0,1,0,25,13.5,11.5,11.5,0,0,0,13.5,2Zm0,20.7a9.2,9.2,0,1,1,9.2-9.2A9.2,9.2,0,0,1,13.5,22.7Z\",\n transform: \"translate(14 14)\",\n fill: \"#be71a3\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMaximumTime);\nexport default __webpack_public_path__ + \"static/media/maximum-time.b4c8606d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMenu(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 21,\n height: 18,\n viewBox: \"0 0 21 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Menu\",\n d: \"M0,18V15.428H13.126V18Zm0-7.714V7.714H21v2.572ZM0,2.572V0H21V2.572Z\",\n fill: \"#fff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenu);\nexport default __webpack_public_path__ + \"static/media/menu.ebac84ea.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMinimumTime(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_367\",\n \"data-name\": \"Group 367\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#f55e7b\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_timelapse_24px\",\n d: \"M18.376,8.624A6.87,6.87,0,0,0,13.5,6.6v6.9c4.571,4.523,2.179,1.54,4.887,4.876A6.889,6.889,0,0,0,18.376,8.624ZM13.5,2A11.5,11.5,0,1,0,25,13.5,11.5,11.5,0,0,0,13.5,2Zm0,20.7a9.2,9.2,0,1,1,9.2-9.2A9.2,9.2,0,0,1,13.5,22.7Z\",\n transform: \"translate(131 222)\",\n fill: \"#ed585e\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMinimumTime);\nexport default __webpack_public_path__ + \"static/media/minimum-time.35a13742.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMuteNotification(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 32 32\",\n width: 18,\n height: 16,\n fill: \"#a5a4bf\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:#101820;}\"))), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Layer 32\",\n id: \"Layer_32\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M16,31a5,5,0,0,1-5-5,1,1,0,0,1,2,0,3,3,0,0,0,.88,2.12,3.06,3.06,0,0,0,4.24,0,1,1,0,0,1,1.42,1.42A5,5,0,0,1,16,31Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M16,6a1,1,0,0,1-1-1V2a1,1,0,0,1,2,0V5A1,1,0,0,1,16,6Z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-1\",\n height: 36.77,\n transform: \"translate(-6.61 16.79) rotate(-47)\",\n width: 2,\n x: 15,\n y: -2.38\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M26.73,27H5a1,1,0,0,1-.89-1.45,18.08,18.08,0,0,0,1.89-8V14a8,8,0,0,1,.06-1,1,1,0,1,1,2,.28A6,6,0,0,0,8,14v3.53A20.07,20.07,0,0,1,6.55,25H26.73a1,1,0,1,1,0,2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M25.06,20a1,1,0,0,1-1-.92Q24,18.31,24,17.53V14A8,8,0,0,0,11.93,7.12,7.66,7.66,0,0,0,9.35,9.57a1,1,0,1,1-1.68-1.1A9.74,9.74,0,0,1,10.92,5.4,9.95,9.95,0,0,1,23.07,6.94,9.86,9.86,0,0,1,26,14v3.53c0,.46,0,.91.06,1.37A1,1,0,0,1,25.14,20Z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMuteNotification);\nexport default __webpack_public_path__ + \"static/media/mute-notification.ca9a627d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNewAppCustomers(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_346\",\n \"data-name\": \"Group 346\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#8fcae2\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_group_24px\",\n d: \"M20.964,12.986a3.993,3.993,0,1,0-3.993-3.993A3.976,3.976,0,0,0,20.964,12.986Zm-10.648,0A3.993,3.993,0,1,0,6.324,8.993,3.976,3.976,0,0,0,10.317,12.986Zm0,2.662C7.216,15.648,1,17.2,1,20.306v3.327H19.634V20.306C19.634,17.2,13.418,15.648,10.317,15.648Zm10.648,0c-.386,0-.825.027-1.291.067A5.617,5.617,0,0,1,22.3,20.306v3.327h7.986V20.306C30.281,17.2,24.066,15.648,20.964,15.648Z\",\n transform: \"translate(128.062 221.01)\",\n fill: \"#8fcae2\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNewAppCustomers);\nexport default __webpack_public_path__ + \"static/media/new-app-customers.01e8f38d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNewReturning(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 64,\n height: 64,\n viewBox: \"0 0 64 64\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_515\",\n \"data-name\": \"Group 515\",\n transform: \"translate(-1302 -885)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_489\",\n \"data-name\": \"Group 489\",\n transform: \"translate(1302 885)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n transform: \"translate(0)\",\n fill: \"#fff\",\n stroke: \"#4ad991\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32,\n cy: 32,\n r: 32,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32,\n cy: 32,\n r: 31,\n fill: \"none\"\n })))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_transfer_within_a_station_24px\",\n d: \"M17.939,16.9V14.975L15.2,17.725l2.739,2.75V18.55H24V16.9Zm3.322,4.675H15.2v1.65h6.061V25.15L24,22.4l-2.739-2.75ZM10.25,5.9a2.2,2.2,0,1,0-2.2-2.2A2.206,2.206,0,0,0,10.25,5.9ZM6.125,9.64,3.1,25.15H5.41l1.925-8.8L9.7,18.55v6.6h2.2V16.845L9.645,14.59l.66-3.3A7.676,7.676,0,0,0,16.3,14.15v-2.2a5.639,5.639,0,0,1-4.785-2.695L10.47,7.5A2.145,2.145,0,0,0,8.6,6.45a2.207,2.207,0,0,0-.825.165L2,8.98v5.17H4.2V10.465L6.125,9.64\",\n transform: \"translate(1323 903.5)\",\n fill: \"#4ad991\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNewReturning);\nexport default __webpack_public_path__ + \"static/media/new-returning.785347b4.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNewVisitors(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 24.037,\n viewBox: \"0 0 18 24.037\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_directions_run_24px\",\n d: \"M14.741,5.952A2.236,2.236,0,1,0,12.5,3.716,2.243,2.243,0,0,0,14.741,5.952Zm-4.025,15.54,1.118-4.919,2.348,2.236v6.708h2.236V17.132L14.07,14.9l.671-3.354a8.187,8.187,0,0,0,6.149,2.8V12.1a5.5,5.5,0,0,1-4.807-2.683L14.965,7.629a2.306,2.306,0,0,0-1.9-1.118c-.335,0-.559.112-.894.112L6.356,9.082v5.255H8.592v-3.8L10.6,9.753,8.815,18.809,3.337,17.691,2.89,19.927Z\",\n transform: \"translate(-2.89 -1.48)\",\n fill: \"#a3a6b4\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNewVisitors);\nexport default __webpack_public_path__ + \"static/media/new-visitors.389cbe27.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotification(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Notifications\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15.918,\n height: 16,\n viewBox: \"0 0 15.918 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1\",\n \"data-name\": \"Path 1\",\n d: \"M15,14H10a2,2,0,0,1-4,0H1a.961.961,0,0,1-.9-.7,1.068,1.068,0,0,1,.3-1.1A4.026,4.026,0,0,0,2,9V6A6,6,0,0,1,14,6V9a4.026,4.026,0,0,0,1.6,3.2.947.947,0,0,1,.3,1.1A.961.961,0,0,1,15,14Z\",\n transform: \"translate(-0.063)\",\n fill: \"#fff\",\n fillRule: \"evenodd\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotification);\nexport default __webpack_public_path__ + \"static/media/notification.7915139f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPageNext(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 36.5 60.5\",\n enableBackground: \"new 0 0 36.5 60.5\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n fill: \"#3E3E3E\",\n d: \"M7.8,3.8l26.6,26.5c0.3,0.3,0.3,0.8,0,1.2L7.8,58.1 c-0.3,0.2-0.7,0.2-1.1,0l-3.4-3.5l23.2-23.1c0.2-0.3,0.2-0.8,0-1.2L3.3,7.3l3.4-3.5C7,3.5,7.4,3.5,7.8,3.8L7.8,3.8z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPageNext);\nexport default __webpack_public_path__ + \"static/media/page-next.eb86b68e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPagePrevious(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 35.3 58.8\",\n enableBackground: \"new 0 0 35.3 58.8\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n fill: \"#3E3E3E\",\n d: \"M29.4,2.7L2.8,29.2c-0.2,0.3-0.2,0.8,0,1.1l26.6,26.5 c0.2,0.3,0.7,0.3,1,0l3.5-3.4L10.8,30.3c-0.4-0.2-0.4-0.7,0-1.1L33.9,6.1l-3.5-3.5C30.2,2.2,29.7,2.2,29.4,2.7L29.4,2.7z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPagePrevious);\nexport default __webpack_public_path__ + \"static/media/page-previous.3763eaaa.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPeakDay(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 64,\n height: 64,\n viewBox: \"0 0 64 64\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_372\",\n \"data-name\": \"Group 372\",\n transform: \"translate(0.001)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n transform: \"translate(0)\",\n fill: \"#fff\",\n stroke: \"#4ad991\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32,\n cy: 32,\n r: 32,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32,\n cy: 32,\n r: 31,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_insert_invitation_24px\",\n d: \"M20.111,14.444H14v6.111h6.111ZM18.889,1V3.444H9.111V1H6.667V3.444H5.444A2.433,2.433,0,0,0,3.012,5.889L3,23a2.444,2.444,0,0,0,2.444,2.444H22.556A2.452,2.452,0,0,0,25,23V5.889a2.452,2.452,0,0,0-2.444-2.444H21.333V1Zm3.667,22H5.444V9.556H22.556Z\",\n transform: \"translate(17.999 19)\",\n fill: \"#4ad991\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPeakDay);\nexport default __webpack_public_path__ + \"static/media/peak-day.33d05d8f.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPeakTime(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 64,\n height: 64,\n viewBox: \"0 0 64 64\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_370\",\n \"data-name\": \"Group 370\",\n transform: \"translate(-0.144)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n transform: \"translate(0.144)\",\n fill: \"#fff\",\n stroke: \"#f8b112\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32,\n cy: 32,\n r: 32,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32,\n cy: 32,\n r: 31,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_access_alarm_24px\",\n d: \"M25,6.3,19.71,1.86,18.227,3.619l5.29,4.439ZM8.762,3.619,7.29,1.86,2,6.287,3.484,8.047,8.762,3.619Zm5.313,5.3H12.35v6.9L17.813,19.1l.863-1.414-4.6-2.726Zm-.575-4.6a10.35,10.35,0,1,0,10.35,10.35A10.351,10.351,0,0,0,13.5,4.321Zm0,18.4a8.05,8.05,0,1,1,8.05-8.05A8.044,8.044,0,0,1,13.5,22.721Z\",\n transform: \"translate(19.144 18.14)\",\n fill: \"#f8b112\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPeakTime);\nexport default __webpack_public_path__ + \"static/media/peak-time.d3348ffd.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPin(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 10.827,\n height: 15.468,\n viewBox: \"0 0 10.827 15.468\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_place_24px\",\n d: \"M10.414,2A5.41,5.41,0,0,0,5,7.414c0,4.06,5.414,10.054,5.414,10.054s5.414-5.994,5.414-10.054A5.41,5.41,0,0,0,10.414,2Zm0,7.347a1.933,1.933,0,1,1,1.933-1.933A1.934,1.934,0,0,1,10.414,9.347Z\",\n transform: \"translate(-5 -2)\",\n fill: \"#a5a4bf\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPin);\nexport default __webpack_public_path__ + \"static/media/pin.899b894d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 9h-9v-9h-6v9h-9v6h9v9h6v-9h9z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlus);\nexport default __webpack_public_path__ + \"static/media/plus.18e46bbf.svg\";\nexport { ForwardRef as ReactComponent };","var _metadata, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgProduct(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: 18,\n height: 16,\n fill: \"#a5a4bf\",\n viewBox: \"0 0 1000 1000\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _metadata || (_metadata = /*#__PURE__*/React.createElement(\"metadata\", null, \" Svg Vector Icons : http://www.onlinewebfonts.com/icon \")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M468.3,11.6c113.8-7.3,218.3,26,291.8,72.4c74.5,47,134.9,111.8,174.4,188.7c38.5,75,67.9,182.6,50.5,301.6c-11.4,77.9-39.3,140.3-76.8,196.3c-11.9,17.7-24.3,43.3-45,45c-19.9,1.6-35.9-11.3-38.4-30.7c-1.9-14.8,6.1-24.2,14.3-35.1c21.4-28.7,41.3-66.4,53.7-98.7c18-46.7,31.8-105.5,27.4-173.3C912,351.3,862.7,266.7,794,198c-34.6-34.6-77.9-62.3-121.7-82.3C625.8,94.6,575,81.3,506.6,78.5c-62.8-2.6-122.4,13.1-170,32.9C241.7,150.9,171.3,219.6,126,307.7c-23.1,44.9-40.2,95.5-45,157.9c-9.9,128.1,34.5,232.6,96.5,304.9c60.8,70.9,143.6,128.9,259.9,145.9c122.1,17.9,214.2-14.5,286.3-60.3c11.8-7.5,20.2-15.2,34-14.3c19.1,1.3,33.3,13.2,32.9,35.1c-0.4,20.2-18.1,31.3-32.9,40.6c-45.5,28.4-97.6,50.1-155.7,62.5c-84.5,18.1-187.2,8.3-255.6-14.3c-140-46.3-247.4-145.1-301.6-281.9C16.5,612.4,2.4,521.4,14.2,433.8c11.6-85.8,42.2-154,81.2-210.6c57.9-84.1,139.3-153.4,249-188.7C381.1,22.8,427.9,14.1,468.3,11.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M720.5,359.2c-71.8,39.4-146.9,75.4-219.4,114.1c-74.3-45.2-147-92.1-220.5-138.2C350.3,297.9,424,259,493.5,225.4C570,269.2,643.7,315.8,720.5,359.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252.2,373.5c76,44.7,151.4,89.9,225.9,136c0,87.7,0,175.5,0,263.2c-4.9,1.2-9.4-3.2-13.2-5.5c-68.9-41.7-144.3-85.8-212.8-129.4C252.2,549.7,252.2,461.6,252.2,373.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M745.8,658.7c-70.9,39.9-149,78.4-220.5,114.1c0-88.5,0-177,0-265.4c73.2-37.5,146.7-74.8,219.4-113C747.2,480.3,745,570.9,745.8,658.7z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgProduct);\nexport default __webpack_public_path__ + \"static/media/product.3ec5e669.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPushNotificationTick(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n shapeRendering: \"geometricPrecision\",\n textRendering: \"geometricPrecision\",\n imageRendering: \"optimizeQuality\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n viewBox: \"0 0 512 490.08\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"nonzero\",\n fill: \"#8fcae2\",\n d: \"M294.46 29.84c12.39 3.81 24.21 9.02 35.29 15.45a156.736 156.736 0 0 0-30.77 14.98 141.93 141.93 0 0 0-18.2-6.11c-4.48-1.17-8.24-4.59-9.63-9.35-1.81-6.25-5.77-10.83-10.69-13.74-4.36-2.58-9.62-3.88-14.93-3.88-5.22-.06-10.45 1.25-14.79 3.84-4.74 2.83-8.56 7.36-10.33 13.58-1.35 4.53-4.98 8.27-9.89 9.46-26.93 6.56-50.97 21.18-69.53 40.93-18.62 19.83-31.71 44.86-36.66 72.17-3.33 18.47-2.9 41.71-2.53 63.08l.3 19.8c0 31.56-5.5 58.12-17.72 81.51-11.69 22.39-29.37 41.42-54.08 58.71l429.54.01c-18.54-12.91-33.12-26.87-44.19-42.52 9.57-2.02 18.82-4.9 27.66-8.57 9.22 11.19 20.98 21.46 35.5 31.18 5.59 3.73 9.03 8.97 10.54 14.57 1.26 4.68 1.09 9.64-.29 14.21-1.39 4.56-4.02 8.81-7.64 11.98l-1.14.9c-4.2 3.29-9.55 5.36-15.73 5.39l-136.32.02-.09.37c-16.52 96.55-150.1 96.29-166.18-.33l-136.25.03c-7.13 0-13.1-2.7-17.57-6.91-3.49-3.27-5.95-7.51-7.19-11.99-1.23-4.43-1.29-9.28-.04-13.84 1.59-5.85 5.24-11.17 11.15-14.87 22.48-15.26 38.25-31.74 48.26-50.9 10.04-19.2 14.55-41.7 14.55-68.95l-.2-19.38c-.39-22.64-.85-47.26 2.95-68.29 5.9-32.62 21.46-62.42 43.59-85.99 20.42-21.73 46.51-38.25 75.83-46.79 4.42-9.61 11.43-16.91 19.76-21.87 8.64-5.16 18.72-7.74 28.73-7.73 9.95-.05 20.02 2.54 28.71 7.66 8.54 5.01 15.69 12.42 20.22 22.18zm54.48 143.03 20.27 19.25 45.14-45.72c3.53-3.59 5.73-6.46 10.11-1.99l14.16 14.49c4.62 4.57 4.39 7.25.01 11.55l-61.37 60.43c-9.23 9.04-7.62 9.61-16.98.31l-35.16-34.97c-1.93-2.11-1.73-4.24.39-6.37l16.41-17.01c2.49-2.58 4.47-2.42 7.02.03zm33.95-108.33c35.66 0 67.94 14.46 91.29 37.81 23.35 23.36 37.82 55.64 37.82 91.29 0 35.63-14.47 67.94-37.82 91.29-23.35 23.36-55.66 37.82-91.29 37.82-35.63 0-67.94-14.46-91.29-37.82-23.35-23.35-37.82-55.66-37.82-91.29 0-35.65 14.47-67.93 37.82-91.29 23.35-23.35 55.66-37.81 91.29-37.81zm75.65 53.45c-19.34-19.34-46.11-31.33-75.65-31.33-29.54 0-56.31 11.99-75.65 31.33-19.34 19.34-31.33 46.11-31.33 75.65 0 29.55 11.99 56.32 31.33 75.65 19.34 19.34 46.11 31.33 75.65 31.33 29.54 0 56.31-11.99 75.65-31.33 19.34-19.33 31.33-46.1 31.33-75.65 0-29.54-11.99-56.31-31.33-75.65z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPushNotificationTick);\nexport default __webpack_public_path__ + \"static/media/push-notification-tick.986f7320.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPushNotification(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 9.696,\n height: 14.775,\n viewBox: \"0 0 9.696 14.775\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_phone_iphone_24px\",\n d: \"M12.832,1H6.865A1.78,1.78,0,0,0,5,2.679V14.1a1.78,1.78,0,0,0,1.865,1.679h5.967A1.78,1.78,0,0,0,14.7,14.1V2.679A1.78,1.78,0,0,0,12.832,1ZM9.848,15.1a1.013,1.013,0,1,1,0-2.015,1.013,1.013,0,1,1,0,2.015ZM13.2,12.417H6.492v-9.4H13.2Z\",\n transform: \"translate(-5 -1)\",\n fill: \"#a2a2ad\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPushNotification);\nexport default __webpack_public_path__ + \"static/media/push-notification.5d186a09.svg\";\nexport { ForwardRef as ReactComponent };","var _desc, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgQrCode(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n id: \"s1\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"QR coder\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Manually edited diagram of qr code\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"scale(.5,.5)\",\n fill: \"none\",\n stroke: \"#a2a2ad\",\n strokeWidth: 2,\n strokeLinecap: \"butt\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"A\",\n d: \"M3,3 h8 v8 h-8 v-8 z M6,7 h2\"\n }), /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#A\",\n x: 18,\n y: 0\n }), /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#A\",\n x: 0,\n y: 18\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,3 h-3 v4 h2 v4 h-2 v3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2,15 h2 m2,0 h4 m6,0 h2 m2,0 h4 m4,0 h2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,17 h2 m2,0 h8 m6,0 h2 m2,0 h4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,19 h2 m2,0 h2 m6,0 h2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,21 h2 m2,0 h8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,23 h2 m2,0 h2 m4,0 h2 m2,0 h2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,25 h4 m2,0 h2 m2, 0 h4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,27 h2 m6,0 h2 m4,0 h2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,29 h8 m2,0 h2\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQrCode);\nexport default __webpack_public_path__ + \"static/media/qr-code.f8f559db.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRecurringVisit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_311\",\n \"data-name\": \"Group 311\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#f55e7b\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_import_export_24px\",\n d: \"M11,3,5,8.985H9.5V19.5h3V8.985H17ZM21.5,24.015V13.5h-3V24.015H14L20,30l6-5.985Z\",\n transform: \"translate(129 251) rotate(-90)\",\n fill: \"#ed585e\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRecurringVisit);\nexport default __webpack_public_path__ + \"static/media/recurring-visit.2078dd75.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRepeatPurchase(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 57,\n height: 55,\n viewBox: \"0 0 512 512\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n enableBackground: \"new 0 0 512 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#4AD991\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m158.2,54.6c91.3-44.8 199.8-22.3 265.5,52l-69.8-11.4-3.1,20.9 106.2,16.7 5.2-108.5-20.8-1-3.4,69.1c-72.1-80.5-189.7-105-290.1-56.5-106.3,52-160.4,173-127.1,287.8l19.8-5.2c-30.2-105.4 18.7-217 117.6-263.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m491.2,189.1l-19.8,5.2c30.2,105.3-18.7,215.9-116.6,263.9-91.9,44.6-200.1,22.5-265.9-52.1l70.2,10.4 3.1-19.8-107.1-16.7-4.1,107.4 19.8,1 3.4-69c47.4,53.2 113.8,81.6 181.8,81.6 36.4,0 72.9-8.3 108.2-24 106.2-52.1 160.3-173.1 127-287.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m167.5,294.5v56.3h176.9v-56.3c0-35.5-28.1-63.6-63.5-63.6h-50c-35.3-0.1-63.4,28.1-63.4,63.6zm63.5-41.7h50c22.9,0 42.7,18.8 42.7,42.8v35.4h-135.4v-35.5c0-22.9 18.8-42.7 42.7-42.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m307,154.7c0-28.2-22.9-51.1-51-51.1s-51,22.9-51,51.1 22.9,51.1 51,51.1 51-22.9 51-51.1zm-81.2,0c0-16.7 13.5-30.2 30.2-30.2s30.2,13.6 30.2,30.2c0,16.7-13.5,30.2-30.2,30.2s-30.2-13.5-30.2-30.2z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRepeatPurchase);\nexport default __webpack_public_path__ + \"static/media/repeat-purchase.f63b21d3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgReturningVisitors(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24.429,\n height: 19,\n viewBox: \"0 0 24.429 19\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_import_export_24px\",\n d: \"M10.429,3,5,8.415H9.071v9.514h2.714V8.415h4.071Zm9.5,19.014V12.5H17.214v9.514H13.143l5.429,5.415L24,22.014Z\",\n transform: \"translate(-3 24) rotate(-90)\",\n fill: \"#a3a6b4\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReturningVisitors);\nexport default __webpack_public_path__ + \"static/media/returning-visitors.16bfe282.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRevenue(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_512\",\n \"data-name\": \"Group 512\",\n transform: \"translate(-410 -888)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_485\",\n \"data-name\": \"Group 485\",\n transform: \"translate(410 888)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 27.5 54 C 23.92207908630371 54 20.45171928405762 53.29948043823242 17.18531036376953 51.91791152954102 C 14.02982997894287 50.58324813842773 11.19571018218994 48.67237091064453 8.761670112609863 46.23833084106445 C 6.327630043029785 43.80429077148438 4.416749954223633 40.97016906738281 3.082089900970459 37.81468963623047 C 1.700520038604736 34.54827880859375 1 31.07792091369629 1 27.5 C 1 24.0296802520752 1.65910005569458 20.70805931091309 3.014970064163208 17.34535026550293 C 3.960249900817871 14.99736976623535 5.260859966278076 12.79465961456299 6.880889892578125 10.79792976379395 C 8.491410255432129 8.812919616699219 10.385009765625 7.071209907531738 12.5090799331665 5.621170043945312 C 16.93758010864258 2.597970008850098 22.1213493347168 1 27.5 1 C 31.07792091369629 1 34.54827880859375 1.700520038604736 37.81468963623047 3.082089900970459 C 40.97016906738281 4.416749954223633 43.80429077148438 6.327630043029785 46.23833084106445 8.761670112609863 C 48.67237091064453 11.19571018218994 50.58324813842773 14.02982997894287 51.91791152954102 17.18531036376953 C 53.29948043823242 20.45171928405762 54 23.92207908630371 54 27.5 C 54 31.07792091369629 53.29948043823242 34.54827880859375 51.91791152954102 37.81468963623047 C 50.58324813842773 40.97016906738281 48.67237091064453 43.80429077148438 46.23833084106445 46.23833084106445 C 43.80429077148438 48.67237091064453 40.97016906738281 50.58324813842773 37.81468963623047 51.91791152954102 C 34.54827880859375 53.29948043823242 31.07792091369629 54 27.5 54 Z\",\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 27.5 2 C 22.32336044311523 2 17.33454895019531 3.537769317626953 13.07289886474609 6.447071075439453 C 11.02890014648438 7.842441558837891 9.206878662109375 9.518260955810547 7.657451629638672 11.427978515625 C 6.100360870361328 13.34712982177734 4.850578308105469 15.4635009765625 3.942420959472656 17.71931076049805 C 2.635368347167969 20.96094131469727 2 24.16023063659668 2 27.5 C 2 30.943359375 2.673938751220703 34.28266143798828 4.003101348876953 37.42514038085938 C 5.287330627441406 40.46141815185547 7.126258850097656 43.18869781494141 9.468780517578125 45.53121948242188 C 11.81129837036133 47.87374114990234 14.53858184814453 49.71266937255859 17.57485961914062 50.99689865112305 C 20.71733856201172 52.3260612487793 24.056640625 53 27.5 53 C 30.943359375 53 34.28266143798828 52.3260612487793 37.42514038085938 50.99689865112305 C 40.46141815185547 49.71266937255859 43.18869781494141 47.87374114990234 45.53121948242188 45.53121948242188 C 47.87374114990234 43.18869781494141 49.71266937255859 40.46141815185547 50.99689865112305 37.42514038085938 C 52.3260612487793 34.28266143798828 53 30.943359375 53 27.5 C 53 24.056640625 52.3260612487793 20.71733856201172 50.99689865112305 17.57485961914062 C 49.71266937255859 14.53858184814453 47.87374114990234 11.81129837036133 45.53121948242188 9.468780517578125 C 43.18869781494141 7.126258850097656 40.46141815185547 5.287330627441406 37.42514038085938 4.003101348876953 C 34.28266143798828 2.673938751220703 30.943359375 2 27.5 2 M 27.5 0 C 42.68782806396484 0 55 12.31216812133789 55 27.5 C 55 42.68782806396484 42.68782806396484 55 27.5 55 C 12.31216812133789 55 0 42.68782806396484 0 27.5 C 0 23.87010955810547 0.7032814025878906 20.40447998046875 2.087520599365234 16.97140121459961 C 6.049480438232422 7.130241394042969 15.94205856323242 0 27.5 0 Z\",\n stroke: \"none\",\n fill: \"#be71a3\"\n })))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_trending_up_24px\",\n d: \"M16,6l2.29,2.29-4.88,4.88-4-4L2,16.59,3.41,18l6-6,4,4,6.3-6.29L22,12V6Z\",\n transform: \"translate(426 904)\",\n fill: \"#be71a3\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRevenue);\nexport default __webpack_public_path__ + \"static/media/revenue.c405de23.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRightArrowNext(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: 100.012,\n height: 64.293,\n viewBox: \"0 0 330 330\",\n style: {\n enableBackground: \"new 0 0 330 330\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"XMLID_2_\",\n d: \"M165,0C74.019,0,0,74.019,0,165s74.019,165,165,165s165-74.019,165-165S255.981,0,165,0z M225.606,175.605 l-80,80.002C142.678,258.535,138.839,260,135,260s-7.678-1.464-10.606-4.394c-5.858-5.857-5.858-15.355,0-21.213l69.393-69.396 l-69.393-69.392c-5.858-5.857-5.858-15.355,0-21.213c5.857-5.858,15.355-5.858,21.213,0l80,79.998 c2.814,2.813,4.394,6.628,4.394,10.606C230,168.976,228.42,172.792,225.606,175.605z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRightArrowNext);\nexport default __webpack_public_path__ + \"static/media/right-arrow-next.9136ad77.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSettings(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_108\",\n \"data-name\": \"Path 108\",\n d: \"M13.3,5.2l1.1-2.1L13,1.7,10.9,2.8a3.582,3.582,0,0,0-1.1-.4L9,0H7L6.2,2.3a4.179,4.179,0,0,0-1,.4L3.1,1.6,1.6,3.1,2.7,5.2a4.179,4.179,0,0,0-.4,1L0,7V9l2.3.8c.1.4.3.7.4,1.1L1.6,13,3,14.4l2.1-1.1a3.582,3.582,0,0,0,1.1.4L7,16H9l.8-2.3c.4-.1.7-.3,1.1-.4L13,14.4,14.4,13l-1.1-2.1a3.582,3.582,0,0,0,.4-1.1L16,9V7l-2.3-.8A4.179,4.179,0,0,0,13.3,5.2ZM8,11A2.946,2.946,0,0,1,5,8,2.946,2.946,0,0,1,8,5a2.946,2.946,0,0,1,3,3A2.946,2.946,0,0,1,8,11Z\",\n fill: \"#fff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSettings);\nexport default __webpack_public_path__ + \"static/media/settings.882116f2.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSortDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: 15,\n height: 10,\n viewBox: \"0 0 401.998 401.998\",\n style: {\n enableBackground: \"new 0 0 401.998 401.998\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"lightgrey\",\n d: \"M73.092,164.452h255.813c4.949,0,9.233-1.807,12.848-5.424c3.613-3.616,5.427-7.898,5.427-12.847 c0-4.949-1.813-9.229-5.427-12.85L213.846,5.424C210.232,1.812,205.951,0,200.999,0s-9.233,1.812-12.85,5.424L60.242,133.331 c-3.617,3.617-5.424,7.901-5.424,12.85c0,4.948,1.807,9.231,5.424,12.847C63.863,162.645,68.144,164.452,73.092,164.452z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M328.905,237.549H73.092c-4.952,0-9.233,1.808-12.85,5.421c-3.617,3.617-5.424,7.898-5.424,12.847 c0,4.949,1.807,9.233,5.424,12.848L188.149,396.57c3.621,3.617,7.902,5.428,12.85,5.428s9.233-1.811,12.847-5.428l127.907-127.906 c3.613-3.614,5.427-7.898,5.427-12.848c0-4.948-1.813-9.229-5.427-12.847C338.139,239.353,333.854,237.549,328.905,237.549z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSortDown);\nexport default __webpack_public_path__ + \"static/media/sort-down.9bcd86c8.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSortUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: 15,\n height: 10,\n viewBox: \"0 0 401.998 401.998\",\n style: {\n enableBackground: \"new 0 0 401.998 401.998\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.092,164.452h255.813c4.949,0,9.233-1.807,12.848-5.424c3.613-3.616,5.427-7.898,5.427-12.847 c0-4.949-1.813-9.229-5.427-12.85L213.846,5.424C210.232,1.812,205.951,0,200.999,0s-9.233,1.812-12.85,5.424L60.242,133.331 c-3.617,3.617-5.424,7.901-5.424,12.85c0,4.948,1.807,9.231,5.424,12.847C63.863,162.645,68.144,164.452,73.092,164.452z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"lightgrey\",\n d: \"M328.905,237.549H73.092c-4.952,0-9.233,1.808-12.85,5.421c-3.617,3.617-5.424,7.898-5.424,12.847 c0,4.949,1.807,9.233,5.424,12.848L188.149,396.57c3.621,3.617,7.902,5.428,12.85,5.428s9.233-1.811,12.847-5.428l127.907-127.906 c3.613-3.614,5.427-7.898,5.427-12.848c0-4.948-1.813-9.229-5.427-12.847C338.139,239.353,333.854,237.549,328.905,237.549z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSortUp);\nexport default __webpack_public_path__ + \"static/media/sort-up.8e1b3b11.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSort(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: 15,\n height: 10,\n viewBox: \"0 0 401.998 401.998\",\n style: {\n enableBackground: \"new 0 0 401.998 401.998\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.092,164.452h255.813c4.949,0,9.233-1.807,12.848-5.424c3.613-3.616,5.427-7.898,5.427-12.847 c0-4.949-1.813-9.229-5.427-12.85L213.846,5.424C210.232,1.812,205.951,0,200.999,0s-9.233,1.812-12.85,5.424L60.242,133.331 c-3.617,3.617-5.424,7.901-5.424,12.85c0,4.948,1.807,9.231,5.424,12.847C63.863,162.645,68.144,164.452,73.092,164.452z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M328.905,237.549H73.092c-4.952,0-9.233,1.808-12.85,5.421c-3.617,3.617-5.424,7.898-5.424,12.847 c0,4.949,1.807,9.233,5.424,12.848L188.149,396.57c3.621,3.617,7.902,5.428,12.85,5.428s9.233-1.811,12.847-5.428l127.907-127.906 c3.613-3.614,5.427-7.898,5.427-12.848c0-4.948-1.813-9.229-5.427-12.847C338.139,239.353,333.854,237.549,328.905,237.549z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSort);\nexport default __webpack_public_path__ + \"static/media/sort.4b1c1935.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSpyGlass(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Search\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2\",\n \"data-name\": \"Path 2\",\n d: \"M2,7A4.951,4.951,0,0,1,7,2a4.951,4.951,0,0,1,5,5,4.951,4.951,0,0,1-5,5A4.951,4.951,0,0,1,2,7Zm12.3,8.7a.99.99,0,0,0,1.4-1.4l-3.1-3.1A6.847,6.847,0,0,0,14,7,6.957,6.957,0,0,0,7,0,6.957,6.957,0,0,0,0,7a6.957,6.957,0,0,0,7,7,6.847,6.847,0,0,0,4.2-1.4Z\",\n fill: \"#fff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSpyGlass);\nexport default __webpack_public_path__ + \"static/media/spy-glass.e2dbb4c3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStopwatch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 21,\n viewBox: \"0 0 18 21\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_timer_24px\",\n d: \"M15,1H9V3h6ZM11,14h2V8H11Zm8.03-6.61,1.42-1.42a11.048,11.048,0,0,0-1.41-1.41L17.62,5.98a9,9,0,1,0,1.41,1.41ZM12,20a7,7,0,1,1,7-7A6.995,6.995,0,0,1,12,20Z\",\n transform: \"translate(-3 -1)\",\n fill: \"#a5a4bf\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStopwatch);\nexport default __webpack_public_path__ + \"static/media/stopwatch.8ba455b3.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStoreVisit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_350\",\n \"data-name\": \"Group 350\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#549dba\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_directions_run_24px\",\n d: \"M16.716,6.7a2.609,2.609,0,1,0-2.609-2.609A2.616,2.616,0,0,0,16.716,6.7Zm-4.7,18.13,1.3-5.739L16.064,21.7v7.826h2.609V19.741l-2.739-2.609.783-3.913A9.551,9.551,0,0,0,23.89,16.48V13.871a6.416,6.416,0,0,1-5.609-3.13l-1.3-2.087a2.69,2.69,0,0,0-2.217-1.3c-.391,0-.652.13-1.043.13L6.933,10.35v6.13H9.542V12.045l2.348-.913L9.8,21.7l-6.391-1.3L2.89,23Z\",\n transform: \"translate(131.11 220.52)\",\n fill: \"#549dba\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStoreVisit);\nexport default __webpack_public_path__ + \"static/media/store-visit.2afc31e6.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 480.606 480.606\",\n style: {\n enableBackground: \"new 0 0 480.606 480.606\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M480.606,458.915l-71.348-71.349c12.528-16.886,19.949-37.777,19.949-60.37c0-36.203-19.05-68.036-47.648-86.016v-26.6 c18.229-14.417,29.962-36.716,29.962-61.721v-3.16l-35.182-79.802h-34.73V0.479H69.912v69.419H35.183L0,149.7v3.16 c0,25.005,11.733,47.305,29.963,61.721v209.898h268.632c9.217,2.76,18.977,4.25,29.08,4.25c22.594,0,43.485-7.421,60.371-19.95 l71.348,71.349L480.606,458.915z M32.374,167.859H124.8c-6.33,19.508-24.649,33.653-46.213,33.653 C57.023,201.513,38.705,187.367,32.374,167.859z M332.934,201.513c-21.564,0-39.882-14.146-46.212-33.653h92.426 C372.816,187.367,354.498,201.513,332.934,201.513z M99.912,30.479h211.696v39.419H99.912V30.479z M356.778,99.898l16.736,37.961 H38.007l16.737-37.961H356.778z M251.974,167.859c-6.33,19.508-24.649,33.653-46.213,33.653s-39.883-14.146-46.213-33.653H251.974z M59.963,229.262c5.974,1.459,12.207,2.25,18.624,2.25c26.109,0,49.288-12.812,63.587-32.482 c14.299,19.67,37.478,32.482,63.587,32.482s49.288-12.812,63.587-32.482c9.58,13.179,23.15,23.271,38.913,28.502 c-46.73,9.086-82.119,50.316-82.119,99.663c0,25.787,9.669,49.355,25.565,67.283H59.963V229.262z M327.675,398.729 c-39.443,0-71.533-32.09-71.533-71.533s32.09-71.533,71.533-71.533s71.532,32.089,71.532,71.533S367.118,398.729,327.675,398.729z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null)), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStore);\nexport default __webpack_public_path__ + \"static/media/store.365087ac.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSwitzerland(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 40,\n height: 40,\n viewBox: \"0 0 40 40\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern\",\n preserveAspectRatio: \"xMidYMid slice\",\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 225 225\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n width: 225,\n height: 225,\n xlinkHref: \"data:image/png;base64,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\"\n })))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n id: \"c65625c104745b0f1cc026d903c26876\",\n cx: 20,\n cy: 20,\n r: 20,\n fill: \"url(#pattern)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSwitzerland);\nexport default __webpack_public_path__ + \"static/media/switzerland.7a4b5bc4.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTableRow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n fill: \"#000000\",\n width: \"18px\",\n height: \"16px\",\n viewBox: \"0 0 14 14\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2,6 L2,12 L3,12 C3.55228475,12 4,12.4477153 4,13 C4,13.5522847 3.55228475,14 3,14 L2,14 C0.8954305,14 0,13.1045695 0,12 L0,2 C0,0.8954305 0.8954305,0 2,0 L12,0 C13.1045695,0 14,0.8954305 14,2 L14,12 C14,13.1045695 13.1045695,14 12,14 L11,14 C10.4477153,14 10,13.5522847 10,13 C10,12.4477153 10.4477153,12 11,12 L12,12 L12,6 L2,6 Z M2,4 L4,4 L4,2 L2,2 L2,4 Z M6,2 L6,4 L8,4 L8,2 L6,2 Z M10,2 L10,4 L12,4 L12,2 L10,2 Z M8,11 L8,12 C8,12.5522847 7.55228475,13 7,13 C6.44771525,13 6,12.5522847 6,12 L6,11 L5,11 C4.44771525,11 4,10.5522847 4,10 C4,9.44771525 4.44771525,9 5,9 L6,9 L6,8 C6,7.44771525 6.44771525,7 7,7 C7.55228475,7 8,7.44771525 8,8 L8,9 L9,9 C9.55228475,9 10,9.44771525 10,10 C10,10.5522847 9.55228475,11 9,11 L8,11 Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTableRow);\nexport default __webpack_public_path__ + \"static/media/table-row.6ce5d6a8.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgThreeDots(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 4,\n viewBox: \"0 0 16 4\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"menu-icon\",\n d: \"M12,2a2,2,0,1,1,2,2A2,2,0,0,1,12,2ZM6,2A2,2,0,1,1,8,4,2,2,0,0,1,6,2ZM0,2A2,2,0,1,1,2,4,2,2,0,0,1,0,2Z\",\n fill: \"#a4afb7\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgThreeDots);\nexport default __webpack_public_path__ + \"static/media/three-dots.68d22931.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTotalCustomers(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_512\",\n \"data-name\": \"Group 512\",\n transform: \"translate(-1259 -214)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_329\",\n \"data-name\": \"Group 329\",\n transform: \"translate(1142 6)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#8fcae2\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n })))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_developer_mode_24px\",\n d: \"M7.563,5.75H19.438V8.125h2.375V3.375a2.372,2.372,0,0,0-2.375-2.363L7.563,1A2.382,2.382,0,0,0,5.188,3.375v4.75H7.563Zm9.987,13.763L23,14.063,17.549,8.612,15.875,10.3l3.764,3.764-3.764,3.764Zm-6.424-1.686L7.361,14.063,11.125,10.3,9.451,8.612,4,14.063l5.451,5.451Zm8.313,4.548H7.563V20H5.188v4.75a2.382,2.382,0,0,0,2.375,2.375H19.438a2.382,2.382,0,0,0,2.375-2.375V20H19.438Z\",\n transform: \"translate(1273 229)\",\n fill: \"#549dba\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTotalCustomers);\nexport default __webpack_public_path__ + \"static/media/total-customers.14503460.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTransactionDollar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 57,\n height: 55,\n viewBox: \"0 0 57 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_511\",\n \"data-name\": \"Group 511\",\n transform: \"translate(-109 -890)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_484\",\n \"data-name\": \"Group 484\",\n transform: \"translate(-8 682)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#549DBA\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n })))), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"$\",\n transform: \"translate(131 901)\",\n fill: \"#549DBA\",\n fontSize: 22,\n fontFamily: \"SourceSansPro-Bold, Source Sans Pro\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 23\n }, \"$\")))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransactionDollar);\nexport default __webpack_public_path__ + \"static/media/transaction-dollar.56eb0b0e.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTransactionVertical(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: \"svg-icon\",\n style: {\n verticalAlign: \"middle\",\n fill: \"#F55E7B\",\n overflow: \"hidden\"\n },\n width: 57,\n height: 55,\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512 0C229.228 0 0 229.228 0 512s229.228 512 512 512 512-229.228 512-512S794.772 0 512 0z m0 954.182C267.818 954.182 69.818 756.205 69.818 512S267.818 69.818 512 69.818c244.228 0 442.182 197.977 442.182 442.182S756.228 954.182 512 954.182z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M456.909 578.716l-57.637 57.637V302.534c0-19.272-15.636-34.909-34.909-34.909-19.272 0-34.909 15.637-34.909 34.909v336.738l-57.613-57.67c-13.659-13.591-35.772-13.591-49.363 0.022-13.659 13.659-13.705 35.772-0.068 49.364l115.204 115.204c5.364 5.363 12.068 8.103 19 9.228 0.387 0.091 0.773 0.193 1.159 0.261 1.432 0.193 2.818 0.433 4.25 0.433 0.796 0.057 1.546 0.238 2.341 0.238 11.909 0 22.409-5.978 28.705-15.08l113.204-113.17c13.637-13.637 13.637-35.75 0.023-49.363-13.683-13.636-35.796-13.682-49.387-0.023zM686.363 277.784c-5.295-5.295-11.932-8-18.772-9.159-0.5-0.113-1-0.25-1.522-0.352-1.364-0.17-2.659-0.398-4.022-0.409-0.818-0.045-1.592-0.239-2.433-0.239-11.886 0-22.341 5.966-28.659 15.034l-113.25 113.239c-13.636 13.636-13.636 35.75-0.022 49.364 13.682 13.613 35.796 13.659 49.387 0.022l57.636-57.636v333.795c0 19.296 15.637 34.909 34.909 34.909 19.273 0 34.909-15.613 34.909-34.909V384.716l57.614 57.659c13.659 13.591 35.772 13.591 49.363 0 13.659-13.659 13.704-35.795 0.068-49.386L686.363 277.784z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransactionVertical);\nexport default __webpack_public_path__ + \"static/media/transaction-vertical.463dea39.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTransaction(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_511\",\n \"data-name\": \"Group 511\",\n transform: \"translate(1621.913 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(-1621.913 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 27.5 54 C 23.92207908630371 54 20.45171928405762 53.29948043823242 17.18531036376953 51.91791152954102 C 14.02982997894287 50.58324813842773 11.19571018218994 48.67237091064453 8.761670112609863 46.23833084106445 C 6.327630043029785 43.80429077148438 4.416749954223633 40.97016906738281 3.082089900970459 37.81468963623047 C 1.700520038604736 34.54827880859375 1 31.07792091369629 1 27.5 C 1 24.0296802520752 1.65910005569458 20.70805931091309 3.014970064163208 17.34535026550293 C 3.960249900817871 14.99736976623535 5.260859966278076 12.79465961456299 6.880889892578125 10.79792976379395 C 8.491410255432129 8.812919616699219 10.385009765625 7.071209907531738 12.5090799331665 5.621170043945312 C 16.93758010864258 2.597970008850098 22.1213493347168 1 27.5 1 C 31.07792091369629 1 34.54827880859375 1.700520038604736 37.81468963623047 3.082089900970459 C 40.97016906738281 4.416749954223633 43.80429077148438 6.327630043029785 46.23833084106445 8.761670112609863 C 48.67237091064453 11.19571018218994 50.58324813842773 14.02982997894287 51.91791152954102 17.18531036376953 C 53.29948043823242 20.45171928405762 54 23.92207908630371 54 27.5 C 54 31.07792091369629 53.29948043823242 34.54827880859375 51.91791152954102 37.81468963623047 C 50.58324813842773 40.97016906738281 48.67237091064453 43.80429077148438 46.23833084106445 46.23833084106445 C 43.80429077148438 48.67237091064453 40.97016906738281 50.58324813842773 37.81468963623047 51.91791152954102 C 34.54827880859375 53.29948043823242 31.07792091369629 54 27.5 54 Z\",\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 27.5 2 C 22.32336044311523 2 17.33454895019531 3.537769317626953 13.07289886474609 6.447071075439453 C 11.02890014648438 7.842441558837891 9.206878662109375 9.518260955810547 7.657451629638672 11.427978515625 C 6.100360870361328 13.34712982177734 4.850578308105469 15.4635009765625 3.942420959472656 17.71931076049805 C 2.635368347167969 20.96094131469727 2 24.16023063659668 2 27.5 C 2 30.943359375 2.673938751220703 34.28266143798828 4.003101348876953 37.42514038085938 C 5.287330627441406 40.46141815185547 7.126258850097656 43.18869781494141 9.468780517578125 45.53121948242188 C 11.81129837036133 47.87374114990234 14.53858184814453 49.71266937255859 17.57485961914062 50.99689865112305 C 20.71733856201172 52.3260612487793 24.056640625 53 27.5 53 C 30.943359375 53 34.28266143798828 52.3260612487793 37.42514038085938 50.99689865112305 C 40.46141815185547 49.71266937255859 43.18869781494141 47.87374114990234 45.53121948242188 45.53121948242188 C 47.87374114990234 43.18869781494141 49.71266937255859 40.46141815185547 50.99689865112305 37.42514038085938 C 52.3260612487793 34.28266143798828 53 30.943359375 53 27.5 C 53 24.056640625 52.3260612487793 20.71733856201172 50.99689865112305 17.57485961914062 C 49.71266937255859 14.53858184814453 47.87374114990234 11.81129837036133 45.53121948242188 9.468780517578125 C 43.18869781494141 7.126258850097656 40.46141815185547 5.287330627441406 37.42514038085938 4.003101348876953 C 34.28266143798828 2.673938751220703 30.943359375 2 27.5 2 M 27.5 0 C 42.68782806396484 0 55 12.31216812133789 55 27.5 C 55 42.68782806396484 42.68782806396484 55 27.5 55 C 12.31216812133789 55 0 42.68782806396484 0 27.5 C 0 23.87010955810547 0.7032814025878906 20.40447998046875 2.087520599365234 16.97140121459961 C 6.049480438232422 7.130241394042969 15.94205856323242 0 27.5 0 Z\",\n stroke: \"none\",\n fill: \"#be71a3\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_import_export_24px\",\n d: \"M6,0,0,5.985H4.5V16.5h3V5.985H12ZM16.5,21.015V10.5h-3V21.015H9L15,27l6-5.985Z\",\n transform: \"translate(-1607.913 247) rotate(-90)\",\n fill: \"#be71a3\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransaction);\nexport default __webpack_public_path__ + \"static/media/transaction.af31de74.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUpArrowGreen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"13px\",\n height: \"13px\",\n fill: \"#50DA94\",\n viewBox: \"0 0 512 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"arrow-top-glyph\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"256 0 362.35 115.09 468.7 230.55 338.04 230.55 338.04 512 166.74 512 166.74 230.55 43.3 230.55 149.65 115.09 256 0\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpArrowGreen);\nexport default __webpack_public_path__ + \"static/media/up-arrow-green.701b59ba.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUpload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 100.012,\n height: 64.293,\n viewBox: \"0 0 100.012 64.293\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_343\",\n \"data-name\": \"Path 343\",\n d: \"M81.729,27.057c0-.268.045-.536.045-.8A26.036,26.036,0,0,0,55.944,0,25.749,25.749,0,0,0,32.66,14.957a13.225,13.225,0,0,0-5.983-1.451A13.394,13.394,0,0,0,13.551,24.78,20.342,20.342,0,0,0,19.98,64.293H42.862V46.434H32.1l17.9-18.685,17.9,18.663H57.15V64.271H81.773a18.61,18.61,0,0,0-.045-37.214Z\",\n transform: \"translate(0 0)\",\n fill: \"#43425d\",\n opacity: 0.1\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpload);\nexport default __webpack_public_path__ + \"static/media/upload.f5ecc3a9.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUserLocation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n fill: \"#4ad991\",\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n viewBox: \"0 0 394.254 394.254\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M197.127,0c-77.197,0-140,62.806-140,140.002c0,31.703,20.895,81.688,63.879,152.813 c30.721,50.832,60.926,92.583,62.197,94.335c3.236,4.46,8.412,7.104,13.924,7.104c5.512,0,10.689-2.644,13.926-7.104 c1.27-1.752,31.477-43.503,62.195-94.335c42.984-71.125,63.879-121.11,63.879-152.813C337.127,62.806,274.324,0,197.127,0z M201.801,172.82c-0.057-0.538,0.119-1.075,0.482-1.474c0.199-0.224,0.447-0.395,0.719-0.502v-4.763 c0-0.929,0.666-1.721,1.576-1.883c1.518-0.27,3.076-0.825,4.639-1.648c0.594-0.313,1.307-0.295,1.881,0.051 c0.574,0.346,0.924,0.967,0.924,1.639l0.002,11.419c0,0.418-0.135,0.82-0.385,1.15l-5.363,7.12 c-0.367,0.486-0.938,0.762-1.527,0.762c-0.17,0-0.344-0.024-0.512-0.073c-0.758-0.208-1.309-0.862-1.389-1.644L201.801,172.82z M202.26,154.088h-10.266c-2.27,0-6.65-3.033-11.322-9.814c-3.691-5.349-6.256-11.266-6.859-15.833l-0.104-0.791l-1.854-1.207 c-0.543-0.352-0.871-0.954-0.871-1.6v-3.147c0-1.058,0.857-1.911,1.912-1.911h0.781v-3.41c0-0.722,0.408-1.384,1.057-1.708 c2.631-1.314,7.854-3.518,13.26-3.518c4.314,0,7.891,1.437,10.631,4.263c3.414,3.53,7.35,5.32,11.697,5.32 c2.461,0,5.006-0.582,7.563-1.726c0.59-0.267,1.273-0.213,1.818,0.139c0.256,0.165,0.463,0.387,0.609,0.64h1.045 c1.055,0,1.91,0.854,1.91,1.911v3.147c0,0.646-0.326,1.248-0.869,1.6l-1.855,1.207l-0.102,0.785 c-0.605,4.572-3.168,10.49-6.861,15.84C208.908,151.056,204.529,154.088,202.26,154.088z M191.971,171.347 c0.363,0.398,0.539,0.936,0.482,1.474l-1.047,10.156c-0.08,0.785-0.631,1.437-1.389,1.647c-0.17,0.048-0.342,0.07-0.512,0.07 c-0.592,0-1.16-0.273-1.527-0.761l-5.371-7.124c-0.25-0.332-0.385-0.734-0.385-1.15l0.008-11.422c0-0.67,0.352-1.291,0.926-1.637 s1.285-0.365,1.879-0.05c1.563,0.823,3.123,1.379,4.639,1.648c0.912,0.162,1.576,0.954,1.576,1.883v4.763 C191.523,170.952,191.772,171.123,191.971,171.347z M258.922,199.752c-4.084-15.856-9.832-31.474-16.93-33.513l-21.26-6.444 c-0.514-1.557-1.652-2.898-3.244-4.034c1.752-1.947,3.23-3.919,4.355-5.55c2.668-3.869,4.887-8.034,6.426-12.056 c0.758-1.697,1.402-3.398,1.926-5.07c2.07-1.732,3.289-4.323,3.289-7.043v-6.658c0-1.909-0.602-3.779-1.705-5.328v-9.372 c0-16.443-13.379-29.818-29.82-29.818h-9.664c-16.441,0-29.82,13.375-29.82,29.818v9.373c-1.105,1.55-1.705,3.42-1.705,5.327v6.658 c0,2.715,1.219,5.306,3.289,7.041c0.521,1.672,1.168,3.375,1.926,5.076c1.537,4.018,3.758,8.184,6.426,12.051 c1.125,1.63,2.604,3.603,4.355,5.551c-1.592,1.136-2.73,2.478-3.244,4.034l-21.26,6.444c-7.098,2.039-12.846,17.656-16.93,33.513 c-14.977-15.483-24.207-36.558-24.207-59.75c0-47.422,38.58-86.004,86.002-86.004c47.422,0,86.002,38.582,86.002,86.004 C283.129,163.194,273.898,184.268,258.922,199.752z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUserLocation);\nexport default __webpack_public_path__ + \"static/media/user-location.5ecf9591.svg\";\nexport { ForwardRef as ReactComponent };","var _metadata, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUserManagement(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 256 256\",\n enableBackground: \"new 0 0 256 256\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _metadata || (_metadata = /*#__PURE__*/React.createElement(\"metadata\", null, \" Svg Vector Icons : http://www.onlinewebfonts.com/icon \")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#a2a2ad\",\n d: \"M246,197.2l0-23.9c0,0-15.8-3.1-16.1-4.2c-0.3-1.2-0.6-2.3-1-3.4c1.9-3.4,10.8-11,10.8-11l-17.8-23.7c0,0-11.6,9.5-14.4,10.9c-1.3-0.5-2.7-1-4.2-1.4c-1.6-0.4-5.9-15.6-5.9-15.6l-24-0.2c0,0-2.6,14.7-6.5,15.7c-1.3,0.4-2.6,0.9-3.9,1.5c-2.9-1.4-14.4-11.1-14.4-11.1l-17.8,24.1c0,0,8.9,9,9.5,12c-0.4,0.9-0.7,1.9-1.1,2.9c-3.8,1.3-14.7,3.5-14.7,3.5l0,23.9c0,0,12.7,2.6,15.1,4.8c0.5,1.4,1.1,2.7,1.7,4c-2.9,3.7-10.7,9.8-10.7,9.8l18.4,23.9c0,0,14.4-9.3,16.8-9.9c1.2,0.5,2.4,1,3.6,1.4c2.2,0.8,3.7,14.7,3.7,14.7l24,0c0,0,0.8-13.7,2.6-14.2c1.7-0.6,3.4-1.2,5.1-1.9c2,0.8,11.5,10.2,11.5,10.2l23.7-24.1c0,0-8.8-6.1-11.2-9.3c0.7-1.3,1.3-2.7,1.8-4.2C231.3,200.2,246,197.2,246,197.2L246,197.2L246,197.2z M185,215.3c-16.7,0-30.2-13.5-30.2-30.2s13.5-30.2,30.2-30.2s30.2,13.5,30.2,30.2S201.7,215.3,185,215.3L185,215.3L185,215.3z M108.1,123.4c27.5,0,55.5-27,55.5-55.7c0-28.6-26.6-57.7-54.1-57.7c-27.5,0-54.8,29.8-54.8,58.4C54.6,97.1,80.6,123.4,108.1,123.4L108.1,123.4L108.1,123.4z M120.1,135.3h-55c-13.8,0-34.4,7.2-41.3,28.6c-6.9,21.5-6.9,21.5-13.8,42.9c-3.4,10.8,46.9,16.3,97,16.1c16.6,0,5.3-13.7,5.3-31C112.5,152.5,146.2,135.3,120.1,135.3L120.1,135.3L120.1,135.3z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUserManagement);\nexport default __webpack_public_path__ + \"static/media/user-management.039c3f12.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVipCustomer(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 55,\n height: 55,\n viewBox: \"0 0 55 55\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_491\",\n \"data-name\": \"Group 491\",\n transform: \"translate(-117 -208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(117 208)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon.BG\",\n fill: \"#fff\",\n stroke: \"#f8b112\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 27.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27.5,\n cy: 27.5,\n r: 26.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_group_24px\",\n d: \"M20.964,12.986a3.993,3.993,0,1,0-3.993-3.993A3.976,3.976,0,0,0,20.964,12.986Zm-10.648,0A3.993,3.993,0,1,0,6.324,8.993,3.976,3.976,0,0,0,10.317,12.986Zm0,2.662C7.216,15.648,1,17.2,1,20.306v3.327H19.634V20.306C19.634,17.2,13.418,15.648,10.317,15.648Zm10.648,0c-.386,0-.825.027-1.291.067A5.617,5.617,0,0,1,22.3,20.306v3.327h7.986V20.306C30.281,17.2,24.066,15.648,20.964,15.648Z\",\n transform: \"translate(128.062 221.01)\",\n fill: \"#f8b112\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVipCustomer);\nexport default __webpack_public_path__ + \"static/media/vip-customer.810e46d1.svg\";\nexport { ForwardRef as ReactComponent };","import { WebConfigModel } from \"./api\";\r\nimport { Beaconsmind } from \"./app/icons/Icons\";\r\nimport { Translations } from \"./services/localization\";\r\n\r\nimport \"./deployments.scss\";\r\n\r\nexport interface UISettings {\r\n title: string;\r\n cssClass: string;\r\n loginLogo: React.ReactNode;\r\n navbarLogo: React.ReactNode;\r\n loginWallpaperSrc: string;\r\n translations: Translations;\r\n}\r\n\r\nexport const defaultSettings: UISettings & WebConfigModel = {\r\n title: \"beaconsmind Suite\",\r\n loginLogo: ,\r\n loginWallpaperSrc: \"images/wallpaper-login.jpg\",\r\n navbarLogo: ,\r\n cssClass: \"\",\r\n translations: {\r\n store: {\r\n singular: \"Store\",\r\n plural: \"Stores\",\r\n },\r\n },\r\n disablePurchaseHistories: true,\r\n enablePurchasesImport: false,\r\n enableProductsImport: false,\r\n enableWhitelabelFeatures: false,\r\n enablePocFeatures: false,\r\n enableChangeLog: false,\r\n};\r\n\r\nexport const deployments: Record> = {\r\n suxxess: {\r\n title: \"Suxxess Suite\",\r\n cssClass: \"deployment-suxxess\",\r\n loginLogo: \"logo\",\r\n navbarLogo: \"logo\",\r\n },\r\n skycell: {\r\n cssClass: \"deployment-skycell\",\r\n loginLogo: \"logo\",\r\n },\r\n demo: {\r\n cssClass: \"deployment-demo\",\r\n loginWallpaperSrc: \"variants/demo/login-wallpaper.jpg\",\r\n },\r\n sportfive: {\r\n translations: {\r\n store: {\r\n singular: \"Venue\",\r\n plural: \"Venues\",\r\n },\r\n },\r\n },\r\n};\r\n","import { isEqual, noop } from \"lodash\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst log = false ? console.log : noop;\r\n\r\nexport function useWasUnmountedRef() {\r\n const wasUnmountedRef = useRef(false);\r\n useEffect(() => {\r\n return () => {\r\n wasUnmountedRef.current = true;\r\n };\r\n }, []);\r\n return wasUnmountedRef;\r\n}\r\n\r\nexport function useEventHandler(handler: T) {\r\n const handlerRef = useRef(handler);\r\n handlerRef.current = handler;\r\n return handlerRef;\r\n}\r\n\r\nexport function useCachedInstance(value: T): T {\r\n const instanceRef = useRef();\r\n if (!isEqual(value, instanceRef.current)) {\r\n instanceRef.current = value;\r\n }\r\n return instanceRef.current!;\r\n}\r\n\r\nexport function useStateEx(initial: TState | (() => TState), component?: string) {\r\n const [state, innerSet] = useState(initial);\r\n // const isUnmounted = useIsUnmountedRef();\r\n\r\n const setState = useCallback(\r\n (value: TState | ((state: TState) => TState)) => {\r\n if (component) log(\"Setting\", component, \"to\", value);\r\n innerSet(value);\r\n },\r\n [component]\r\n );\r\n\r\n const mergeState = useCallback(\r\n (partial: Partial | ((state: TState) => Partial | undefined)) => {\r\n // if (isUnmounted.current) {\r\n // eslint-disable-next-line no-console\r\n // console.warn(\"Skipping state update due to unmounted component!\");\r\n // return;\r\n // }\r\n\r\n if (typeof partial === \"function\") {\r\n if (component) log(\"Setting\", component, \"state via factory\");\r\n innerSet((prev) => {\r\n const next = partial(prev);\r\n if (next !== undefined && next !== prev) {\r\n const value = {\r\n ...prev,\r\n ...next,\r\n };\r\n if (component) log(\" :resolving\", component, \"state to\", value);\r\n return value;\r\n } else {\r\n if (component) log(\" :resolving\", component, \"state update\");\r\n return prev;\r\n }\r\n });\r\n } else {\r\n if (component) log(\"Merging\", component, \"state with\", partial);\r\n innerSet((prev) => ({\r\n ...prev,\r\n ...partial,\r\n }));\r\n }\r\n },\r\n [component]\r\n );\r\n\r\n return { state, mergeState, setState };\r\n}\r\n","export function isProvided(i: T | undefined | null): i is T {\r\n return i !== undefined && i !== null;\r\n}\r\n\r\nexport function tryParseJson(text: T | string | undefined | null): T | null {\r\n try {\r\n if (text && typeof text === \"string\") {\r\n return JSON.parse(text);\r\n } else if (text && typeof text === \"object\") {\r\n return text;\r\n }\r\n } catch {\r\n return null;\r\n }\r\n return null;\r\n}\r\n\r\nexport function imageExists(url: string | undefined | null) {\r\n return new Promise((resolve) => {\r\n if (url && url.length > 0) {\r\n const img = document.createElement(\"img\");\r\n img.onload = () => {\r\n img.remove();\r\n resolve(true);\r\n };\r\n img.onerror = () => {\r\n img.remove();\r\n resolve(false);\r\n };\r\n img.setAttribute(\"src\", url);\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n}\r\n\r\nexport interface CancellablePromise extends Promise {\r\n cancel: () => void;\r\n}\r\n\r\nexport function makeCancellable(promise: Promise): CancellablePromise {\r\n const state = { isCancelled: false };\r\n\r\n const enriched = new Promise((resolve, reject) => {\r\n promise\r\n .then((...args) => !state.isCancelled && resolve(...args))\r\n .catch((error) => !state.isCancelled && reject(error));\r\n });\r\n\r\n Object.defineProperty(enriched, \"cancel\", {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: () => {\r\n state.isCancelled = true;\r\n },\r\n });\r\n\r\n return enriched as CancellablePromise;\r\n}\r\n\r\nexport const mouseEvents = [\r\n \"onClick\",\r\n \"onContextMenu\",\r\n \"onDoubleClick\",\r\n \"onDrag\",\r\n \"onDragEnd\",\r\n \"onDragEnter\",\r\n \"onDragExit\",\r\n \"onDragLeave\",\r\n \"onDragOver\",\r\n \"onDragStart\",\r\n \"onDrop\",\r\n \"onMouseDown\",\r\n \"onMouseEnter\",\r\n \"onMouseLeave\",\r\n \"onMouseMove\",\r\n \"onMouseOut\",\r\n \"onMouseOver\",\r\n \"onMouseUp\",\r\n];\r\nexport const touchEvents = [\"onTouchCancel\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\"];\r\nexport const keyboardEvents = [\"onKeyDown\", \"onKeyPress\", \"onKeyUp\"];\r\nexport const focusEvents = [\"onFocus\", \"onBlur\"];\r\n\r\n/**\r\n * Returns an object with on-event callback props curried with provided args.\r\n * @param {Object} props Props passed to a component.\r\n * @param {Function=} getArgs A function that returns argument(s) on-event callbacks\r\n * shall be curried with.\r\n */\r\nexport const makeEventProps = (props: any, getArgs: (event: string) => any) => {\r\n const eventProps: any = {};\r\n\r\n [...mouseEvents, ...touchEvents, ...keyboardEvents, ...focusEvents].forEach((eventName) => {\r\n if (props[eventName]) {\r\n eventProps[eventName] = (event: any) =>\r\n getArgs ? props[eventName](event, getArgs(eventName)) : props[eventName](event);\r\n }\r\n });\r\n\r\n return eventProps;\r\n};\r\n","import flyd from \"flyd\";\r\nimport { isEqual, isFunction, noop } from \"lodash\";\r\nimport { useEffect, useMemo, useRef, useState } from \"react\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst logFunction = false ? console.log : noop;\r\n\r\nexport type S = flyd.Stream & { _debugName?: string };\r\n\r\nexport function listen(state: S, onChange: (value: T) => void, ignoreDeepEqualChanges?: boolean) {\r\n return flyd.scan(\r\n (prev, next) => {\r\n const ignoreChange = ignoreDeepEqualChanges ? isEqual(prev, next) : prev === next;\r\n if (ignoreChange) {\r\n return next;\r\n } else {\r\n onChange(next);\r\n return next;\r\n }\r\n },\r\n state(),\r\n state\r\n );\r\n}\r\n\r\nexport function createStore(initial: T | (() => T), name?: string): S {\r\n const store = (() => {\r\n if (isFunction(initial)) {\r\n return flyd.stream(initial());\r\n } else {\r\n return flyd.stream(initial);\r\n }\r\n })();\r\n\r\n if (name !== undefined) {\r\n Object.defineProperty(store, \"_debugName\", {\r\n writable: false,\r\n enumerable: false,\r\n value: name,\r\n });\r\n }\r\n\r\n return store;\r\n}\r\n\r\ntype SetStateMethod = (value: T | ((prev: T) => T)) => void;\r\ntype MergeStateMethod = (value: Partial | ((prev: T) => Partial | undefined)) => void;\r\n\r\nfunction createMutators(store: S) {\r\n const logger =\r\n store._debugName !== undefined ? (value: T) => logFunction(\"Setting\", store._debugName, \"state to\", value) : noop;\r\n\r\n const setState: SetStateMethod = (value) => {\r\n if (isFunction(value)) {\r\n const prev = store();\r\n const next = value(prev);\r\n logger(next);\r\n store(next);\r\n } else {\r\n logger(value);\r\n store(value);\r\n }\r\n };\r\n\r\n const mergeState: MergeStateMethod = (value) => {\r\n const previous = store();\r\n if (isFunction(value)) {\r\n const mutation = value(previous);\r\n if (mutation !== undefined && mutation !== previous) {\r\n const next = {\r\n ...previous,\r\n ...mutation,\r\n };\r\n logger(next);\r\n store(next);\r\n }\r\n } else {\r\n const next = {\r\n ...previous,\r\n ...value,\r\n };\r\n logger(next);\r\n store(next);\r\n }\r\n };\r\n\r\n return { setState, mergeState };\r\n}\r\n\r\nexport function useStore(store: S, component?: string): [T, SetStateMethod, MergeStateMethod] {\r\n const [componentState, setComponentState] = useState(() => store());\r\n useEffect(() => {\r\n const listener = listen(store, (value) => {\r\n if (component !== undefined) {\r\n logFunction(\"Propagating\", store._debugName, \"state to\", component, \"component\");\r\n }\r\n setComponentState(value);\r\n });\r\n return () => {\r\n listener.end(true);\r\n };\r\n }, [store, component]);\r\n\r\n const { setState, mergeState } = useMemo(() => createMutators(store), [store]);\r\n\r\n return [componentState, setState, mergeState];\r\n}\r\n\r\nexport function useMappedStore(\r\n store: S,\r\n mapFunction: (m: I) => O,\r\n skipDeepEqualChanges?: boolean,\r\n component?: string\r\n): O {\r\n const mapFunctionRef = useRef(mapFunction);\r\n if (mapFunctionRef.current !== mapFunction) {\r\n throw new Error(\r\n component !== undefined\r\n ? `Changing mapping function is not supported in ${component}!`\r\n : `Changing mapping function is not supported!`\r\n );\r\n }\r\n\r\n const [proxy, setProxy] = useState(() => {\r\n const initial = mapFunction(store());\r\n if (component !== undefined) {\r\n logFunction(\"Initializing mapped\", store._debugName, \"state for\", component, \"component:\", initial);\r\n }\r\n return initial;\r\n });\r\n useEffect(() => {\r\n const mapped = store.map(mapFunctionRef.current);\r\n const listener = listen(\r\n mapped,\r\n (value) => {\r\n if (component !== undefined) {\r\n logFunction(\"Propagating mapped \", store._debugName, \"state to\", component, \"component:\", value);\r\n }\r\n setProxy(value);\r\n },\r\n skipDeepEqualChanges\r\n );\r\n return () => {\r\n mapped.end(true);\r\n listener.end(true);\r\n };\r\n }, [store, component, skipDeepEqualChanges]);\r\n\r\n return proxy;\r\n}\r\n","import { AxiosRequestConfig } from \"axios\";\r\nimport decodeJwt from \"jwt-decode\";\r\nimport { AccessControlApi, AuthApi, Configuration, UserPermissions } from \"../api\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { tryParseJson } from \"../services/objects\";\r\nimport { createStore, listen, useMappedStore, useStore } from \"../services/streams\";\r\nimport { getApiConfig, getApiHost } from \"./configuration\";\r\n\r\ninterface TokenPayload {\r\n nameid: string;\r\n aud: string;\r\n email: string;\r\n family_name: string;\r\n given_name: string;\r\n iss: string;\r\n exp: number;\r\n nbf: number;\r\n}\r\n\r\ninterface AuthenticationState {\r\n remember: boolean;\r\n accessToken: string;\r\n localExpiration: Date;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n permissions?: UserPermissions;\r\n}\r\n\r\nconst emptyPermissions = (): UserPermissions => ({\r\n beacons: null,\r\n users: null,\r\n suiteAccess: false,\r\n readSelfUserData: false,\r\n createSuperAdmin: false,\r\n createAdmin: false,\r\n readLogs: false,\r\n accessHangfire: false,\r\n pocManagementAccess: false,\r\n loginViaSocialProvider: false,\r\n deleteContactsAndVisits: false,\r\n deleteMessageStatistics: false,\r\n forceSendMessage: false,\r\n});\r\nconst LOCAL_STORAGE_KEY = \"authentication\";\r\nconst LOCAL_TOKEN_REFRESH_SECONDS = 600;\r\nconst LOCAL_TOKEN_LIFETIME_SECONDS = 3600;\r\nfunction empty(): AuthenticationState {\r\n return {\r\n remember: false,\r\n accessToken: \"\",\r\n localExpiration: new Date(),\r\n permissions: emptyPermissions(),\r\n };\r\n}\r\n\r\nfunction load(): AuthenticationState {\r\n const auth = tryParseJson(localStorage.getItem(LOCAL_STORAGE_KEY));\r\n if (auth) {\r\n if (auth.remember) {\r\n // console.log(\"Found remembered token!\");\r\n return auth;\r\n } else if (new Date(auth.localExpiration) > new Date()) {\r\n // console.log(\"Found unexpired token!\");\r\n return auth;\r\n }\r\n }\r\n return empty();\r\n}\r\n\r\nlet keepAliveHandle: number;\r\nfunction keepAliveWhilePageOpen() {\r\n // console.log(\"Queueing token refresh!\");\r\n window.clearTimeout(keepAliveHandle);\r\n keepAliveHandle = window.setTimeout(() => {\r\n const localExpiration = new Date();\r\n localExpiration.setSeconds(localExpiration.getSeconds() + LOCAL_TOKEN_LIFETIME_SECONDS);\r\n store({\r\n ...store(),\r\n localExpiration: localExpiration,\r\n });\r\n }, LOCAL_TOKEN_REFRESH_SECONDS * 1000);\r\n}\r\n\r\nfunction persistToLocalStorage(state?: AuthenticationState) {\r\n if (!state) {\r\n localStorage.removeItem(LOCAL_STORAGE_KEY);\r\n } else {\r\n const text = JSON.stringify(state);\r\n localStorage.setItem(LOCAL_STORAGE_KEY, text);\r\n if (state.accessToken && !state.remember) {\r\n keepAliveWhilePageOpen();\r\n }\r\n }\r\n}\r\n\r\nconst store = createStore(() => {\r\n const auth = load();\r\n persistToLocalStorage(auth);\r\n loadPermissions(auth.accessToken).then((reloadedPermissions) => {\r\n // eslint-disable-next-line no-console\r\n console.log(\"Refreshed permissions!\");\r\n store({ ...auth, permissions: reloadedPermissions });\r\n });\r\n return auth;\r\n});\r\n\r\nlisten(store, persistToLocalStorage);\r\n\r\nasync function loadPermissions(accessToken: string | undefined) {\r\n const accessControlApi = new AccessControlApi(\r\n new Configuration({\r\n basePath: getApiHost(),\r\n accessToken: accessToken,\r\n })\r\n );\r\n const permissions = await accessControlApi.getPermissions();\r\n if (isHttpOk(permissions)) {\r\n return permissions.data;\r\n } else {\r\n return emptyPermissions();\r\n }\r\n}\r\n\r\ntype LoginResult = { success: true } | { success: false; redirectToApp: boolean; message: string };\r\n\r\nexport async function login(username: string, password: string, remember: boolean): Promise {\r\n const invalidCredentialsMessage = \"Invalid credentials. Please try again.\";\r\n const config = getApiConfig();\r\n const authenticationApi = new AuthApi(config);\r\n try {\r\n const options: AxiosRequestConfig = {\r\n disableUnauthorizedInterception: true,\r\n };\r\n const response = await authenticationApi.token(\r\n {\r\n grantType: \"password\",\r\n password: password,\r\n username: username,\r\n },\r\n options\r\n );\r\n if (isHttpOk(response) && response.data.access_token && response.data.access_token.length > 0) {\r\n const token = response.data.access_token;\r\n const payload = decodeJwt(token);\r\n\r\n if (payload.nameid !== response.data.user_id) {\r\n // eslint-disable-next-line no-console\r\n console.error(\"User id mismatch in access token!\");\r\n return { success: false, redirectToApp: false, message: invalidCredentialsMessage };\r\n }\r\n\r\n // check permissions for suite access\r\n const permissions = await loadPermissions(token);\r\n if (permissions.suiteAccess) {\r\n const localExpiration = new Date();\r\n localExpiration.setSeconds(localExpiration.getSeconds() + LOCAL_TOKEN_LIFETIME_SECONDS);\r\n store({\r\n accessToken: token,\r\n remember: remember,\r\n localExpiration: localExpiration,\r\n firstName: payload.given_name,\r\n lastName: payload.family_name,\r\n userId: payload.nameid,\r\n permissions: permissions,\r\n });\r\n return { success: true };\r\n } else {\r\n return { success: false, redirectToApp: true, message: \"\" };\r\n }\r\n } else {\r\n const message = typeof response.data === \"string\" ? response.data : invalidCredentialsMessage;\r\n return { success: false, redirectToApp: false, message: message };\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n return { success: false, redirectToApp: false, message: \"Unknown error ocurred!\" };\r\n }\r\n}\r\n\r\nexport async function logout() {\r\n await loadPermissions(undefined);\r\n store(empty());\r\n}\r\n\r\nexport function getAccessToken() {\r\n return store().accessToken;\r\n}\r\n\r\nfunction mapToPermissions(state: AuthenticationState) {\r\n return state.permissions || emptyPermissions();\r\n}\r\n\r\nexport function useAuthentication() {\r\n const [state] = useStore(store);\r\n return state;\r\n}\r\n\r\nexport function useAccessControl() {\r\n return useMappedStore(store, mapToPermissions);\r\n}\r\n","import { Configuration, ConfigurationParameters } from \"../api\";\r\nimport { getAccessToken } from \"./authentication\";\r\n\r\nexport function getApiHost() {\r\n let apiUrl = process.env.REACT_APP_API_URL;\r\n if (!apiUrl || apiUrl === \".\") {\r\n apiUrl = `${window.location.protocol}//${window.location.host}`;\r\n }\r\n return apiUrl;\r\n}\r\n\r\nexport function getApiConfig() {\r\n const token = getAccessToken();\r\n const parameters: ConfigurationParameters = {\r\n basePath: getApiHost(),\r\n accessToken: token,\r\n };\r\n return new Configuration(parameters);\r\n}\r\n","import { assign, cloneDeep } from \"lodash\";\r\nimport { PropsWithChildren, createContext, useContext, useEffect } from \"react\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { ConfigurationApi, WebConfigModel } from \"../api\";\r\nimport { ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport { UISettings, defaultSettings, deployments } from \"../deployments\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { getApiConfig } from \"./configuration\";\r\n\r\ntype Context = {\r\n config: WebConfigModel & UISettings;\r\n loading: boolean;\r\n};\r\n\r\nconst context = createContext({\r\n loading: true,\r\n config: cloneDeep(defaultSettings),\r\n});\r\n\r\nfunction buildDeploymentConfig(config: WebConfigModel): UISettings & WebConfigModel {\r\n let cloned = cloneDeep(defaultSettings);\r\n assign(cloned, config);\r\n if (config.suiteVariant && config.suiteVariant in deployments) {\r\n assign(cloned, deployments[config.suiteVariant]);\r\n }\r\n return cloned;\r\n}\r\n\r\nexport function WebConfigProvider(props: PropsWithChildren<{}>) {\r\n const { state, mergeState } = useStateEx({\r\n loading: true,\r\n config: cloneDeep(defaultSettings),\r\n });\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const api = new ConfigurationApi(config);\r\n api\r\n .getWebConfiguration()\r\n .then((model) => {\r\n if (isHttpOk(model)) {\r\n mergeState({\r\n config: buildDeploymentConfig(model.data),\r\n loading: false,\r\n });\r\n } else {\r\n alert.error();\r\n mergeState({\r\n loading: false,\r\n });\r\n }\r\n })\r\n .catch((reason) => {\r\n alert.error();\r\n mergeState({\r\n loading: false,\r\n });\r\n });\r\n }, [mergeState]);\r\n\r\n return {props.children};\r\n}\r\n\r\nexport function useDeploymentConfig() {\r\n return useContext(context);\r\n}\r\n","import * as df from \"date-fns\";\r\n\r\nexport function utcToLocal(date: string | Date): Date;\r\nexport function utcToLocal(date: string | Date | null | undefined): Date | null | undefined;\r\nexport function utcToLocal(date: string | Date | null | undefined) {\r\n if (date === null) return null;\r\n if (date === undefined) return undefined;\r\n const offset = new Date().getTimezoneOffset() * 60000;\r\n const real = typeof date === \"string\" ? stringToDate(date, true) : date;\r\n return new Date(real.getTime() - offset);\r\n}\r\n\r\nexport function localToUtc(date: string | Date): Date;\r\nexport function localToUtc(date: string | Date | null | undefined): Date | null | undefined;\r\nexport function localToUtc(date: string | Date | null | undefined) {\r\n if (date === null) return null;\r\n if (date === undefined) return undefined;\r\n const offset = new Date().getTimezoneOffset() * 60000;\r\n const real = typeof date === \"string\" ? stringToDate(date, true) : date;\r\n return new Date(real.getTime() + offset);\r\n}\r\n\r\nexport function getUtcDate() {\r\n return localToUtc(new Date());\r\n}\r\n\r\nexport function stringFromDate(date: Date, withTime?: false): IsoDateString;\r\nexport function stringFromDate(date: Date, withTime?: true): IsoDateTimeString;\r\nexport function stringFromDate(date: Date | null, withTime?: false): IsoDateString | null;\r\nexport function stringFromDate(date: Date | null, withTime?: true): IsoDateTimeString | null;\r\nexport function stringFromDate(date: Date, withTime?: boolean): string;\r\nexport function stringFromDate(date: Date | null, withTime?: boolean): string | null;\r\nexport function stringFromDate(date: Date | null, withTime?: boolean): string | null {\r\n if (!date) return null;\r\n if (withTime) {\r\n return df.format(date, \"yyyy-MM-dd HH:mm:ss\");\r\n } else {\r\n date = df.startOfDay(date);\r\n return df.format(date, \"yyyy-MM-dd\");\r\n }\r\n}\r\n\r\nexport function stringToDate(date: IsoDateString, withTime?: false): Date;\r\nexport function stringToDate(date: IsoDateTimeString, withTime?: true): Date;\r\nexport function stringToDate(date: IsoDateString | null | undefined, withTime?: false): Date | null;\r\nexport function stringToDate(date: IsoDateTimeString | null | undefined, withTime?: true): Date | null;\r\nexport function stringToDate(date: IsoDateTimeString, withTime?: boolean): Date;\r\nexport function stringToDate(\r\n date: IsoDateString | IsoDateTimeString | null | undefined,\r\n withTime?: boolean\r\n): Date | null;\r\nexport function stringToDate(\r\n date: IsoDateString | IsoDateTimeString | null | undefined,\r\n withTime?: boolean\r\n): Date | null {\r\n if (!date) return null;\r\n const value = df.parseISO(date);\r\n if (!withTime) return df.startOfDay(value);\r\n return value;\r\n}\r\n\r\nexport function parseDate(date: string | null | undefined, format: string): Date | null {\r\n if (!date) return null;\r\n const value = df.parse(date, format, new Date());\r\n if (!df.isValid(value)) return null;\r\n return value;\r\n}\r\n","import { differenceInSeconds, format, formatDuration } from \"date-fns\";\r\nimport { round } from \"lodash\";\r\nimport { useCallback } from \"react\";\r\nimport { isProvided } from \"../pdf/shared/utils\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { stringToDate } from \"./date\";\r\n\r\nexport function useMoneyFormatter() {\r\n const {\r\n config: { defaultCurrency },\r\n } = useDeploymentConfig();\r\n\r\n const postfix = defaultCurrency?.symbol || \"€\";\r\n const format = useCallback(\r\n (value: number | undefined) => {\r\n if (value === undefined) return undefined;\r\n if (value === 0 || value > 10000) {\r\n return formatNumber(value, 0) + \" \" + postfix;\r\n } else {\r\n return formatNumber(value, 2) + \" \" + postfix;\r\n }\r\n },\r\n [postfix]\r\n );\r\n\r\n return {\r\n formatMoney: format,\r\n convertMoney: (valueInDefaultCurrency: number | undefined) => valueInDefaultCurrency,\r\n currentPostfix: postfix,\r\n };\r\n}\r\n\r\nexport function calcTrend({ current, previous }: { current: number | undefined; previous: number | undefined }) {\r\n if (typeof current === \"number\" && typeof previous === \"number\") {\r\n return previous === 0 ? undefined : ((current - previous) / previous) * 100;\r\n }\r\n return undefined;\r\n}\r\n\r\nfunction formatNumber(value: number, digits: number) {\r\n if (value.toLocaleString) {\r\n return value.toLocaleString(\"en-US\", { maximumFractionDigits: digits });\r\n } else {\r\n return value.toFixed(digits);\r\n }\r\n}\r\n\r\nexport function formatPercentage(value: number | undefined, digits?: number) {\r\n if (value === undefined) return undefined;\r\n return formatNumber(value * 100, isProvided(digits) ? digits : 0) + \"%\";\r\n}\r\n\r\nexport function formatDecimal(value: number | undefined, digits?: number) {\r\n if (value === undefined) return undefined;\r\n return formatNumber(value, isProvided(digits) ? digits : 2);\r\n}\r\n\r\nexport function formatApproximateDuration(seconds: number | undefined) {\r\n if (seconds === undefined) return \"N/A\";\r\n const [value, unit] = approximateDuration(seconds);\r\n if (value !== 1) {\r\n return formatNumber(value, 0) + \" \" + unit + \"s\";\r\n } else {\r\n return formatNumber(value, 0) + \" \" + unit;\r\n }\r\n}\r\n\r\nexport function formatHour(hour: number) {\r\n const wholeHours = Math.floor(hour);\r\n let hoursText = wholeHours.toString(10);\r\n if (hoursText.length === 1) hoursText = \"0\" + hoursText;\r\n let minuteText = Math.round((hour - wholeHours) * 60).toString(10);\r\n if (minuteText.length === 1) minuteText = \"0\" + minuteText;\r\n return `${hoursText}:${minuteText}`;\r\n}\r\n\r\nexport function approximateDuration(\r\n seconds: number,\r\n explicitUnit?: \"sec\" | \"min\" | \"hour\"\r\n): [number, \"sec\" | \"min\" | \"hour\"] {\r\n if (!explicitUnit) {\r\n if (seconds < 2 * 60) {\r\n explicitUnit = \"sec\";\r\n } else if (seconds < 2 * 60 * 60) {\r\n explicitUnit = \"min\";\r\n } else {\r\n explicitUnit = \"hour\";\r\n }\r\n }\r\n if (explicitUnit === \"sec\") {\r\n return [round(seconds, 0), \"sec\"];\r\n } else if (explicitUnit === \"min\") {\r\n return [round(seconds / 60, 0), \"min\"];\r\n } else if (explicitUnit === \"hour\") {\r\n return [round(seconds / 3600, 0), \"hour\"];\r\n } else {\r\n return [round(seconds, 0), \"sec\"];\r\n }\r\n}\r\n\r\nexport function formatHourAmPm(value: number | undefined) {\r\n if (value === undefined) return undefined;\r\n const formattedValue = value === 12 || value === 0 ? 12 : value > 12 ? value - 12 : value;\r\n if (value < 12) return formattedValue + \" AM\";\r\n if (value >= 12) return formattedValue + \" PM\";\r\n}\r\n\r\nexport function formatDayOfWeek(value: number | undefined) {\r\n if (value === undefined || value <= 0 || value >= 8) return undefined;\r\n const days = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\r\n return days[value - 1];\r\n}\r\n\r\nexport function formatDateTime(value?: Date | string | null, formatStr?: string) {\r\n if (!formatStr) {\r\n formatStr = \"dd.MM.yyyy HH:mm:ss\";\r\n }\r\n if (typeof value === \"string\") {\r\n return format(new Date(value), formatStr);\r\n } else if (value) {\r\n return format(value, formatStr);\r\n }\r\n return \"\";\r\n}\r\n\r\nexport function formatDurationBetweenDates(\r\n start?: Date | string | null,\r\n end?: Date | string | null,\r\n referencePoint?: string\r\n) {\r\n if (!start || !end) return \"\";\r\n\r\n const realStart = typeof start === \"string\" ? stringToDate(start, true) : start;\r\n const realEnd = typeof end === \"string\" ? stringToDate(end, true) : end;\r\n\r\n const totalSeconds = differenceInSeconds(realStart, realEnd);\r\n let adjustedSeconds = Math.abs(totalSeconds);\r\n let adjustedMinutes = 0;\r\n let adjustedHours = 0;\r\n let adjustedDays = 0;\r\n while (adjustedSeconds >= 60) {\r\n adjustedMinutes++;\r\n adjustedSeconds -= 60;\r\n }\r\n while (adjustedMinutes >= 60) {\r\n adjustedHours++;\r\n adjustedMinutes -= 60;\r\n }\r\n while (adjustedHours >= 24) {\r\n adjustedHours -= 24;\r\n adjustedDays++;\r\n }\r\n\r\n if (adjustedDays > 0) {\r\n adjustedMinutes = 0;\r\n adjustedSeconds = 0;\r\n }\r\n\r\n if (adjustedHours > 0) {\r\n adjustedSeconds = 0;\r\n }\r\n\r\n const duration = formatDuration({\r\n seconds: adjustedSeconds,\r\n minutes: adjustedMinutes,\r\n hours: adjustedHours,\r\n days: adjustedDays,\r\n });\r\n\r\n if (typeof referencePoint === \"string\" && referencePoint.length > 0) {\r\n if (totalSeconds < 0) {\r\n return duration + \" after \" + referencePoint;\r\n } else if (totalSeconds > 0) {\r\n return duration + \" before \" + referencePoint;\r\n } else {\r\n return \"when \" + referencePoint;\r\n }\r\n } else {\r\n if (totalSeconds < 0) {\r\n return \"after \" + duration;\r\n } else if (totalSeconds > 0) {\r\n return duration + \" ago\";\r\n } else {\r\n return \"immediate\";\r\n }\r\n }\r\n}\r\n\r\nexport function formatPreciseDuration(seconds: number) {\r\n let h = Math.floor(seconds / 3600);\r\n seconds -= h * 3600;\r\n let m = Math.floor(seconds / 60);\r\n seconds -= m * 60;\r\n return formatDuration({\r\n hours: h,\r\n minutes: m,\r\n seconds: seconds,\r\n });\r\n}\r\n","import { reduce } from \"lodash\";\r\nimport { useMemo } from \"react\";\r\nimport { FieldError } from \"react-hook-form\";\r\nimport { localizeUserInterfaceText } from \"../data/texts\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { useCachedInstance } from \"./hooks\";\r\n\r\nexport type Word = {\r\n singular: string;\r\n plural: string;\r\n};\r\n\r\nexport interface Translations {\r\n store: Word;\r\n}\r\n\r\nexport type LocalizedText = ReturnType;\r\n\r\nexport function useLocalizedText(): LocalizedText {\r\n const { config } = useDeploymentConfig();\r\n const cachedTranslations = useCachedInstance(config.translations);\r\n return useMemo(() => {\r\n return localizeUserInterfaceText(cachedTranslations);\r\n }, [cachedTranslations]);\r\n}\r\n\r\nexport const checkErrors = (\r\n languageList: string[],\r\n localizationErrors: FieldError | LocalizationErrors[] | undefined\r\n) => {\r\n if (localizationErrors) {\r\n if (Array.isArray(localizationErrors)) {\r\n return reduce(\r\n localizationErrors,\r\n (invalidLanguages, localization, index) => {\r\n if (localization && (localization.languageCode || localization.text)) {\r\n invalidLanguages.push(languageList[index]);\r\n }\r\n return invalidLanguages;\r\n },\r\n [] as string[]\r\n );\r\n } else {\r\n return languageList;\r\n }\r\n }\r\n return [];\r\n};\r\n\r\nexport type LocalizationErrors = {\r\n languageCode?: FieldError;\r\n text?: FieldError;\r\n};\r\n","import { Translations } from \"../services/localization\";\r\n\r\nexport function localizeUserInterfaceText(translations: Translations) {\r\n const words = {\r\n Store: translations.store.singular,\r\n STORE: translations.store.singular.toUpperCase(),\r\n store: translations.store.singular.toLowerCase(),\r\n Stores: translations.store.plural,\r\n STORES: translations.store.plural.toUpperCase(),\r\n stores: translations.store.plural.toLowerCase(),\r\n };\r\n\r\n return {\r\n analyticsPage: {\r\n title: `Analytics`,\r\n items: {\r\n appDownloads: {\r\n title: `App Downloads`,\r\n tooltip: `The total number of times your app has been installed on mobile devices.`,\r\n },\r\n appRegistrations: {\r\n title: `App Registrations`,\r\n tooltip: `The total number of new users that registered within the selected timeframe.`,\r\n },\r\n newAppCustomers: {\r\n title: `New App Customers`,\r\n tooltip: `The total number of registered users that made their first purchase within the selected timeframe and location.`,\r\n },\r\n totalAppCustomers: {\r\n title: `Total App Customers`,\r\n tooltip: `The total number of registered users who made a purchase in your ${words.stores} within the selected timeframe and location.`,\r\n },\r\n appOpenings: {\r\n title: `App Openings`,\r\n tooltip: `Number of times app was opened in the selected time`,\r\n },\r\n totalAppUsers: {\r\n title: `Total App Users`,\r\n tooltip: `The total number of registered users who created an account in your mobile app until selected timeframe.`,\r\n },\r\n conversionStats: {\r\n title: `Conversions`,\r\n tooltip: `The total number of offer conversations in the selected timeframe, plus the rate at which offers are converted.`,\r\n },\r\n appRevenue: {\r\n title: `App Revenue`,\r\n tooltip: `The total amount of revenue generated by your app customers`,\r\n },\r\n appTransactions: {\r\n title: `App Transactions`,\r\n tooltip: `The total number of purchases made by your app customers`,\r\n },\r\n avgAppTransactions: {\r\n title: `Average App Transaction Value`,\r\n tooltip: `The average value of your app transactions`,\r\n },\r\n avgQtyPerAppTransactions: {\r\n title: `Avg. Quantity / App Transaction`,\r\n tooltip: `The average quantity purchased per app transaction`,\r\n },\r\n customerVisits: {\r\n title: `Customer Visits`, // TODO - figure out how to customize this based on translations (useDeploymentConfig)\r\n tooltip: `The total number of visits by customers`,\r\n },\r\n salesConvRate: {\r\n title: `App Sales Conv. Rate`,\r\n tooltip: `The ratio of the ${words.store} visits to app transactions`,\r\n },\r\n avgRedemptionRate: {\r\n title: `Avg Redemption Rate`,\r\n tooltip: `The ratio of opened messages compared to redeemed messages`,\r\n },\r\n appInteractionRate: {\r\n title: `App Interaction Rate`,\r\n tooltip: `The percentage of new users that interacted with the App`,\r\n },\r\n userVisits: {\r\n title: `User Visits`, // TODO - figure out how to customize this based on translations (useDeploymentConfig)\r\n tooltip: `The total number of visits by app users`,\r\n },\r\n avgTimeSpent: {\r\n title: `Avg Time Spent`,\r\n tooltip: `Average time spent by visitors`,\r\n },\r\n topPerformingArea: {\r\n title: `Top Performing Area`,\r\n tooltip: `Area with most visitors`,\r\n },\r\n },\r\n },\r\n appCustomersPage: {\r\n title: `App Customers`,\r\n items: {\r\n newCustomers: {\r\n title: `First-time Customers`,\r\n tooltip: `The total number of customers that made their first purchase within the selected timeframe and location.`,\r\n },\r\n vipCustomers: {\r\n title: `VIP Customers`,\r\n tooltip: `Your top customers by generated revenue.`,\r\n },\r\n mostActiveCustomers: {\r\n title: `Most Active Customers`,\r\n tooltip: `Number of customers who actively interact with messages received based on beacon contact.`,\r\n },\r\n loyalCustomers: {\r\n title: `Loyal Customers`,\r\n tooltip: `Number of customers with repeat purchases.`,\r\n },\r\n newVisitors: {\r\n title: `First-time Visitors`,\r\n tooltip: `The total number of customers that made their first visit in the selected timeframe and location.`,\r\n },\r\n visitors: {\r\n title: `Visitors`,\r\n tooltip: `The total number of customers that visited within the selected timeframe and location.`,\r\n },\r\n convertedVisitors: {\r\n title: `Converted Visitors`,\r\n tooltip: `The total number of customers that were converted within the selected timeframe and location.`,\r\n },\r\n convertedVisitorRate: {\r\n title: `Converted Visitors Rate`,\r\n tooltip: `The rate of tracked messages that were converted within the selected timeframe and location.`,\r\n },\r\n },\r\n },\r\n revenueStatisticsPage: {\r\n title: `Revenue Statistics`,\r\n items: {\r\n recurringTransactions: {\r\n title: `Recurring Transactions`,\r\n tooltip: `The number of purchases where a customer made at least 2 transactions at the same ${words.store}`,\r\n },\r\n avgTransactionValueReturningCustomers: {\r\n title: `Average Transaction Value`,\r\n tooltip: `The average value of your app transactions from returning customers`,\r\n },\r\n transactions: {\r\n title: `Transactions`,\r\n tooltip: `The total number of purchases made by your app customers`,\r\n },\r\n revenue: {\r\n title: `Revenue`,\r\n tooltip: `The total amount of revenue generated by your app customers`,\r\n },\r\n newVsReturning: {\r\n title: `New vs. Returning Customers`,\r\n tooltip:\r\n `Percentage of new customers coming into ${words.stores}.
` +\r\n `New = the number of first-time customers (customer is defined as a visitor who ` +\r\n `made a purchase) during the selected time frame.` +\r\n `
Returning = any customer who made his second/third/fourth/etc. ` +\r\n `purchase during the selected time frame`,\r\n },\r\n },\r\n },\r\n appTouchpointsPage: {\r\n title: `App Touchpoints`,\r\n bulletedItems: {\r\n touchpointsGraph: {\r\n text: `The total number of contacts your app customers had with your brand. App touchpoints include any of the following:`,\r\n bulletPoints: [\r\n `Were sent a push notification (local or global)`,\r\n `Opened the mobile app`,\r\n `Logged into the mobile app`,\r\n `Registered in the mobile app`,\r\n `Had a Beacon contact`,\r\n ],\r\n title: `App Touchpoints`,\r\n },\r\n },\r\n items: {\r\n appRevenue: {\r\n title: `App Revenue`,\r\n tooltip: `The total amount of revenue generated by your app customers`,\r\n },\r\n appTransactions: {\r\n title: `App Transactions`,\r\n tooltip: `The total number of purchases made by your app customers`,\r\n },\r\n conversionUplift: {\r\n title: `Conversion Uplift`,\r\n tooltip: `The percentage of total increase in your conversion rate thanks to the beaconsmind solution`,\r\n },\r\n transactionValueUplift: {\r\n title: `Avg. Transaction Value Uplift`,\r\n tooltip: `The percentage of total increase in your average transaction value thanks to the beaconsmind solution`,\r\n },\r\n interactionUplift: {\r\n title: `Interaction Uplift`,\r\n tooltip: `The percentage of total increase in your interaction rate thanks to the beaconsmind solution`,\r\n },\r\n interactionRate: {\r\n title: `Interaction Rate`,\r\n tooltip: `The percentage of users that are engaging with the app`,\r\n },\r\n storeVisitUplift: {\r\n title: `${words.Store} Visit Uplift`,\r\n tooltip: `The percentage of total increase in your ${words.store} visits thanks to the beaconsmind solution`,\r\n },\r\n appRegistrations: {\r\n title: `App Registrations`,\r\n tooltip: `The total number of registrations coming into the app`,\r\n },\r\n appLogins: {\r\n title: `App Logins`,\r\n tooltip: `The total times user logged in into the app`,\r\n },\r\n appOpenings: {\r\n title: `App Openings`,\r\n tooltip: `The total times app was opened by user`,\r\n },\r\n },\r\n },\r\n customerDetailsPage: {\r\n title: `Customer Details`,\r\n items: {\r\n totalRevenue: {\r\n title: `Total Revenue`,\r\n tooltip: `The total revenue generated by this customers`,\r\n },\r\n sales: {\r\n title: `Sales`,\r\n tooltip: `The total number of purchases made by this customer`,\r\n },\r\n productsPerBasket: {\r\n title: `Products Per Basket`,\r\n tooltip: `The average quantity purchased per transaction`,\r\n },\r\n storeVisits: {\r\n title: `${words.Store} Visits`,\r\n tooltip: `The total number of ${words.store} visits by this customers`,\r\n },\r\n name: {\r\n title: `NAME`,\r\n tooltip: `Label or Id+Title of Push Notification`,\r\n },\r\n sent: {\r\n title: `SENT`,\r\n tooltip: `Date that Push Notification was sent out from our Suite`,\r\n },\r\n received: {\r\n title: `RECEIVED`,\r\n tooltip: `After Push Notification was sent, time until it was received on App user's device`,\r\n },\r\n read: {\r\n title: `READ`,\r\n tooltip: `After Push Notification was sent, time until it was read by App user`,\r\n },\r\n clicked: {\r\n title: `CLICKED`,\r\n tooltip: `After Push Notification was sent, time until App user clicked on the call to action link in the Push Notification`,\r\n },\r\n redeemed: {\r\n title: `REDEEMED`,\r\n tooltip: `After Push Notification was sent, time until App user redeemed a coupon`,\r\n },\r\n },\r\n },\r\n visitorStatisticsPage: {\r\n title: `Visitor Statistics`,\r\n items: {\r\n minVisitingTime: {\r\n title: `Minimum Visiting Time`,\r\n tooltip: `The minimum time app customers spent in your ${words.store}(s)`,\r\n },\r\n maxVisitingTime: {\r\n title: `Maximum Visiting Time`,\r\n tooltip: `The maximum time app customers spent in your ${words.store}(s)`,\r\n },\r\n avgVisitingTime: {\r\n title: `Average Visiting Time`,\r\n tooltip: `The average time app customers spent in your ${words.store}(s)`,\r\n },\r\n peakVisitingHour: {\r\n title: `Peak Visiting Hour`,\r\n tooltip: `The hour of the day with the highest number of ${words.store} visitors`,\r\n },\r\n peakVisitingDay: {\r\n title: `Peak Visiting Day`,\r\n tooltip: `The day of the week with the highest number of ${words.store} visitors`,\r\n },\r\n storeVisits: {\r\n title: `${words.Store} Visits`,\r\n tooltip: `The total number of ${words.store} visits by app customers`,\r\n },\r\n recurringVisits: {\r\n title: `Recurring Visits`,\r\n tooltip: `The total number of visits from app customers who came back to your ${words.stores}`,\r\n },\r\n avgVisitDuration: {\r\n title: `Avg. Visit Duration`,\r\n tooltip: `The average amount of time app visitors spent inside your ${words.store} during a visit`,\r\n },\r\n newVsReturning: {\r\n title: `New vs. Returning Vistors`,\r\n tooltip:\r\n `Percentage of new visitors coming into ${words.stores}.
` +\r\n `New = the number of first-time visitors during the selected time frame.` +\r\n `
Returning = any visitor who made his second/third/fourth/etc. visit to your ${words.store}`,\r\n },\r\n date: {\r\n title: `DATE`,\r\n tooltip: `Date`,\r\n },\r\n day: {\r\n title: `DAY`,\r\n tooltip: `Day of the week`,\r\n },\r\n },\r\n },\r\n heatmapPage: {\r\n title: `Heatmap`,\r\n noStoreWarning: `There are no configured ${words.stores}. Please add at least one ${words.store}.`,\r\n noSelectionWarning: `Please select a ${words.store} to show its layout.`,\r\n },\r\n appTouchpointsTable: {\r\n title: `App Touchpoints`,\r\n items: {\r\n date: {\r\n title: `DATE`,\r\n tooltip: `Date`,\r\n },\r\n day: {\r\n title: `DAY`,\r\n tooltip: `Day of the week`,\r\n },\r\n hour: {\r\n title: `HOUR`,\r\n tooltip: `Hour of the day`,\r\n },\r\n startOfWeek: {\r\n title: `WEEK FROM`,\r\n tooltip: `Start of the week`,\r\n },\r\n endOfWeek: {\r\n title: `TILL`,\r\n tooltip: `End of the week`,\r\n },\r\n local: {\r\n title: `LOCAL`,\r\n tooltip: `Local`,\r\n },\r\n global: {\r\n title: `GLOBAL`,\r\n tooltip: `Global`,\r\n },\r\n appLogins: {\r\n title: `APP LOGINS`,\r\n tooltip: `The number of times users logged in into the app`,\r\n },\r\n appRegistrations: {\r\n title: `APP REGISTRATIONS`,\r\n tooltip: `The number of registrations coming into the app`,\r\n },\r\n appOpens: {\r\n title: `APP OPENS`,\r\n tooltip: `The number of times app was opened by users`,\r\n },\r\n beaconContacts: {\r\n title: `BEACON CONTACTS`,\r\n tooltip: `Beacon Contacts`,\r\n },\r\n },\r\n },\r\n notificationColumnHeaders: {\r\n items: {\r\n labelAndCampaign: {\r\n title: `LABEL/TITLE`,\r\n tooltip: `Message Label or Id & Title. Campaign Name below`,\r\n },\r\n startDate: {\r\n title: `START DATE`,\r\n tooltip: `Start of Campaign Validity`,\r\n },\r\n conversion: {\r\n title: `CONVERSION`,\r\n tooltip: `No. of Conversions`,\r\n },\r\n conversionRate: {\r\n title: `CONVERSION RATE`,\r\n tooltip: `No. of Conversion / No. of Sent`,\r\n },\r\n sent: {\r\n title: `SENT`,\r\n tooltip: `Push Notification was sent out from our Suite`,\r\n },\r\n received: {\r\n title: `RECEIVED`,\r\n tooltip: `Push Notification was received on App user's device`,\r\n },\r\n redeemed: {\r\n title: `REDEEMED`,\r\n tooltip: `App user redeemed a coupon`,\r\n },\r\n revenue: {\r\n title: `REVENUE`,\r\n tooltip: `Revenue generated correlated to the Push Notification`,\r\n },\r\n transactions: {\r\n title: `TRANSACTIONS`,\r\n tooltip: `No. of Transactions correlated to the Push Notification`,\r\n },\r\n avgTransactionValue: {\r\n title: `AVG. T. VALUE`,\r\n tooltip: `Average Transaction Value`,\r\n },\r\n avgQuantity: {\r\n title: `AVG. QUANTITY`,\r\n tooltip: `Average Quantity`,\r\n },\r\n noOfVisits: {\r\n title: `NO. OF VISITS`,\r\n tooltip: `Number of Visits`,\r\n },\r\n salesConversionRate: {\r\n title: `SALES CONV. RATE`,\r\n tooltip: `Sales Conversion Rate`,\r\n },\r\n read: {\r\n title: `READ`,\r\n tooltip: `Push Notification was read by App user`,\r\n },\r\n clicked: {\r\n title: `CLICKED`,\r\n tooltip: `App user clicked on the call to action link in the Push Notification`,\r\n },\r\n clickRate: {\r\n title: `CLICK RATE`,\r\n tooltip: `No. of Clicked / No. of Sent`,\r\n },\r\n redemptionRate: {\r\n title: `REDEMPTION RATE`,\r\n tooltip: `No. of Redeemed / No. of Sent`,\r\n },\r\n },\r\n },\r\n heatmap: {\r\n title: `Heatmap`,\r\n items: {\r\n newVisitors: {\r\n title: `New Visitors`,\r\n tooltip: `The number of app customers coming to your ${words.store} for the first time`,\r\n },\r\n returningVisitors: {\r\n title: `Returning Visitors`,\r\n tooltip: `The number of app customers coming back to your ${words.store}`,\r\n },\r\n avgVisitDuration: {\r\n title: `Average Visit Duration`,\r\n tooltip: `The average amount of time app visitors spent inside your ${words.store} during a visit`,\r\n },\r\n bounceRate: {\r\n title: `Bounce Rate`,\r\n tooltip: `The percentage of app customers who leave the ${words.store} without making a purchase`,\r\n },\r\n },\r\n storeLegend: [\r\n {\r\n // green\r\n color: \"#4ad991\",\r\n title: `Best Performing ${words.Stores}`,\r\n tooltip: `${words.Stores} with a high number of visits (>70% of the best ${words.store})`,\r\n },\r\n {\r\n // yellow\r\n color: \"#FFDA82\",\r\n title: `Average Performing ${words.Stores}`,\r\n tooltip: `${words.Stores} with moderate visits (20% to 70% of the best ${words.store})`,\r\n },\r\n {\r\n // red\r\n color: \"#f55e7b\",\r\n title: `Poorly Performing ${words.Stores}`,\r\n tooltip: `${words.Stores} with very few visits (less than 20% of the best ${words.store})`,\r\n },\r\n ],\r\n beaconLegend: [\r\n {\r\n color: \"#4ad991\",\r\n title: `Best Performing Beacons`,\r\n tooltip: `Beacons with a high number of contacts (>70% of the best beacon)`,\r\n },\r\n {\r\n color: \"#FFDA82\",\r\n title: `Average Performing Beacons`,\r\n tooltip: `Beacons with moderate contacts (20% to 70% of the best beacon)`,\r\n },\r\n {\r\n color: \"#f55e7b\",\r\n title: `Poorly Performing Beacons`,\r\n tooltip: `Beacons with very few contacts (less than 20% of the best beacon)`,\r\n },\r\n ],\r\n },\r\n usersTable: {\r\n title: `Users`,\r\n items: {\r\n name: {\r\n title: `NAME`,\r\n tooltip: `Name`,\r\n },\r\n email: {\r\n title: `EMAIL`,\r\n tooltip: `Email`,\r\n },\r\n role: {\r\n title: `ROLE`,\r\n tooltip: `Role`,\r\n },\r\n status: {\r\n title: `STATUS`,\r\n tooltip: `Status`,\r\n },\r\n },\r\n },\r\n appSalesByCustomerType: {\r\n title: `App Sales`,\r\n newCustomerTooltip: {\r\n title: \"New Customers\",\r\n tooltip:\r\n \"Shows customers who made their first purchase during the selected timeframe, and who had no prior visits.\",\r\n },\r\n returningCustomerTooltip: {\r\n title: \"Returning Customers\",\r\n tooltip: `Shows customers who made a purchase before selected timeframe, or who visited the ${words.store} before.`,\r\n },\r\n items: {\r\n customerType: {\r\n title: `CUSTOMER TYPE`,\r\n tooltip: `Customer Type`,\r\n },\r\n revenue: {\r\n title: `REVENUE`,\r\n tooltip: `Revenue`,\r\n },\r\n transactions: {\r\n title: `TRANSACTION`,\r\n tooltip: `Transaction`,\r\n },\r\n avgTransactionValue: {\r\n title: `AVG. TRANSACTION VALUE`,\r\n tooltip: `Average Transaction Value`,\r\n },\r\n averageQuantity: {\r\n title: `AVG. QUANTITY`,\r\n tooltip: `Average Quantity`,\r\n },\r\n storeVisits: {\r\n title: `${words.STORE} VISITS`,\r\n tooltip: `${words.Store} Visits`,\r\n },\r\n salesConversionRate: {\r\n title: `SALES CONV. RATE`,\r\n tooltip: `Sales Conversion Rate`,\r\n },\r\n },\r\n },\r\n messages: {\r\n forceSend: {\r\n title: \"FOR DEVELOPERS\",\r\n tooltip: \"Sends a message to customer immediately.\",\r\n },\r\n },\r\n audienceEditor: {\r\n title: \"Audience\",\r\n items: {\r\n newRegistrations: {\r\n title: \"New Registrations\",\r\n tooltip: \"Matches all customers who registered in the mobile app for the first time.\",\r\n },\r\n withBeaconContact: {\r\n title: \"With Beacon Contact\",\r\n tooltip: `The message is sent to customers who had beacon contact in any of the locations during specified time.\r\n If the customer had beacon contact both in and out of specified time, the message will be sent to them as well.`,\r\n },\r\n liveBeaconContact: {\r\n title: \"Live Beacon Contact\",\r\n tooltip: `Message is sent (once) to the customer who approached any of the selected beacons during the selected time.\r\n Minimum required duration of contact can be defined.`,\r\n },\r\n lastBeaconContact: {\r\n title: \"Last Beacon Contact\",\r\n tooltip: `Matches customers whose last contact was any time before the specified time and in the specified location.`,\r\n },\r\n specificBeaconContact: {\r\n title: \"Specific Beacon Contact\",\r\n tooltip: `Matches customers whose have had a contact within the specified time and in the specified location.`,\r\n },\r\n productAndPurchases: {\r\n title: \"Product and Purchases\",\r\n tooltip: `Target customers who purchased specific products, orders with minimum Total or Discount, or made no purchases.`,\r\n },\r\n mostStoreVisits: {\r\n title: `Most ${words.Store} Visits`,\r\n tooltip: `Matches customers who had the most ${words.store} visits (at least one contact per day) across selected locations.`,\r\n },\r\n favoriteStore: {\r\n title: `Favorite ${words.Store}`,\r\n tooltip: `Matches customers whose selected favorite ${words.store} in the mobile app matches selected locations.`,\r\n },\r\n specificGender: {\r\n title: \"Gender\",\r\n tooltip: `Matches customers with specified gender.`,\r\n },\r\n specificAge: {\r\n title: \"Age\",\r\n tooltip: `Matches customers whose age belongs to selected category.`,\r\n },\r\n birthdayToday: {\r\n title: \"Birthday\",\r\n tooltip: `Matches customers whose birthday is on the day the message is being sent.`,\r\n },\r\n productPreference: {\r\n title: \"Product Preference\",\r\n tooltip: `Matches customers base on product categories available from the POS system, depends on the availability of and\r\n details of customer purchase data.`,\r\n },\r\n clickAndCollect: {\r\n title: \"Click And Collect\",\r\n tooltip: `Matches customer with an open click and collect order. This feature depends on the POS capabilities of the\r\n Beaconsmind client.`,\r\n },\r\n lastPurchase: {\r\n title: \"Last Purchase\",\r\n tooltip: `Matches customers who made their last purchase before the specified timeframe.`,\r\n },\r\n returningCustomers: {\r\n title: \"Returning Customers\",\r\n tooltip: `Matches customers who made a purchase and visited the ${words.store} again in the last 12 months. Messages will be sent\r\n only once per customer.`,\r\n },\r\n loyalCustomers: {\r\n title: \"Loyal Customers\",\r\n tooltip: `Matches customers customers with repeat purchases.`,\r\n },\r\n mostActiveCustomers: {\r\n title: \"Most Active Customers\",\r\n tooltip: `Number of customers who actively interact with messages received based on beacon contact.`,\r\n },\r\n vipCustomers: {\r\n title: \"VIP Customers\",\r\n tooltip: `Matches VIP customers.`,\r\n },\r\n visitWithoutPurchase: {\r\n title: \"Omnichannel\",\r\n tooltip: `Matches customers who visited a ${words.store}, but did not make a purchase in the selected timeframe.`,\r\n },\r\n customerEngagement: {\r\n title: \"Customer Engagement\",\r\n tooltip: `Matches customers with a Beacon contact which occurred while the ${words.store} was not open. Message is sent immediately\r\n during beacon contact, but only once per day.`,\r\n },\r\n customerSegment: {\r\n title: \"Customer Segment\",\r\n tooltip: `Matches customers who were places in the selected group. Groups can be configured using Customer Segment page.`,\r\n },\r\n receivedExistingOffer: {\r\n title: \"Existing Offer\",\r\n tooltip: `Matches customers who did / did not receive selected message in selected period.`,\r\n },\r\n },\r\n },\r\n payloadEditor: {\r\n title: \"Deep Link payload\",\r\n items: {\r\n keyValue: {\r\n title: \"Payload item\",\r\n tooltip: \"Please enter the key and value.\",\r\n },\r\n },\r\n },\r\n importDataPage: {\r\n title: `Import data`,\r\n items: {\r\n name: {\r\n title: `NAME`,\r\n tooltip: `Name`,\r\n },\r\n },\r\n },\r\n customersTable: {\r\n //title: `Customer Data`,\r\n items: {\r\n fullName: {\r\n title: `FULL NAME`,\r\n tooltip: `First and Last Names if known`,\r\n },\r\n email: {\r\n title: `EMAIL`,\r\n tooltip: `Email`,\r\n },\r\n loyaltyNumber: {\r\n title: `LOYALTY NM.`,\r\n tooltip: `Loyalty Number`,\r\n },\r\n nmTouchPoints: {\r\n title: `TOUCHPOINTS`,\r\n tooltip: `Number of Touchpoints`,\r\n },\r\n nmStoreVisits: {\r\n title: `${words.STORE} VISITS`,\r\n tooltip: `Number of ${words.Store} Visits`,\r\n },\r\n nmBeaconVisits: {\r\n title: `BEACON CONTACTS`,\r\n tooltip: `Number of Beacon Contact`,\r\n },\r\n totalRevenue: {\r\n title: `REVENUE`,\r\n tooltip: `Total amount of all purchases made by the customer`,\r\n },\r\n transactions: {\r\n title: `TRANSACTIONS`,\r\n tooltip: `Total transactions made by the customer`,\r\n },\r\n },\r\n },\r\n contactUsersTable: {\r\n title: `Users with Contact During selected time and in selected Beacons`,\r\n items: {\r\n id: {\r\n title: `ID`,\r\n tooltip: `User Id`,\r\n },\r\n username: {\r\n title: `USERNAME`,\r\n tooltip: `Username`,\r\n },\r\n platformDeviceId: {\r\n title: `PLATFORM DEVICE ID`,\r\n tooltip: `Platform Device Id`,\r\n },\r\n },\r\n },\r\n storesTable: {\r\n title: `Top ${words.Stores}`,\r\n items: {\r\n name: {\r\n title: `NAME`,\r\n tooltip: `Name`,\r\n },\r\n city: {\r\n title: `CITY`,\r\n tooltip: `City`,\r\n },\r\n area: {\r\n title: `AREA`,\r\n tooltip: `Area`,\r\n },\r\n nmOfBeacons: {\r\n title: `BEACONS INSTALLED`,\r\n tooltip: `Beacons Installed`,\r\n },\r\n revenue: {\r\n title: `REVENUE`,\r\n tooltip: `Revenue`,\r\n },\r\n customerVisits: {\r\n title: `CUSTOMER VISITS`,\r\n tooltip: `Customer Visits`,\r\n },\r\n beaconVisits: {\r\n title: `BEACON VISITS`,\r\n tooltip: `Beacon Visits`,\r\n },\r\n mostFavorited: {\r\n title: `MOST FAVORITED`,\r\n tooltip: `Most Favorited`,\r\n },\r\n },\r\n },\r\n beaconDataTable: {\r\n title: `Top Beacons`,\r\n items: {\r\n name: {\r\n title: `NAME`,\r\n tooltip: `Name`,\r\n },\r\n description: {\r\n title: `DESCRIPTION`,\r\n tooltip: `Description`,\r\n },\r\n areaAndStore: {\r\n title: `AREA, ${words.STORE}`,\r\n tooltip: `Area Name, ${words.Store} Name`,\r\n },\r\n maxVisitDurationSeconds: {\r\n title: `MAX CONTACT DURATION`,\r\n tooltip: `Max Contact Duration (in Seconds)`,\r\n },\r\n longestTimeSpent: {\r\n title: `LONGEST TIME SPENT`,\r\n tooltip: `Longest Time Spent`,\r\n },\r\n leastTimeSpent: {\r\n title: `LEAST TIME SPENT`,\r\n tooltip: `Least Time Spent`,\r\n },\r\n averageTimeSpent: {\r\n title: `AVERAGE TIME SPENT`,\r\n tooltip: `Average Time Spent`,\r\n },\r\n },\r\n },\r\n appInteractionUsersTable: {\r\n title: \"Interaction Users\",\r\n items: {\r\n name: { title: \"NAME\" },\r\n email: { title: \"EMAIL\" },\r\n nmOfInteractions: {\r\n title: \"NO. OF INTERACTIONS\",\r\n tooltip:\r\n \"The number of interactions such as opening the App and reading, clicking or redeeming a notification.\",\r\n },\r\n },\r\n },\r\n healthCheckPage: {\r\n title: `Health Checks`,\r\n items: {\r\n totalAppUsers: {\r\n title: `Total App Users`,\r\n tooltip: `The total number of registered users who created an account in your mobile app until selected timeframe.`,\r\n },\r\n allPermissionsEnabled: {\r\n title: `All Permissions Granted`,\r\n tooltip: `User has granted all permissions (Push notification, Bluetooth, and location).`,\r\n },\r\n pushNotificationEnabled: {\r\n title: `Push Notification Enabled`,\r\n tooltip: `The user has granted permission for the app to send push notifications.`,\r\n },\r\n bluetoothEnabled: {\r\n title: `Bluetooth Granted`,\r\n tooltip: `Bluetooth was enabled at the most recent health check.`,\r\n },\r\n locationAlwaysAllowed: {\r\n title: `Location Always Allowed`,\r\n tooltip: `User has granted 'Always Allow' location permission`,\r\n },\r\n locationAllowedWhileUsing: {\r\n title: `Location Allowed While Using App`,\r\n tooltip: `User has granted 'Allow While Using the App' location permission`,\r\n },\r\n locationFullPrecision: {\r\n title: `Full Precision`,\r\n tooltip: `User has granted Full/Fine location accuracy`,\r\n },\r\n locationEnabled: {\r\n title: `Total Location Enabled`,\r\n tooltip: `All Users who have granted a location permission`,\r\n },\r\n },\r\n },\r\n messageForm: {\r\n items: {\r\n tokens: {\r\n title: `Tokens`,\r\n tooltip: `Personalize your message by adding tokens to the title or text.`,\r\n },\r\n title: {\r\n title: `Title`,\r\n tooltip: `The title of the push notification and the offer inside the app.`,\r\n },\r\n pushText: {\r\n title: `Push Text`,\r\n tooltip: `The body text of the push notification that is sent to the phone.`,\r\n },\r\n offerTitle: {\r\n title: `Offer Title`,\r\n tooltip: `The title shown in the offer inside the app after clicking on the push notification.`,\r\n },\r\n offerText: {\r\n title: `Offer Text`,\r\n tooltip: `The full text shown in the offer inside the app after clicking on the push notification.`,\r\n },\r\n },\r\n },\r\n };\r\n}\r\n","export function getTooltip(text: string, title?: string): string;\r\nexport function getTooltip(tooltip: Tooltip): string;\r\nexport function getTooltip(text: string | Tooltip, title?: string) {\r\n let object: Tooltip;\r\n if (typeof text === \"string\") {\r\n object = {\r\n title: title || \"\",\r\n tooltip: text,\r\n };\r\n } else {\r\n object = text;\r\n }\r\n if (!object.tooltip && !object.title) {\r\n return \"\";\r\n }\r\n return `\r\n
\r\n ${object.title.length > 0 ? \"
\" + object.title + \"
\" : \"\"}\r\n ${object.tooltip.length > 0 ? \"
\" + object.tooltip + \"
\" : \"\"}\r\n
\r\n `;\r\n}\r\n\r\nexport const getBulletedTooltip = (tooltip: BulletedTooltip) => {\r\n if (tooltip.text.length === 0 && tooltip.bulletPoints.length === 0) return \"\";\r\n\r\n return `\r\n
\r\n ${tooltip.title !== undefined ? \"
\" + tooltip.title + \"
\" : \"\"}\r\n
${tooltip.text}
\r\n
    \r\n ${tooltip.bulletPoints.map((bp) => `
  • ${bp}
  • `).join(\"\")}\r\n
\r\n
\r\n `;\r\n};\r\n\r\nexport const getImageTooltip = (imageUrl: string, text: string, title?: string) => {\r\n if (text.length === 0 && imageUrl.length === 0) return \"\";\r\n\r\n return `\r\n
\r\n
\r\n
LIVE
\r\n ${title !== undefined ? \"
\" + title + \"
\" : \"\"}\r\n
${text}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n};\r\n\r\nexport interface Tooltip {\r\n title: string;\r\n tooltip: string;\r\n}\r\n\r\nexport interface BulletedTooltip {\r\n text: string;\r\n bulletPoints: string[];\r\n title?: string;\r\n}\r\n","import { format, startOfYear } from \"date-fns\";\r\nimport { memoize } from \"lodash\";\r\nimport { useCallback } from \"react\";\r\nimport { Configuration, LocationsApi, TimeframeType } from \"../api\";\r\nimport { Option, OptionValueType } from \"../app/forms/Select\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { stringFromDate } from \"../services/date\";\r\nimport { isProvided } from \"../services/objects\";\r\nimport { createStore, useMappedStore, useStore } from \"../services/streams\";\r\nimport { getApiConfig } from \"./configuration\";\r\n\r\ninterface FilterState {\r\n topFilterCountries: Option[];\r\n topFilterBeacons: Option[];\r\n topFilterStores: Option[];\r\n topFilterAreas: Option[];\r\n selectedTime: DateRange;\r\n selectedCountries?: number[];\r\n selectedBeacons?: string[];\r\n selectedStores?: number[];\r\n selectedAreas?: number[];\r\n}\r\n\r\nexport interface DateRange {\r\n timeframeType: TimeframeType;\r\n startDate?: Date;\r\n endDate?: Date;\r\n}\r\n\r\nexport const globalFilters = createStore(\r\n {\r\n topFilterAreas: [],\r\n topFilterStores: [],\r\n topFilterBeacons: [],\r\n topFilterCountries: [],\r\n selectedTime: {\r\n startDate: startOfYear(new Date()),\r\n endDate: new Date(),\r\n timeframeType: TimeframeType.ThisYear,\r\n },\r\n },\r\n \"topFilters\"\r\n);\r\n\r\nasync function loadCountries(config: Configuration) {\r\n if (config.accessToken) {\r\n const api = new LocationsApi(config);\r\n try {\r\n const response = await api.getLocations({\r\n excludeAreas: true,\r\n excludeBeacons: true,\r\n excludeCities: true,\r\n excludeStores: true,\r\n limit: 1000,\r\n });\r\n if (isHttpOk(response)) {\r\n return response.data\r\n .filter((s) => typeof s.countryId === \"number\")\r\n .map((s) => ({ label: s.name || \"\", value: s.countryId! }));\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.error(\"Store lookup returned\", response);\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n }\r\n}\r\n\r\nasync function loadStores(config: Configuration, countryIds?: number[]) {\r\n if (config.accessToken) {\r\n const api = new LocationsApi(config);\r\n try {\r\n const response = await api.getLocations({\r\n excludeAreas: true,\r\n excludeBeacons: true,\r\n excludeCities: true,\r\n excludeCountries: true,\r\n countries: countryIds,\r\n limit: 1000,\r\n });\r\n if (isHttpOk(response)) {\r\n return response.data\r\n .filter((s) => typeof s.storeId === \"number\")\r\n .map((s) => ({ label: s.name || \"\", value: s.storeId! }));\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.error(\"Store lookup returned\", response);\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n }\r\n}\r\n\r\nasync function loadAreas(config: Configuration, storeIds?: number[]) {\r\n if (config.accessToken) {\r\n const api = new LocationsApi(config);\r\n try {\r\n const response = await api.getLocations({\r\n excludeCities: true,\r\n excludeBeacons: true,\r\n excludeCountries: true,\r\n excludeStores: true,\r\n stores: storeIds,\r\n limit: 1000,\r\n });\r\n if (isHttpOk(response)) {\r\n return response.data\r\n .filter((s) => typeof s.areaId === \"number\")\r\n .map((s) => ({ label: s.name || \"\", value: s.areaId! }));\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.error(\"Beacon area lookup returned\", response);\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n }\r\n}\r\n\r\nconst loadFilters = memoize(\r\n (config: Configuration) => {\r\n const filters = globalFilters();\r\n Promise.all([\r\n loadCountries(config),\r\n loadStores(config, filters.selectedCountries),\r\n loadAreas(config, filters.selectedStores),\r\n ]).then(([countries, stores, areas]) => {\r\n const state = globalFilters();\r\n globalFilters({\r\n ...state,\r\n topFilterCountries: countries || state.topFilterCountries,\r\n topFilterStores: stores || state.topFilterStores,\r\n topFilterAreas: areas || state.topFilterAreas,\r\n });\r\n });\r\n },\r\n (config) => config.accessToken\r\n);\r\n\r\nexport function reloadFilters() {\r\n if (loadFilters.cache.clear) loadFilters.cache.clear();\r\n const config = getApiConfig();\r\n loadFilters(config);\r\n}\r\n\r\nexport function useGlobalFilters() {\r\n const config = getApiConfig();\r\n loadFilters(config);\r\n\r\n const [state, , mergeState] = useStore(globalFilters);\r\n\r\n return {\r\n state,\r\n selectTime: useCallback(\r\n (time: DateRange) => {\r\n mergeState({\r\n selectedTime: time,\r\n });\r\n },\r\n [mergeState]\r\n ),\r\n selectAreas: useCallback(\r\n (areaIds: number[]) => {\r\n mergeState({\r\n selectedAreas: areaIds,\r\n });\r\n },\r\n [mergeState]\r\n ),\r\n selectBeacons: useCallback(\r\n (beaconIds: string[]) => {\r\n mergeState({\r\n selectedBeacons: beaconIds,\r\n });\r\n },\r\n [mergeState]\r\n ),\r\n selectStores: useCallback(\r\n (storeIds: number[]) => {\r\n mergeState({\r\n selectedStores: storeIds,\r\n });\r\n },\r\n [mergeState]\r\n ),\r\n selectCountries: useCallback(\r\n (countryIds: number[]) => {\r\n const config = getApiConfig();\r\n mergeState({\r\n selectedCountries: countryIds,\r\n });\r\n loadStores(config, countryIds).then((stores) => {\r\n mergeState((prev) => ({\r\n topFilterStores: stores || prev.topFilterStores,\r\n }));\r\n\r\n const storeIds = stores?.map((s) => s.value);\r\n loadAreas(config, storeIds).then((areas) => {\r\n mergeState((prev) => ({\r\n topFilterAreas: areas || prev.topFilterAreas,\r\n }));\r\n });\r\n });\r\n },\r\n [mergeState]\r\n ),\r\n };\r\n}\r\n\r\nexport type TimeLocationFilters = {\r\n areas?: number[];\r\n stores?: number[];\r\n cities?: number[];\r\n beacons?: string[];\r\n countries?: number[];\r\n rangeType: TimeframeType;\r\n rangeStart?: IsoDateTimeString;\r\n rangeEnd?: IsoDateTimeString;\r\n};\r\n\r\nfunction isSingleStore(input: FilterState) {\r\n return input.topFilterCountries.length <= 1 && input.topFilterStores.length <= 1;\r\n}\r\n\r\nfunction createTimeLocationFilters(input: FilterState): TimeLocationFilters {\r\n return {\r\n areas: input.selectedAreas,\r\n stores: input.selectedStores,\r\n beacons: input.selectedBeacons,\r\n countries: input.selectedCountries,\r\n rangeType: input.selectedTime.timeframeType ?? TimeframeType.AllTime,\r\n rangeStart: stringFromDate(input.selectedTime.startDate || null, false) || undefined,\r\n rangeEnd: stringFromDate(input.selectedTime.endDate || null, false) || undefined,\r\n };\r\n}\r\n\r\nexport function useIsSingleStore() {\r\n const config = getApiConfig();\r\n loadFilters(config);\r\n\r\n return useMappedStore(globalFilters, isSingleStore, true);\r\n}\r\n\r\nexport function useTimeLocationFilters(component?: string): TimeLocationFilters {\r\n return useMappedStore(globalFilters, createTimeLocationFilters, true, component);\r\n}\r\n\r\nfunction formatPeriods(start: Date, end: Date) {\r\n const startText = format(start, \"d. MMMM, yyyy\");\r\n const endText = format(end, \"d. MMMM, yyyy\");\r\n return startText === endText ? startText : `${startText} - ${endText}`;\r\n}\r\n\r\nfunction formatOptions(options: Option[], value: OptionValueType[], delimiter: string) {\r\n const labels = value\r\n .map((v) => options.find((o) => o.value === v))\r\n .filter(isProvided)\r\n .map((o) => o.label);\r\n return labels.join(delimiter);\r\n}\r\n\r\nexport function useFilterDescriptionText() {\r\n const { state: topFilters } = useGlobalFilters();\r\n const start = topFilters.selectedTime.startDate;\r\n const end = topFilters.selectedTime.endDate;\r\n const period = !!start && !!end ? formatPeriods(start, end) : \"All Time\";\r\n\r\n let locations = \"All Stores\";\r\n if (topFilters.selectedAreas?.length) {\r\n locations = formatOptions(topFilters.topFilterAreas, topFilters.selectedAreas, \", \");\r\n } else if (topFilters.selectedStores?.length) {\r\n locations = formatOptions(topFilters.topFilterStores, topFilters.selectedStores, \", \");\r\n } else if (topFilters.selectedCountries?.length) {\r\n locations = formatOptions(topFilters.topFilterCountries, topFilters.selectedCountries, \" or \");\r\n if (locations.length !== 0) locations = \"Stores in \" + locations;\r\n }\r\n\r\n return {\r\n period: period,\r\n locations: locations,\r\n };\r\n}\r\n","import \"./Legend.scss\";\r\n\r\ninterface LegendData {\r\n color?: string;\r\n title?: string;\r\n tooltip?: string;\r\n}\r\n\r\ninterface LegendProps {\r\n legendList: LegendData[];\r\n}\r\n\r\nenum Symbol {\r\n Circle,\r\n Square,\r\n}\r\n\r\nfunction GetSymbol(symbol: Symbol, color: string) {\r\n let classList: string = \"\";\r\n\r\n switch (symbol) {\r\n case Symbol.Circle:\r\n classList = \"base-symbol circle\";\r\n break;\r\n // default is square\r\n case Symbol.Square:\r\n default:\r\n classList = \"base-symbol\";\r\n }\r\n\r\n return ;\r\n}\r\n\r\nfunction Legend(props: LegendProps) {\r\n return (\r\n
\r\n
    \r\n {props.legendList.map((item, i) => (\r\n
  • \r\n {GetSymbol(Symbol.Circle, item.color || \"black\")}\r\n {item.tooltip}\r\n
  • \r\n ))}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Legend;\r\n","import React from \"react\";\r\nimport clsx, { ClassValue } from \"clsx\";\r\nimport { isEqual } from \"lodash\";\r\n\r\nimport \"./Loading.scss\";\r\n\r\nfunction Loading(props: { className?: ClassValue; text?: string }) {\r\n return (\r\n
\r\n
\r\n {props.text || \"LOADING\"}\r\n
\r\n );\r\n}\r\n\r\nexport default React.memo(Loading, (prev, next) => isEqual(prev, next));\r\n","import pDebounce from \"p-debounce\";\r\nimport React, { CSSProperties, useEffect, useRef } from \"react\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { HighlightColor } from \"../../services/types\";\r\n\r\nimport \"./MapWithMarkers.scss\";\r\n\r\ntype IntPercentage = number;\r\n\r\nexport type Marker = {\r\n x: IntPercentage;\r\n y: IntPercentage;\r\n color: HighlightColor;\r\n item?: any;\r\n tooltip?: string;\r\n htmlId?: string;\r\n onClick?: () => void;\r\n};\r\n\r\nexport type Location = {\r\n x: IntPercentage;\r\n y: IntPercentage;\r\n};\r\n\r\nexport type Props = {\r\n map?: string;\r\n markers?: Marker[];\r\n scale?: number;\r\n tooltip?: string;\r\n onClick?: (location: Location) => void;\r\n};\r\n\r\nfunction getStyle(p: Marker): CSSProperties {\r\n return {\r\n left: p.x + \"%\",\r\n top: p.y + \"%\",\r\n };\r\n}\r\n\r\nexport function MapWithMarkers(props: Props) {\r\n const imgRef = useRef(null);\r\n const divRef = useRef(null);\r\n\r\n const handleResizing = () => {\r\n if (imgRef.current && divRef.current) {\r\n let width = imgRef.current.naturalWidth;\r\n let height = imgRef.current.naturalHeight;\r\n const clientHeight = imgRef.current.clientHeight;\r\n const clientWidth = imgRef.current.clientWidth;\r\n\r\n let scale = clientWidth / width;\r\n width = scale * width;\r\n height = scale * height;\r\n\r\n if (height > clientHeight) {\r\n scale = clientHeight / height;\r\n width = scale * width;\r\n height = scale * height;\r\n }\r\n\r\n divRef.current.style.width = `${Math.round(width)}px`;\r\n divRef.current.style.height = `${Math.round(height)}px`;\r\n }\r\n\r\n ReactTooltip.rebuild();\r\n };\r\n\r\n useEffect(() => {\r\n const handler = pDebounce(handleResizing, 100);\r\n window.addEventListener(\"resize\", handler);\r\n return () => {\r\n window.removeEventListener(\"resize\", handler);\r\n };\r\n }, []);\r\n\r\n const markerJson = JSON.stringify(props.markers);\r\n useEffect(() => {\r\n ReactTooltip.rebuild();\r\n }, [markerJson]);\r\n\r\n const handleOutsideClick = (e: React.MouseEvent) => {\r\n const clientRects = e.currentTarget.getClientRects();\r\n // eslint-disable-next-line no-console\r\n if (clientRects.length !== 1) console.error(\"Expected single rect in getClientRects() for image!\");\r\n\r\n const imagePos = clientRects[0];\r\n const relX = Math.round(((e.clientX - imagePos.left) / imagePos.width) * 1000) / 10;\r\n const relY = Math.round(((e.clientY - imagePos.top) / imagePos.height) * 1000) / 10;\r\n\r\n if (props.onClick) {\r\n props.onClick({ x: relX, y: relY });\r\n }\r\n };\r\n\r\n const handleLoad: React.ReactEventHandler = (e) => {\r\n if (imgRef.current) {\r\n imgRef.current.style.display = \"\";\r\n }\r\n handleResizing();\r\n };\r\n\r\n const handleError: React.ReactEventHandler = (e) => {\r\n if (imgRef.current) {\r\n imgRef.current.style.display = \"none\";\r\n }\r\n };\r\n\r\n const getImage = () => {\r\n if (props.map && props.map.length > 0) {\r\n return \"heatmap\";\r\n }\r\n return undefined;\r\n };\r\n\r\n const scale = props.scale || 1;\r\n const innerRadius = 5 * scale;\r\n const outerRadius = 9 * scale;\r\n const strokeWidth = 3 * scale;\r\n\r\n return (\r\n
\r\n {getImage()}\r\n
\r\n {props.markers &&\r\n props.markers.map((p, i) => {\r\n const size = outerRadius * 2 + strokeWidth;\r\n const viewBox = `0 0 ${size} ${size}`;\r\n return (\r\n {\r\n if (p.onClick) p.onClick();\r\n event.stopPropagation();\r\n return false;\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n
\r\n );\r\n}\r\n","import { max } from \"lodash\";\r\nimport { useCallback, useEffect } from \"react\";\r\nimport { BeaconVisitCountView, StoresApi } from \"../../../api\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { useStateEx } from \"../../../services/hooks\";\r\nimport { getTooltip } from \"../../../services/tooltip\";\r\nimport { HighlightColor } from \"../../../services/types\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Loading from \"../../widgets/Loading\";\r\nimport { MapWithMarkers, Marker } from \"../../widgets/MapWithMarkers\";\r\n\r\nexport function StoreLayoutHeatmap(props: { storeId: number }) {\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx<{\r\n imageUrl: string;\r\n markers: Marker[];\r\n isLoading: boolean;\r\n }>({\r\n imageUrl: \"\",\r\n markers: [],\r\n isLoading: true,\r\n });\r\n\r\n const { rangeType, rangeStart, rangeEnd } = filters;\r\n\r\n const loadData = useCallback(async () => {\r\n const apiConfig = getApiConfig();\r\n const storesApi = new StoresApi(apiConfig);\r\n\r\n const visitCounts = await storesApi.getStoreBeaconVisits({\r\n id: props.storeId,\r\n rangeType: rangeType,\r\n rangeStart: rangeStart,\r\n rangeEnd: rangeEnd,\r\n });\r\n\r\n const layout = await storesApi.getLayout({\r\n id: props.storeId,\r\n });\r\n\r\n const markerColor = (beacon: BeaconVisitCountView): HighlightColor => {\r\n const maxNumber = max(visitCounts.data.map((b) => b.nmVisits)) || 0;\r\n if (beacon.nmVisits === 0) return \"red\";\r\n if (beacon.nmVisits < maxNumber * 0.3) return \"red\";\r\n if (beacon.nmVisits < maxNumber * 0.7) return \"orange\";\r\n return \"green\";\r\n };\r\n\r\n if (isHttpOk(layout) && isHttpOk(visitCounts) && layout.data.floors?.length) {\r\n const floor = layout.data.floors[0];\r\n const markers =\r\n floor.beacons!.map((beacon) => {\r\n const visitCount = visitCounts.data.find((c) => c.id === beacon.id);\r\n const color = !!visitCount ? markerColor(visitCount) : \"red\";\r\n return {\r\n x: beacon.x!,\r\n y: beacon.y!,\r\n name: beacon.name || undefined,\r\n tooltip: getTooltip(`${visitCount?.nmVisits || 0} contacts`, beacon.name || \"\"),\r\n color: color,\r\n };\r\n }) || [];\r\n\r\n mergeState({\r\n imageUrl: floor.imageUrl || \"\",\r\n markers: markers,\r\n isLoading: false,\r\n });\r\n } else {\r\n mergeState({\r\n isLoading: false,\r\n });\r\n }\r\n }, [props.storeId, rangeType, rangeStart, rangeEnd, mergeState]);\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, [loadData]);\r\n\r\n if (state.isLoading) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n}\r\n","\r\nimport React, {\r\n createContext,\r\n useMemo,\r\n useCallback,\r\n} from \"react\"\r\nimport PropTypes from \"prop-types\"\r\nimport * as d3Geo from \"d3-geo\"\r\n\r\nconst { geoPath, ...projections } = d3Geo\r\n\r\nconst MapContext = createContext()\r\n\r\nconst makeProjection = ({\r\n projectionConfig = {},\r\n projection = \"geoEqualEarth\",\r\n width = 800,\r\n height = 600,\r\n}) => {\r\n const isFunc = typeof projection === \"function\"\r\n\r\n if (isFunc) return projection\r\n\r\n let proj = projections[projection]()\r\n .translate([width / 2, height / 2])\r\n\r\n const supported = [\r\n proj.center ? \"center\" : null,\r\n proj.rotate ? \"rotate\" : null,\r\n proj.scale ? \"scale\" : null,\r\n proj.parallels ? \"parallels\" : null,\r\n ]\r\n\r\n supported.forEach(d => {\r\n if (!d) return\r\n proj = proj[d](projectionConfig[d] || proj[d]())\r\n })\r\n\r\n return proj\r\n}\r\n\r\nconst MapProvider = ({\r\n width,\r\n height,\r\n projection,\r\n projectionConfig,\r\n ...restProps\r\n}) => {\r\n const [cx, cy] = projectionConfig.center || []\r\n const [rx, ry, rz] = projectionConfig.rotate || []\r\n const [p1, p2] = projectionConfig.parallels || []\r\n const s = projectionConfig.scale || null\r\n\r\n const projMemo = useMemo(() => {\r\n return makeProjection({\r\n projectionConfig: {\r\n center: (cx || cx === 0) || (cy || cy === 0) ? [cx, cy] : null,\r\n rotate: (rx || rx === 0) || (ry || ry === 0) ? [rx, ry, rz] : null,\r\n parallels: (p1 || p1 === 0) || (p2 || p2 === 0) ? [p1, p2] : null,\r\n scale: s,\r\n },\r\n projection,\r\n width,\r\n height,\r\n })\r\n }, [ width, height, projection, cx, cy, rx, ry, rz, p1, p2, s ])\r\n\r\n const proj = useCallback(projMemo, [projMemo])\r\n\r\n const value = useMemo(() => {\r\n return {\r\n width,\r\n height,\r\n projection: proj,\r\n path: geoPath().projection(proj),\r\n }\r\n }, [ width, height, proj ])\r\n\r\n return ()\r\n}\r\n\r\nMapProvider.propTypes = {\r\n width: PropTypes.number,\r\n height: PropTypes.number,\r\n projection: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.func,\r\n ]),\r\n projectionConfig: PropTypes.object,\r\n}\r\n\r\nexport { MapProvider, MapContext }\r\n","import React, { PropsWithChildren } from \"react\";\r\nimport { MapProvider } from \"./MapProvider\";\r\nimport { GeoProjection } from \"d3-geo\";\r\n\r\ntype Props = {\r\n width?: number;\r\n height?: number;\r\n projection?: string | GeoProjection;\r\n projectionConfig?: any;\r\n className?: string;\r\n};\r\n\r\nconst ComposableMap = ({\r\n width = 800,\r\n height = 600,\r\n projection = \"geoEqualEarth\",\r\n projectionConfig = {},\r\n className = \"\",\r\n ...restProps\r\n}: PropsWithChildren) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ComposableMap;\r\n","import { feature, mesh } from \"topojson-client\";\r\n\r\nexport function getCoords(w, h, t) {\r\n const xOffset = (w * t.k - w) / 2;\r\n const yOffset = (h * t.k - h) / 2;\r\n return [w / 2 - (xOffset + t.x) / t.k, h / 2 - (yOffset + t.y) / t.k];\r\n}\r\n\r\nexport function fetchGeographies(url) {\r\n return fetch(url)\r\n .then((res) => {\r\n if (!res.ok) {\r\n throw Error(res.statusText);\r\n }\r\n return res.json();\r\n })\r\n .catch((error) => {\r\n // eslint-disable-next-line no-console\r\n console.error(\"There was a problem when fetching the data: \", error);\r\n });\r\n}\r\n\r\nexport function getFeatures(geographies, parseGeographies) {\r\n const isTopojson = geographies.type === \"Topology\";\r\n if (!isTopojson) {\r\n return parseGeographies\r\n ? parseGeographies(geographies.features || geographies)\r\n : geographies.features || geographies;\r\n }\r\n const feats = feature(geographies, geographies.objects[Object.keys(geographies.objects)[0]]).features;\r\n return parseGeographies ? parseGeographies(feats) : feats;\r\n}\r\n\r\nexport function getMesh(geographies) {\r\n const isTopojson = geographies.type === \"Topology\";\r\n if (!isTopojson) return null;\r\n const outline = mesh(geographies, geographies.objects[Object.keys(geographies.objects)[0]], (a, b) => a === b);\r\n const borders = mesh(geographies, geographies.objects[Object.keys(geographies.objects)[0]], (a, b) => a !== b);\r\n return { outline, borders };\r\n}\r\n\r\nexport function prepareMesh(outline, borders, path) {\r\n return outline && borders\r\n ? {\r\n outline: { ...outline, rsmKey: \"outline\", svgPath: path(outline) },\r\n borders: { ...borders, rsmKey: \"borders\", svgPath: path(borders) },\r\n }\r\n : {};\r\n}\r\n\r\nexport function prepareFeatures(geographies, path) {\r\n return geographies\r\n ? geographies.map((d, i) => {\r\n return {\r\n ...d,\r\n rsmKey: `geo-${i}`,\r\n svgPath: path(d),\r\n };\r\n })\r\n : [];\r\n}\r\n\r\nexport function createConnectorPath(dx = 30, dy = 30, curve = 0.5) {\r\n const curvature = Array.isArray(curve) ? curve : [curve, curve];\r\n const curveX = (dx / 2) * curvature[0];\r\n const curveY = (dy / 2) * curvature[1];\r\n return `M${0},${0} Q${-dx / 2 - curveX},${-dy / 2 + curveY} ${-dx},${-dy}`;\r\n}\r\n\r\nexport function isString(geo) {\r\n return typeof geo === \"string\";\r\n}\r\n","import { useMemo, useState, useEffect, useContext } from \"react\";\r\nimport { MapContext } from \"./MapProvider\";\r\n\r\nimport { fetchGeographies, getFeatures, getMesh, prepareFeatures, isString, prepareMesh } from \"./utils\";\r\n\r\nexport default function useGeographies({ geography, parseGeographies }) {\r\n const { path } = useContext(MapContext);\r\n const [output, setOutput] = useState({});\r\n\r\n useEffect(() => {\r\n if (typeof window === `undefined`) return;\r\n\r\n if (!geography) return;\r\n\r\n if (isString(geography)) {\r\n fetchGeographies(geography).then((geos) => {\r\n if (geos) {\r\n setOutput({\r\n geographies: getFeatures(geos, parseGeographies),\r\n mesh: getMesh(geos),\r\n });\r\n }\r\n });\r\n } else {\r\n setOutput({\r\n geographies: getFeatures(geography, parseGeographies),\r\n mesh: getMesh(geography),\r\n });\r\n }\r\n }, [geography, parseGeographies]);\r\n\r\n const { geographies, outline, borders } = useMemo(() => {\r\n const mesh = output.mesh || {};\r\n const preparedMesh = prepareMesh(mesh.outline, mesh.borders, path);\r\n return {\r\n geographies: prepareFeatures(output.geographies, path),\r\n outline: preparedMesh.outline,\r\n borders: preparedMesh.borders,\r\n };\r\n }, [output, path]);\r\n\r\n return { geographies, outline, borders };\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { MapContext } from \"./MapProvider\";\r\nimport useGeographies from \"./useGeographies\";\r\n\r\nconst Geographies = ({ geography, children, parseGeographies = undefined, className = \"\", ...restProps }) => {\r\n const { path, projection } = useContext(MapContext);\r\n const { geographies, outline, borders } = useGeographies({ geography, parseGeographies });\r\n\r\n return (\r\n \r\n {geographies && geographies.length > 0 && children({ geographies, outline, borders, path, projection })}\r\n \r\n );\r\n};\r\n\r\nexport default Geographies;\r\n","import React, { useState, memo } from \"react\";\r\n\r\nconst Geography = ({\r\n geography,\r\n onMouseEnter = undefined,\r\n onMouseLeave = undefined,\r\n onMouseDown = undefined,\r\n onMouseUp = undefined,\r\n onFocus = undefined,\r\n onBlur = undefined,\r\n style = {},\r\n className = \"\",\r\n ...restProps\r\n}) => {\r\n const [isPressed, setPressed] = useState(false);\r\n const [isFocused, setFocus] = useState(false);\r\n\r\n function handleMouseEnter(evt) {\r\n setFocus(true);\r\n if (onMouseEnter) onMouseEnter(evt);\r\n }\r\n\r\n function handleMouseLeave(evt) {\r\n setFocus(false);\r\n if (isPressed) setPressed(false);\r\n if (onMouseLeave) onMouseLeave(evt);\r\n }\r\n\r\n function handleFocus(evt) {\r\n setFocus(true);\r\n if (onFocus) onFocus(evt);\r\n }\r\n\r\n function handleBlur(evt) {\r\n setFocus(false);\r\n if (isPressed) setPressed(false);\r\n if (onBlur) onBlur(evt);\r\n }\r\n\r\n function handleMouseDown(evt) {\r\n setPressed(true);\r\n if (onMouseDown) onMouseDown(evt);\r\n }\r\n\r\n function handleMouseUp(evt) {\r\n setPressed(false);\r\n if (onMouseUp) onMouseUp(evt);\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default memo(Geography);\r\n","import { useEffect, useRef, useState, useContext } from \"react\";\r\nimport { zoom as d3Zoom, zoomIdentity as d3ZoomIdentity } from \"d3-zoom\";\r\nimport { select as d3Select } from \"d3-selection\";\r\n\r\nimport { MapContext } from \"./MapProvider\";\r\nimport { getCoords } from \"./utils\";\r\n\r\nexport default function useZoomPan({\r\n center,\r\n filterZoomEvent = undefined,\r\n onMoveStart = undefined,\r\n onMoveEnd = undefined,\r\n onMove = undefined,\r\n translateExtent = [\r\n [-Infinity, -Infinity],\r\n [Infinity, Infinity],\r\n ],\r\n scaleExtent = [1, 8],\r\n zoom = 1,\r\n}) {\r\n const { width, height, projection } = useContext(MapContext);\r\n\r\n const [lon, lat] = center;\r\n const [position, setPosition] = useState({ x: 0, y: 0, k: 1 });\r\n const lastPosition = useRef({ x: 0, y: 0, k: 1 });\r\n const mapRef = useRef();\r\n const zoomRef = useRef();\r\n const bypassEvents = useRef(false);\r\n\r\n const [a, b] = translateExtent;\r\n const [a1, a2] = a;\r\n const [b1, b2] = b;\r\n const [minZoom, maxZoom] = scaleExtent;\r\n\r\n useEffect(() => {\r\n const svg = d3Select(mapRef.current);\r\n\r\n function handleZoomStart(d3Event) {\r\n if (!onMoveStart || bypassEvents.current) return;\r\n onMoveStart(\r\n { coordinates: projection.invert(getCoords(width, height, d3Event.transform)), zoom: d3Event.transform.k },\r\n d3Event\r\n );\r\n }\r\n\r\n function handleZoom(d3Event) {\r\n if (bypassEvents.current) return;\r\n const { transform, sourceEvent } = d3Event;\r\n setPosition({ x: transform.x, y: transform.y, k: transform.k, dragging: sourceEvent });\r\n if (!onMove) return;\r\n onMove({ x: transform.x, y: transform.y, k: transform.k, dragging: sourceEvent }, d3Event);\r\n }\r\n\r\n function handleZoomEnd(d3Event) {\r\n if (bypassEvents.current) {\r\n bypassEvents.current = false;\r\n return;\r\n }\r\n const [x, y] = projection.invert(getCoords(width, height, d3Event.transform));\r\n lastPosition.current = { x, y, k: d3Event.transform.k };\r\n if (!onMoveEnd) return;\r\n onMoveEnd({ coordinates: [x, y], zoom: d3Event.transform.k }, d3Event);\r\n }\r\n\r\n function filterFunc(d3Event) {\r\n if (filterZoomEvent) {\r\n return filterZoomEvent(d3Event);\r\n }\r\n return d3Event ? !d3Event.ctrlKey && !d3Event.button : false;\r\n }\r\n\r\n const zoom = d3Zoom()\r\n .filter(filterFunc)\r\n .scaleExtent([minZoom, maxZoom])\r\n .translateExtent([\r\n [a1, a2],\r\n [b1, b2],\r\n ])\r\n .on(\"start\", handleZoomStart)\r\n .on(\"zoom\", handleZoom)\r\n .on(\"end\", handleZoomEnd);\r\n\r\n zoomRef.current = zoom;\r\n svg.call(zoom);\r\n }, [width, height, a1, a2, b1, b2, minZoom, maxZoom, projection, onMoveStart, onMove, onMoveEnd, filterZoomEvent]);\r\n\r\n useEffect(() => {\r\n if (lon === lastPosition.current.x && lat === lastPosition.current.y && zoom === lastPosition.current.k) return;\r\n\r\n const coords = projection([lon, lat]);\r\n const x = coords[0] * zoom;\r\n const y = coords[1] * zoom;\r\n const svg = d3Select(mapRef.current);\r\n\r\n bypassEvents.current = true;\r\n\r\n svg.call(zoomRef.current.transform, d3ZoomIdentity.translate(width / 2 - x, height / 2 - y).scale(zoom));\r\n setPosition({ x: width / 2 - x, y: height / 2 - y, k: zoom });\r\n\r\n lastPosition.current = { x: lon, y: lat, k: zoom };\r\n }, [lon, lat, zoom, width, height, projection]);\r\n\r\n return {\r\n mapRef,\r\n position,\r\n transformString: `translate(${position.x} ${position.y}) scale(${position.k})`,\r\n };\r\n}\r\n","import { GeoProjection } from \"d3-geo\";\r\nimport { isNaN, max, min } from \"lodash\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { LocationsApi, WorldHeatmapMarkerView } from \"../../../api\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { isProvided } from \"../../../services/objects\";\r\nimport { getBulletedTooltip, getTooltip } from \"../../../services/tooltip\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Loading from \"../../widgets/Loading\";\r\nimport { ComposableMap, Geographies, Geography, MapContext, useZoomPan } from \"./simple-maps\";\r\n\r\nimport CountriesData from \"../../../data/countries-110m.json\";\r\n\r\ninterface WorldMapMarker {\r\n id: string;\r\n title: string;\r\n text: string;\r\n nmVisits: number;\r\n latitude: number;\r\n longitude: number;\r\n}\r\n\r\ntype ProjectedMarker = {\r\n marker: WorldMapMarker;\r\n x: number;\r\n y: number;\r\n};\r\n\r\nclass MarkerGroup {\r\n public x = 0;\r\n public y = 0;\r\n public nmVisits = 0;\r\n public markers: ProjectedMarker[];\r\n\r\n constructor(marker: ProjectedMarker) {\r\n this.x = marker.x;\r\n this.y = marker.y;\r\n this.nmVisits = marker.marker.nmVisits;\r\n this.markers = [marker];\r\n }\r\n\r\n public add(marker: ProjectedMarker) {\r\n this.x = (this.x * this.markers.length + marker.x) / (this.markers.length + 1);\r\n this.y = (this.y * this.markers.length + marker.y) / (this.markers.length + 1);\r\n this.nmVisits = (this.nmVisits * this.markers.length + marker.marker.nmVisits) / (this.markers.length + 1);\r\n this.markers.push(marker);\r\n }\r\n}\r\n\r\nfunction distance(a: { x: number; y: number }, b: { x: number; y: number }) {\r\n return Math.sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));\r\n}\r\n\r\nfunction groupByArea(items: readonly ProjectedMarker[], getRadius: (nmVisits: number) => number) {\r\n const groups: MarkerGroup[] = [];\r\n const queue = items.slice();\r\n while (queue.length > 0) {\r\n const current = queue.pop()!;\r\n let added = false;\r\n for (const group of groups) {\r\n if (distance(current, group) < getRadius(current.marker.nmVisits) + getRadius(group.nmVisits)) {\r\n group.add(current);\r\n added = true;\r\n break;\r\n }\r\n }\r\n if (!added) {\r\n groups.push(new MarkerGroup(current));\r\n }\r\n }\r\n return groups;\r\n}\r\n\r\nfunction MapContent(props: { markerSize: number; markers: WorldMapMarker[] }) {\r\n const { projection } = useContext<{ projection: GeoProjection }>(MapContext);\r\n const maxNmVisits = max(props.markers.map((m) => m.nmVisits)) || 0;\r\n const projectedMarkers = props.markers\r\n .map((m) => {\r\n const projected = projection([m.longitude, m.latitude]);\r\n if (!projected || projected.some(isNaN)) return null;\r\n return {\r\n marker: m,\r\n x: projected[0],\r\n y: projected[1],\r\n };\r\n })\r\n .filter(isProvided);\r\n\r\n const topLeftX = min(projectedMarkers.map((c) => c.x)) || 0;\r\n const topLeftY = min(projectedMarkers.map((c) => c.y)) || 0;\r\n const bottomRightX = max(projectedMarkers.map((c) => c.x)) || 0;\r\n const bottomRightY = max(projectedMarkers.map((c) => c.y)) || 0;\r\n const center = projection.invert!([(topLeftX + bottomRightX) / 2, (topLeftY + bottomRightY) / 2]);\r\n const scaleY = 1000 / (bottomRightY - topLeftY);\r\n const scaleX = 1000 / (bottomRightX - topLeftX);\r\n const scale = min([scaleX, scaleY, 60])! * 0.8;\r\n\r\n const { mapRef, position, transformString } = useZoomPan({\r\n center: center,\r\n zoom: scale,\r\n scaleExtent: [1.2, 60],\r\n translateExtent: [\r\n [-200, -200],\r\n [1200, 1200],\r\n ],\r\n });\r\n\r\n const zoom = position.k;\r\n const outerRadius = (450 * props.markerSize) / zoom;\r\n const innerRadius = (260 * props.markerSize) / zoom;\r\n const strokeWidth = (100 * props.markerSize) / zoom;\r\n const groups = groupByArea(projectedMarkers, () => outerRadius / 2);\r\n const jsonGroups = JSON.stringify(groups);\r\n\r\n useEffect(() => {\r\n ReactTooltip.rebuild();\r\n }, [jsonGroups]);\r\n\r\n const getMarkerColor = (nmVisits: number) => {\r\n if (nmVisits <= maxNmVisits * 0.2) return \"red\";\r\n if (nmVisits < maxNmVisits * 0.7) return \"yellow\";\r\n return \"green\";\r\n };\r\n\r\n function getGroupTooltip(group: MarkerGroup) {\r\n if (group.markers.length === 1) {\r\n return getTooltip(group.markers[0].marker.text, group.markers[0].marker.title);\r\n }\r\n return getBulletedTooltip({\r\n text: \"\",\r\n bulletPoints: group.markers.map((m) => m.marker.title),\r\n title: `${group.markers.length} stores`,\r\n });\r\n }\r\n\r\n const markers = groups.map((g, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {({ geographies }: any) => {\r\n return geographies.map((geo: any) => );\r\n }}\r\n \r\n {markers}\r\n \r\n \r\n );\r\n}\r\n\r\nexport function WorldHeatmap(props: { markerSize: number }) {\r\n const filters = useTimeLocationFilters();\r\n const [state, setState] = useState({\r\n map: [] as WorldHeatmapMarkerView[],\r\n loading: true,\r\n });\r\n\r\n useEffect(() => {\r\n setState({ map: [], loading: true });\r\n const apiConfig = getApiConfig();\r\n const locationApi = new LocationsApi(apiConfig);\r\n locationApi.getWorldHeatmap(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n setState({\r\n loading: false,\r\n map: result.data,\r\n });\r\n window.setTimeout(ReactTooltip.rebuild, 1000);\r\n } else {\r\n setState({\r\n loading: false,\r\n map: [],\r\n });\r\n }\r\n });\r\n }, [filters]);\r\n\r\n const markers: WorldMapMarker[] = state.map.map((marker) => ({\r\n id: marker.id.toString(),\r\n title: marker.name || \"\",\r\n nmVisits: marker.nmVisits,\r\n latitude: marker.latitude,\r\n longitude: marker.longitude,\r\n text: `${marker.nmVisits} visits`,\r\n }));\r\n\r\n if (state.loading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { AnalyticsApi, VisitorStatisticsView } from \"../../../api\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { approximateDuration, formatPercentage } from \"../../../services/format\";\r\nimport { useStateEx } from \"../../../services/hooks\";\r\nimport { useLocalizedText } from \"../../../services/localization\";\r\nimport { getTooltip } from \"../../../services/tooltip\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport { AvgVisitDuration, BounceRate, NewVisitors, ReturningVisitors } from \"../../icons/Icons\";\r\nimport Legend from \"../../widgets/Legend\";\r\nimport { StoreLayoutHeatmap } from \"./StoreLayoutHeatmap\";\r\nimport { WorldHeatmap } from \"./WorldHeatmap\";\r\n\r\nimport \"./Heatmap.scss\";\r\n\r\nexport default function Heatmap() {\r\n const texts = useLocalizedText();\r\n const deployment = useDeploymentConfig();\r\n const filters = useTimeLocationFilters();\r\n\r\n const { state, mergeState } = useStateEx<{\r\n isLoading: boolean;\r\n visitors: VisitorStatisticsView;\r\n }>({\r\n isLoading: true,\r\n visitors: {\r\n averageVisitDurationSeconds: 0,\r\n bounceRate: 0,\r\n newVisitors: 0,\r\n returningVisitors: 0,\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n const apiConfig = getApiConfig();\r\n const analyticsApi = new AnalyticsApi(apiConfig);\r\n analyticsApi.getVisitorStatistics(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n isLoading: false,\r\n visitors: result.data,\r\n });\r\n } else {\r\n mergeState({\r\n isLoading: false,\r\n });\r\n }\r\n });\r\n }, [filters, mergeState]);\r\n\r\n const oneStoreSelected = filters.stores?.length === 1;\r\n\r\n const renderHeatmap = () => {\r\n if (oneStoreSelected) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const [avgVisit, avgVisitUnit] = approximateDuration(state.visitors.averageVisitDurationSeconds);\r\n\r\n const legendList = oneStoreSelected ? texts.heatmap.beaconLegend : texts.heatmap.storeLegend;\r\n\r\n const newVisitors = state.visitors.newVisitors > 0 ? state.visitors.newVisitors : \"N/A\";\r\n const returningVisitors = state.visitors.returningVisitors > 0 ? state.visitors.returningVisitors : \"N/A\";\r\n const avgVisitText = avgVisit > 0 ? avgVisit.toFixed(0) + \" \" + avgVisitUnit : \"N/A\";\r\n const bounceRate = state.visitors.bounceRate > 0 ? formatPercentage(state.visitors.bounceRate) : \"N/A\";\r\n\r\n return (\r\n
\r\n
\r\n

{texts.heatmap.title}

\r\n {renderHeatmap()}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n {newVisitors}\r\n \r\n {texts.heatmap.items.newVisitors.title}\r\n \r\n
\r\n
\r\n \r\n {returningVisitors}\r\n \r\n {texts.heatmap.items.returningVisitors.title}\r\n \r\n
\r\n
\r\n \r\n {avgVisitText}\r\n \r\n {texts.heatmap.items.avgVisitDuration.title}\r\n \r\n
\r\n {!deployment.config.disablePurchaseHistories && (\r\n
\r\n \r\n {bounceRate}\r\n \r\n {texts.heatmap.items.bounceRate.title}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { MouseEventHandler, PropsWithChildren } from \"react\";\r\nimport \"./Card.scss\";\r\n\r\ninterface CardProps {\r\n onClick?: MouseEventHandler;\r\n className?: string;\r\n selected?: boolean;\r\n}\r\n\r\nfunction Card(props: PropsWithChildren) {\r\n const { children, className } = props;\r\n\r\n const classes = [\"ui--card\", className];\r\n\r\n return (\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Card;\r\n","import clsx, { ClassValue } from \"clsx\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { PropsWithChildren, useCallback, useEffect } from \"react\";\r\nimport ReactModal from \"react-modal\";\r\nimport { createStore, useStore } from \"../../services/streams\";\r\n\r\nimport \"./Modal.scss\";\r\n\r\nconst modalStore = createStore>({}, \"modal\");\r\n\r\ntype ModalReturn = {\r\n id: string;\r\n state: State | undefined;\r\n isOpen: boolean;\r\n isAnyOpen: boolean;\r\n openModal: (state: State) => void;\r\n closeModal: () => void;\r\n closeAllModals: () => void;\r\n};\r\n\r\nexport function useModal(modalId?: string): ModalReturn {\r\n const id = modalId || \"default\";\r\n const [state, setState] = useStore(modalStore);\r\n const openIds = Object.keys(state);\r\n const isOpen = openIds.includes(id);\r\n\r\n return {\r\n id: id,\r\n isOpen: isOpen,\r\n state: isOpen ? (state[id] as State) : undefined,\r\n isAnyOpen: openIds.length > 0,\r\n openModal: useCallback(\r\n (state: State) => {\r\n setState((prev) => {\r\n const cloned = cloneDeep(prev);\r\n cloned[id] = state || true;\r\n return cloned;\r\n });\r\n },\r\n [id, setState]\r\n ),\r\n closeModal: useCallback(() => {\r\n setState((prev) => {\r\n const cloned = cloneDeep(prev);\r\n delete cloned[id];\r\n return cloned;\r\n });\r\n }, [id, setState]),\r\n closeAllModals: useCallback(() => {\r\n setState({});\r\n }, [setState]),\r\n };\r\n}\r\n\r\nexport function Modal(\r\n props: PropsWithChildren<{\r\n id?: string;\r\n className?: ClassValue;\r\n onRequestClose?: () => void;\r\n }>\r\n) {\r\n const id = props.id || \"default\";\r\n const [state, setState] = useStore(modalStore);\r\n const isOpen = id in state;\r\n\r\n const customModalStyle: ReactModal.Styles = {\r\n overlay: {\r\n inset: undefined,\r\n zIndex: 99,\r\n },\r\n content: {\r\n inset: undefined,\r\n position: undefined,\r\n padding: \"0px\",\r\n background: \"white\",\r\n border: \"0px\",\r\n overflow: \"visible\",\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n const freezeWidth = () => {\r\n const width = window.innerWidth;\r\n document.body.style.width = `${width}px`;\r\n };\r\n\r\n document.body.classList.add(\"hide-scrollbars\");\r\n freezeWidth();\r\n\r\n window.addEventListener(\"resize\", freezeWidth);\r\n return () => {\r\n window.removeEventListener(\"resize\", freezeWidth);\r\n document.body.classList.remove(\"hide-scrollbars\");\r\n document.body.style.width = \"\";\r\n };\r\n }, [isOpen]);\r\n\r\n const tryClose = () => {\r\n if (typeof props.onRequestClose === \"function\") {\r\n props.onRequestClose();\r\n } else {\r\n setState((prev) => {\r\n const cloned = cloneDeep(prev);\r\n delete cloned[id];\r\n return cloned;\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n {isOpen && props.children}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function ValidationError(props: { path?: string; message: string }) {\r\n return (\r\n
\r\n {props.message}\r\n
\r\n );\r\n}\r\n","import clsx from \"clsx\";\r\nimport { cloneDeep, isArray, isFunction, uniq } from \"lodash\";\r\nimport pDebounce from \"p-debounce\";\r\nimport { useCallback, useLayoutEffect, useMemo, useRef } from \"react\";\r\nimport { FieldError, FieldValues, Path, PathValue, UseFormReturn, useController } from \"react-hook-form\";\r\nimport ReactSelect, {\r\n ActionMeta,\r\n ContainerProps,\r\n ControlProps,\r\n MenuProps,\r\n OnChangeValue,\r\n OptionProps,\r\n Props,\r\n ValueContainerProps,\r\n components,\r\n} from \"react-select\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport { isProvided } from \"../../services/objects\";\r\nimport { DropdownIcon } from \"../icons/Icons\";\r\nimport { ValidationError } from \"../widgets/ValidationError\";\r\n\r\nimport \"./Select.scss\";\r\n\r\nexport type OptionGroup = {\r\n label: string;\r\n options: Option[];\r\n};\r\n\r\nexport type Option = {\r\n label: string;\r\n deactivated?: boolean;\r\n description?: string;\r\n value: OptionValueType;\r\n};\r\n\r\nexport type Options = (Option | OptionGroup)[];\r\nexport type ReadonlyOptions = Readonly;\r\n\r\nfunction OptionWithCheckbox(props: OptionProps) {\r\n const option = props.data;\r\n const checkClasses = [\"checkbox\"];\r\n if (props.isSelected) checkClasses.push(\"checked\");\r\n\r\n return (\r\n \r\n
\r\n {option.label}\r\n {option.description &&
{option.description}
}\r\n
\r\n );\r\n}\r\n\r\nfunction NormalOption(props: OptionProps) {\r\n const option = props.data as Option;\r\n const labelClassName = option.deactivated ? \"deactivated\" : \"\";\r\n var descriptionClassName = [\"description\"];\r\n if (option.deactivated) {\r\n descriptionClassName.push(\"deactivated\");\r\n }\r\n\r\n return (\r\n \r\n
{option.label}
\r\n {option.description &&
{option.description}
}\r\n
\r\n );\r\n}\r\n\r\nconst Empty = () => {\r\n return <>;\r\n};\r\n\r\nexport type OptionValueType = number | string | boolean;\r\ntype SelectedOptionType = OnChangeValue;\r\ntype SelectedValueType = IsMulti extends true\r\n ? OptionValueType[]\r\n : OptionValueType | null;\r\n\r\ninterface SelectProps {\r\n isMenuOpen?: boolean;\r\n isMulti?: IsMulti;\r\n placeholder?: string;\r\n className?: string;\r\n required?: boolean;\r\n clearText?: string;\r\n errorLabel?: string;\r\n multiValueItemLabel?: string | ((items: number) => string);\r\n icon?: JSX.Element;\r\n type: \"form\" | \"filter\";\r\n readOnly?: boolean;\r\n options: ReadonlyOptions | ((input: string) => Promise);\r\n value: SelectedOptionType;\r\n onChange?: Props[\"onChange\"];\r\n onBlur?: () => void;\r\n error?: FieldError;\r\n errorPath?: string;\r\n hint?: string;\r\n}\r\n\r\nfunction SelfPositioningMenu({\r\n children,\r\n innerRef,\r\n ...innerProps\r\n}: MenuProps) {\r\n const menuRef = useRef();\r\n\r\n useLayoutEffect(() => {\r\n if (!menuRef.current) return;\r\n // Menu is too close to right edge\r\n const position = menuRef.current.getBoundingClientRect();\r\n if (position.right + 100 >= window.innerWidth || position.right + 100 >= document.documentElement.clientWidth) {\r\n menuRef.current.classList.add(\"rightmost\");\r\n }\r\n });\r\n\r\n const setRefs = useCallback(\r\n (el: HTMLDivElement) => {\r\n menuRef.current = el;\r\n innerRef && innerRef(el);\r\n },\r\n [innerRef]\r\n );\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nfunction AbstractSelect(props: SelectProps) {\r\n const getCssClasses = () => {\r\n const classes = props.type === \"form\" ? [\"select\", \"form-input\"] : [\"filter\"];\r\n if (props.className) classes.push(props.className);\r\n if (!props.required) classes.push(\"select__optional\");\r\n if (props.error) classes.push(\"invalid\");\r\n return classes;\r\n };\r\n\r\n const renderError = () => {\r\n if (!props.error) {\r\n return null;\r\n }\r\n const fieldName = props.errorLabel || \"Field\";\r\n let message: string;\r\n switch (props.error.type) {\r\n case \"required\":\r\n message = props.error.message || `${fieldName} is required`;\r\n break;\r\n default:\r\n message = props.error.message || `${fieldName} is invalid`;\r\n break;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n const error = renderError();\r\n const componentOverrides: Props[\"components\"] = {\r\n SelectContainer: useCallback(\r\n ({ children, ...innerProps }: ContainerProps) => {\r\n const hint = props.hint ?
{props.hint}
: null;\r\n return (\r\n \r\n {children}\r\n {error || hint || null}\r\n \r\n );\r\n },\r\n [error, props.hint]\r\n ),\r\n Control: useCallback(\r\n ({ children, ...innerProps }: ControlProps) => {\r\n return (\r\n \r\n {props.icon}\r\n {children}\r\n \r\n );\r\n },\r\n [props.icon]\r\n ),\r\n ValueContainer: useCallback(\r\n ({ children, ...innerProps }: ValueContainerProps) => {\r\n const renderValue = () => {\r\n const values = innerProps.getValue();\r\n if (innerProps.selectProps.inputValue && innerProps.selectProps.inputValue.length > 0) {\r\n return null;\r\n } else if (values && values.length > 0) {\r\n if (innerProps.isMulti) {\r\n return (\r\n
\r\n {values.length === 1 ? values[0].label : `${values.length} ${props.multiValueItemLabel || \"items\"}`}\r\n
\r\n );\r\n } else {\r\n return
{values[0].label}
;\r\n }\r\n }\r\n };\r\n return (\r\n \r\n {children}\r\n {renderValue()}\r\n \r\n );\r\n },\r\n [props.multiValueItemLabel]\r\n ),\r\n Menu: SelfPositioningMenu,\r\n MenuList: props.required\r\n ? components.MenuList\r\n : ({ children, ...innerProps }) => {\r\n const prefix = innerProps.selectProps?.classNamePrefix || \"select\";\r\n return (\r\n \r\n {innerProps.hasValue && (\r\n {\r\n innerProps.clearValue();\r\n innerProps.selectProps.onMenuClose();\r\n }}\r\n >\r\n {props.clearText || \"Clear\"}\r\n \r\n )}\r\n {children}\r\n \r\n );\r\n },\r\n MultiValue: Empty,\r\n SingleValue: Empty,\r\n Option: props.isMulti ? OptionWithCheckbox : NormalOption,\r\n DropdownIndicator: (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n IndicatorSeparator: null,\r\n NoOptionsMessage: () => (\r\n
\r\n {isFunction(props.options) ? \"Type to search options\" : \"No options\"}\r\n
\r\n ),\r\n };\r\n\r\n const commonProps: Props = {\r\n value: props.value,\r\n onBlur: props.onBlur,\r\n onChange: props.readOnly ? undefined : props.onChange,\r\n isMulti: props.isMulti,\r\n menuIsOpen: props.isMenuOpen,\r\n closeMenuOnSelect: !props.isMulti,\r\n placeholder: props.placeholder,\r\n isDisabled: props.readOnly,\r\n isClearable: false,\r\n hideSelectedOptions: false,\r\n blurInputOnSelect: !props.isMulti,\r\n className: getCssClasses().join(\" \"),\r\n classNamePrefix: \"select\",\r\n components: componentOverrides,\r\n styles: {\r\n placeholder: (styles, innerProps) => ({}),\r\n container: (styles, innerProps) => ({\r\n ...styles,\r\n border: \"none\",\r\n outline: \"none\",\r\n height: \"40px\",\r\n color: \"var(--font-color)\",\r\n }),\r\n control: (styles, innerProps) => ({\r\n ...styles,\r\n cursor: innerProps.isDisabled ? undefined : \"pointer\",\r\n outline: \"none\",\r\n border: \"none\",\r\n height: \"40px\",\r\n font: \"var(--font)\",\r\n boxShadow: \"none\",\r\n }),\r\n valueContainer: (styles, innerProps) => ({\r\n ...styles,\r\n padding: props.icon ? \"2px 8px 2px 0px\" : \"2px 8px 2px 12px\",\r\n display: \"flex\",\r\n flexWrap: \"nowrap\",\r\n }),\r\n menuList: (styles, innerProps) => ({ ...styles, WebkitOverflowScrolling: \"touch\" }), // maybe will solve issue\r\n option: (styles, innerProps) => {\r\n const override = { ...styles };\r\n if (innerProps.isSelected) override.backgroundColor = \"var(--button-background-a05)\";\r\n else if (innerProps.isFocused) override.backgroundColor = \"var(--button-background-a01)\";\r\n return override;\r\n },\r\n },\r\n };\r\n\r\n if (isFunction(props.options)) {\r\n const getDefaultOptions = () => {\r\n if (props.value === undefined || props.value === null) return [];\r\n if (isArray(props.value)) {\r\n return props.value;\r\n } else if (props.value !== null) {\r\n return [props.value as Option];\r\n } else {\r\n return undefined;\r\n }\r\n };\r\n\r\n return (\r\n \r\n {...commonProps}\r\n cacheOptions={false}\r\n defaultOptions={getDefaultOptions()}\r\n loadOptions={props.options}\r\n />\r\n );\r\n } else {\r\n return {...commonProps} isSearchable={true} options={props.options} />;\r\n }\r\n}\r\n\r\nfunction optionsAreGroups(options: ReadonlyOptions): options is readonly OptionGroup[] {\r\n return options.every((o) => \"options\" in o);\r\n}\r\n\r\nfunction valuesToOptions(options: ReadonlyOptions, values?: SelectedValueType) {\r\n if (values === undefined) return [];\r\n const allOptions = optionsAreGroups(options) ? options.flatMap((g) => g.options) : (options as readonly Option[]);\r\n const allValues = allOptions.map((o) => o.value);\r\n const hasDuplicates = uniq(allValues).length < allValues.length;\r\n if (hasDuplicates) throw new Error(\"Duplicate values in groups not supported in Select.\");\r\n return values.map((v) => allOptions.find((o) => o.value === v)).filter(isProvided);\r\n}\r\n\r\nfunction valueToOption(options: ReadonlyOptions, value?: SelectedValueType) {\r\n const mapped = valuesToOptions(options, isProvided(value) ? [value] : []);\r\n return mapped.length === 1 ? mapped[0] : undefined;\r\n}\r\n\r\nfunction optionsToValues(options: SelectedOptionType): SelectedValueType {\r\n return options.map((o) => o.value);\r\n}\r\n\r\nfunction optionToValue(option?: SelectedOptionType): SelectedValueType {\r\n return isProvided(option) ? option.value : null;\r\n}\r\n\r\nfunction valueTransformer(\r\n isMulti?: IsMulti\r\n): {\r\n optionsToValues: (options: SelectedOptionType) => SelectedValueType;\r\n valueToOption: (options: ReadonlyOptions, value?: SelectedValueType) => SelectedOptionType;\r\n} {\r\n if (isMulti) {\r\n return { optionsToValues: optionsToValues as any, valueToOption: valuesToOptions as any };\r\n } else {\r\n return { optionsToValues: optionToValue as any, valueToOption: valueToOption as any };\r\n }\r\n}\r\n\r\nexport const optionToString = (option?: Option | null): string | undefined => {\r\n return typeof option?.value === \"string\" ? option.value : undefined;\r\n};\r\n\r\nexport const optionToNumber = (option?: Option | null): number | undefined => {\r\n return typeof option?.value === \"number\" ? option.value : undefined;\r\n};\r\n\r\nexport function Select(\r\n props: {\r\n value: SelectedValueType;\r\n options: ReadonlyOptions;\r\n onChange: (value: SelectedValueType) => void;\r\n } & Omit, \"onChange\" | \"value\" | \"options\">\r\n) {\r\n const { value, options, onChange, ...common } = props;\r\n\r\n const { valueToOption, optionsToValues } = valueTransformer(props.isMulti);\r\n\r\n const handleChange = (selection: SelectedOptionType, meta: ActionMeta
);\r\n });\r\n return rows.map((row, i) => {row});\r\n };\r\n\r\n const renderActualRows = () => {\r\n const rows = state.items.map((rowModel, i) => {\r\n const cells = props.tableRowFactory(rowModel, i);\r\n return cells.map((cell, j) => );\r\n });\r\n return rows.map((row, i) => {row});\r\n };\r\n\r\n const renderRows = () => {\r\n if (isLoading) {\r\n return renderFakeRows();\r\n } else {\r\n return renderActualRows();\r\n }\r\n };\r\n\r\n function renderHeader(header: Header, index: number) {\r\n return (\r\n {\r\n if (header.sortable && headerClick.current) {\r\n headerClick.current(index);\r\n }\r\n }}\r\n >\r\n \r\n {header.title}\r\n {header.sortable ? sortIcon(header.sortDirection) : null}\r\n \r\n \r\n );\r\n }\r\n\r\n const renderTableHeader = () => {\r\n if (typeof props.mainHeader !== \"string\") {\r\n return props.mainHeader;\r\n } else if (props.mainHeader.length > 0) {\r\n return (\r\n
\r\n

{props.mainHeader}

\r\n
\r\n );\r\n }\r\n };\r\n\r\n const randomElementId = \"paginatedTable\" + Math.random();\r\n const sectionRef = useRef(null);\r\n\r\n const renderPagination = () => {\r\n if (props.hidePagination) {\r\n return null;\r\n }\r\n\r\n let pageSelector: JSX.Element | null = null;\r\n if (pageCount > 0 && isArray(props.initialPageSize)) {\r\n const options = props.initialPageSize.map((p) => ({ label: `${p} / page`, value: p }));\r\n pageSelector = (\r\n typeof value === \"number\" && setPageSize(value)}\r\n />\r\n );\r\n }\r\n\r\n function pageChangeHandler(page: number) {\r\n loadPage(page);\r\n scrollToElementTop();\r\n }\r\n\r\n // Scrolls the page to the header top of the table.\r\n function scrollToElementTop() {\r\n var globalHeaderHeight = 80;\r\n var element = sectionRef.current;\r\n var tableTopPosition = element ? element.offsetTop - globalHeaderHeight : 0;\r\n\r\n // Works for tables in a modal.\r\n element?.scrollIntoView();\r\n\r\n // Works for tables on a page.\r\n window.scroll(0, tableTopPosition);\r\n }\r\n\r\n const pagination =\r\n pageCount > 0 ? (\r\n \r\n ) : null;\r\n\r\n if (!pagination && !pageSelector) {\r\n return null;\r\n } else {\r\n return (\r\n <>\r\n {pagination}\r\n {pageSelector}\r\n \r\n );\r\n }\r\n };\r\n\r\n const classes = [\"paginated-table\", props.className];\r\n const tableClasses = [];\r\n if (isLoading) tableClasses.push(\"loading\");\r\n if (props.tableClassName) tableClasses.push(props.tableClassName);\r\n\r\n const pagination = renderPagination();\r\n const showFooter = pagination !== null || props.children !== null;\r\n\r\n return (\r\n
\r\n {isLoading ? : null}\r\n {renderTableHeader()}\r\n
 
{cell}
\r\n \r\n {props.tableHeaders.map(renderHeader)}\r\n \r\n {renderRows()}\r\n
\r\n {showFooter && (\r\n
\r\n {renderPagination()}\r\n {props.children}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import \"./LabelCampaign.scss\";\r\n\r\ntype Props = {\r\n id: number;\r\n label?: string | null;\r\n messageTitle?: string | null;\r\n campaignTitle?: string | null;\r\n convertingOfferLabel?: string | null;\r\n};\r\n\r\nexport function LabelCampaign(props: Props) {\r\n const label = `[${props.id}] ${props.label || props.messageTitle || \"\"}`;\r\n return (\r\n
\r\n
{label}
\r\n
{`${props.campaignTitle}`}
\r\n {props.convertingOfferLabel &&
Converted by: {props.convertingOfferLabel}
}\r\n
\r\n );\r\n}\r\n","import { Word } from \"./localization\";\r\n\r\nexport function initialOrEmpty(name?: string | null) {\r\n if (name && name.length > 0) return name[0].toUpperCase();\r\n return \"\";\r\n}\r\n\r\nexport function renderAmount(amount: number, word: Word) {\r\n if (amount === 1) {\r\n return `${amount} ${word.singular.toLowerCase()}`;\r\n } else {\r\n return `${amount} ${word.plural.toLowerCase()}`;\r\n }\r\n}\r\n\r\nexport function extractInitials(name: string): string {\r\n if (!name || name.length === 0) {\r\n return \"-\";\r\n } else {\r\n const parts = name\r\n .trim()\r\n .split(/\\s+/)\r\n .filter((p) => p.length > 0);\r\n if (parts.length === 0) {\r\n return \"-\";\r\n } else if (parts.length === 1) {\r\n return initialOrEmpty(parts[0]);\r\n } else {\r\n return initialOrEmpty(parts[0]) + initialOrEmpty(parts[1]);\r\n }\r\n }\r\n}\r\n\r\nexport function highlightMatches(text: string, search: string[]) {\r\n if (text.length === 0) return [];\r\n const deconstructed = [{ highlighted: false, text: text }];\r\n if (search.length === 0) return deconstructed;\r\n\r\n search = search.filter((s) => s.length > 0).sort((a, b) => b.length - a.length);\r\n\r\n function push(text: string, highlighted: boolean) {\r\n if (text.length > 0) {\r\n if (\r\n deconstructed.length > 1 &&\r\n deconstructed[deconstructed.length - 2].highlighted === highlighted &&\r\n deconstructed[deconstructed.length - 1].text === \" \"\r\n ) {\r\n deconstructed.pop();\r\n deconstructed[deconstructed.length - 1].text += \" \" + text;\r\n } else if (deconstructed.length > 0 && deconstructed[deconstructed.length - 1].highlighted === highlighted) {\r\n deconstructed[deconstructed.length - 1].text += text;\r\n } else {\r\n deconstructed.push({ highlighted, text });\r\n }\r\n }\r\n }\r\n\r\n for (const token of search) {\r\n for (const part of deconstructed.splice(0, deconstructed.length)) {\r\n if (part.text.length > 0) {\r\n if (!part.highlighted) {\r\n const matches = [...part.text.matchAll(new RegExp(token, \"gi\"))];\r\n const highlights = matches.map((m, i, all) => {\r\n const prev = all[i - 1];\r\n const firstPart = part.text.substring(prev ? prev.index! + prev[0].length : 0, m.index);\r\n const secondPart = m.toString();\r\n return [firstPart, secondPart];\r\n });\r\n const lastMatch = matches[matches.length - 1];\r\n const lastIndex = lastMatch ? (lastMatch.index || 0) + lastMatch[0].length : 0;\r\n highlights.push([part.text.substring(lastIndex)]);\r\n highlights.flatMap((e) => e).forEach((v, i) => push(v, i % 2 === 1));\r\n } else {\r\n push(part.text, true);\r\n }\r\n }\r\n }\r\n }\r\n return deconstructed;\r\n}\r\n\r\nexport const addSpaces = (h: string) => {\r\n return h.replace(/([a-z])([A-Z])/g, \"$1 $2\").replace(/\\b([A-Z]+)([A-Z])([a-z])/, \"$1 $2$3\");\r\n};\r\n\r\nexport const capitalize = (h: string) => h.replace(/^./, (firstChar) => firstChar.toUpperCase());\r\n\r\nexport const toCsvValue = (val?: string | null) => (val?.includes(\",\") ? `\"${val.replace('\"', '\"\"')}\"` : val || \"\");\r\n","import { useMemo, useState } from \"react\";\r\nimport { isProvided } from \"../../services/objects\";\r\nimport { extractInitials } from \"../../services/string\";\r\nimport { AvatarPlaceholder } from \"../icons/Icons\";\r\n\r\nimport \"./Avatar.scss\";\r\n\r\nexport function Avatar({ name, image }: { name: string; image?: string | null }) {\r\n const [invalid, setInvalid] = useState(false);\r\n const [loaded, setLoaded] = useState(false);\r\n const avatar = useMemo(() => {\r\n const showImage = isProvided(image) && image.length && !invalid;\r\n if (!showImage) {\r\n const initials = extractInitials(name);\r\n return
{initials}
;\r\n }\r\n return (\r\n <>\r\n {!loaded && }\r\n setLoaded(true)}\r\n onError={() => setInvalid(true)}\r\n alt={`Profile for ${name}`}\r\n />\r\n \r\n );\r\n }, [name, image, loaded, invalid]);\r\n\r\n return
{avatar}
;\r\n}\r\n","import { useCallback } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { MessagesApi, NotificationMark, NotificationUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./NotificationUsersTable.scss\";\r\n\r\ntype Props = {\r\n messageId: number;\r\n flag: NotificationMark;\r\n};\r\n\r\nexport function NotificationUsersTable(props: Props) {\r\n const filters = useTimeLocationFilters();\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new MessagesApi(getApiConfig());\r\n const result = await api.getPerformanceNotificationUsers({\r\n messageId: props.messageId,\r\n flag: props.flag,\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(() => ReactTooltip.rebuild(), 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters, props]\r\n );\r\n\r\n const flagName =\r\n props.flag === NotificationMark.Delivered ? \"RECEIVED\" : NotificationMark[props.flag].toString().toUpperCase();\r\n const dateTitle = `${flagName} DATE`;\r\n const tableHeaders = [\r\n { title: \"NAME\" },\r\n { title: \"PLATFORM\" },\r\n { title: \"STORE LOCATION\", tooltip: \"Store location at the time of sending\" },\r\n { title: dateTitle },\r\n ];\r\n\r\n const renderRow = (item: NotificationUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n
\r\n \r\n \r\n \r\n {name}\r\n
\r\n {item.email}\r\n
\r\n \r\n
,\r\n item.platform || \"\",\r\n item.storeLocationAtSend || \"\",\r\n formatDateTime(utcToLocal(item.date), \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n const title = \"Notification Users\";\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import { PropsWithChildren, useCallback } from \"react\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport {\r\n MessageInteractionPerformanceSortColumn,\r\n MessageInteractionPerformanceView,\r\n MessageRevenuePerformanceSortColumn,\r\n MessageRevenuePerformanceView,\r\n MessagesApi,\r\n NotificationMark,\r\n SortDirection,\r\n} from \"../../../api\";\r\nimport { formatPercentage, useMoneyFormatter } from \"../../../services/format\";\r\nimport { useStateEx } from \"../../../services/hooks\";\r\nimport { useLocalizedText } from \"../../../services/localization\";\r\nimport { getImageTooltip } from \"../../../services/tooltip\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport { Modal, useModal } from \"../../modals/Modal\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\nimport { LabelCampaign } from \"./LabelCampaign\";\r\nimport { NotificationUsersTable } from \"./NotificationUsersTable\";\r\n\r\nimport \"./NotificationsTable.scss\";\r\n\r\ninterface State {\r\n isEmpty: boolean;\r\n messageId?: number;\r\n flag?: NotificationMark;\r\n}\r\n\r\nfunction InteractionNotifications(props: PropsWithChildren) {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx({\r\n isEmpty: true,\r\n });\r\n const modalId = `interaction-notifications`;\r\n const { openModal, closeModal } = useModal(modalId);\r\n\r\n const loadPage = useCallback(\r\n async (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new MessagesApi(config);\r\n const result = await api.getInteractionPerformance({\r\n ...filters,\r\n limit: limit,\r\n skip: skip,\r\n sortColumn: MessageInteractionPerformanceSortColumn.Sent,\r\n sortDirection: SortDirection.Descending,\r\n });\r\n\r\n window.setTimeout(() => {\r\n ReactTooltip.rebuild();\r\n }, 500);\r\n\r\n mergeState({ isEmpty: result.data.count === 0 });\r\n return result;\r\n },\r\n [filters, mergeState]\r\n );\r\n\r\n const renderCells = useCallback(\r\n (item: MessageInteractionPerformanceView, i: number) => {\r\n const renderCount = (flag: NotificationMark, count: number) => {\r\n if (count === 0) return count;\r\n return (\r\n {\r\n mergeState({ messageId: item.id, flag: flag });\r\n openModal();\r\n }}\r\n className=\"clickable\"\r\n >\r\n {count}\r\n \r\n );\r\n };\r\n return [\r\n \r\n {item.thumbnailUrl && \"thumbnail\"}\r\n \r\n ,\r\n renderCount(NotificationMark.Sent, item.nmSent),\r\n renderCount(NotificationMark.Delivered, item.nmDelivered),\r\n renderCount(NotificationMark.Read, item.nmRead),\r\n item.hasCallToAction ? renderCount(NotificationMark.Clicked, item.nmClicked) : \"N/A\",\r\n {item.hasCallToAction ? formatPercentage(item.clickThroughRate, 0) : \"N/A\"},\r\n renderCount(NotificationMark.Redeemed, item.nmRedeemed),\r\n {formatPercentage(item.redeemedRate, 0)},\r\n item.convertingOfferLabel ? renderCount(NotificationMark.Converted, item.nmConversions) : \"-\",\r\n {item.convertingOfferLabel ? formatPercentage(item.conversionRate, 0) : \"-\"},\r\n ];\r\n },\r\n [mergeState, openModal]\r\n );\r\n\r\n return (\r\n \r\n

{props.title || \"Push Notifications\"}

\r\n \r\n }\r\n tableHeaders={[\r\n texts.notificationColumnHeaders.items.labelAndCampaign,\r\n texts.notificationColumnHeaders.items.sent,\r\n texts.notificationColumnHeaders.items.received,\r\n texts.notificationColumnHeaders.items.read,\r\n texts.notificationColumnHeaders.items.clicked,\r\n texts.notificationColumnHeaders.items.clickRate,\r\n texts.notificationColumnHeaders.items.redeemed,\r\n texts.notificationColumnHeaders.items.redemptionRate,\r\n texts.notificationColumnHeaders.items.conversion,\r\n texts.notificationColumnHeaders.items.conversionRate,\r\n ]}\r\n tableDataSource={loadPage}\r\n tableRowFactory={renderCells}\r\n minLoadingTimeMs={200}\r\n hidePagination={props.hidePagination}\r\n initialPageSize={10}\r\n >\r\n {!state.isEmpty && props.children}\r\n {state.messageId && state.flag && (\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction RevenueNotifications(props: PropsWithChildren) {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const { state, mergeState } = useStateEx({\r\n isEmpty: true,\r\n });\r\n const modalId = `revenue-notifications`;\r\n const { openModal, closeModal } = useModal(modalId);\r\n\r\n const loadPage = useCallback(\r\n async (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new MessagesApi(config);\r\n const result = await api.getRevenuePerformance({\r\n ...filters,\r\n limit: limit,\r\n skip: skip,\r\n sortColumn: MessageRevenuePerformanceSortColumn.Sent,\r\n sortDirection: SortDirection.Descending,\r\n });\r\n\r\n window.setTimeout(() => {\r\n ReactTooltip.rebuild();\r\n }, 500);\r\n\r\n mergeState({ isEmpty: result.data.count === 0 });\r\n return result;\r\n },\r\n [filters, mergeState]\r\n );\r\n\r\n const renderCells = useCallback(\r\n (item: MessageRevenuePerformanceView, i: number) => {\r\n const renderCount = (flag: NotificationMark, count: number) => {\r\n if (count === 0) return count;\r\n return (\r\n {\r\n mergeState({ messageId: item.id, flag: flag });\r\n openModal();\r\n }}\r\n className=\"clickable\"\r\n >\r\n {count}\r\n \r\n );\r\n };\r\n return [\r\n \r\n {item.thumbnailUrl && \"thumbnail\"}\r\n \r\n ,\r\n renderCount(NotificationMark.Sent, item.nmSent),\r\n renderCount(NotificationMark.Delivered, item.nmDelivered),\r\n renderCount(NotificationMark.Read, item.nmRead),\r\n renderCount(NotificationMark.Clicked, item.nmClicked),\r\n renderCount(NotificationMark.Redeemed, item.nmRedeemed),\r\n item.convertingOfferLabel ? renderCount(NotificationMark.Converted, item.nmConversions) : \"-\",\r\n {item.nmSales},\r\n {formatMoney(item.revenue)},\r\n {formatPercentage(item.salesConversionRate)},\r\n ];\r\n },\r\n [formatMoney, mergeState, openModal]\r\n );\r\n\r\n return (\r\n \r\n

{props.title || \"Push Notifications\"}

\r\n \r\n }\r\n tableHeaders={[\r\n texts.notificationColumnHeaders.items.labelAndCampaign,\r\n texts.notificationColumnHeaders.items.sent,\r\n texts.notificationColumnHeaders.items.received,\r\n texts.notificationColumnHeaders.items.read,\r\n texts.notificationColumnHeaders.items.clicked,\r\n texts.notificationColumnHeaders.items.redeemed,\r\n texts.notificationColumnHeaders.items.conversion,\r\n texts.notificationColumnHeaders.items.transactions,\r\n texts.notificationColumnHeaders.items.revenue,\r\n texts.notificationColumnHeaders.items.salesConversionRate,\r\n ]}\r\n tableDataSource={loadPage}\r\n tableRowFactory={renderCells}\r\n minLoadingTimeMs={200}\r\n hidePagination={props.hidePagination}\r\n initialPageSize={10}\r\n >\r\n {!state.isEmpty && props.children}\r\n {state.messageId && state.flag && (\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\ntype NotificationsTableProps = {\r\n title?: string;\r\n hidePagination?: boolean;\r\n};\r\n\r\nexport function NotificationsTable(props: PropsWithChildren) {\r\n const config = useDeploymentConfig();\r\n\r\n if (config.config.disablePurchaseHistories) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n}\r\n","import Card from \"../../cards/Card\";\r\nimport { Modal, useModal } from \"../../modals/Modal\";\r\nimport { NotificationsTable } from \"./NotificationsTable\";\r\n\r\nexport function TopNotifications() {\r\n const modalId = \"top-notifications-modal\";\r\n const { openModal, closeModal } = useModal(modalId);\r\n\r\n const footer = (\r\n
openModal()}>\r\n Show all\r\n
\r\n );\r\n return (\r\n <>\r\n \r\n {footer}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import { useCallback } from \"react\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport { BeaconsApi } from \"../../api\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\nimport Card from \"../cards/Card\";\r\n\r\nimport \"./TopAreas.scss\";\r\n\r\nexport function TopAreas(props: {}) {\r\n const filters = useTimeLocationFilters();\r\n\r\n const dataSource = useCallback(async () => {\r\n try {\r\n const api = new BeaconsApi(getApiConfig());\r\n const result = await api.getTopAreas({\r\n size: 5,\r\n ...filters,\r\n });\r\n if (isHttpOk(result)) {\r\n return {\r\n count: result.data.length,\r\n items: result.data,\r\n };\r\n } else {\r\n logErrorSilently(result);\r\n }\r\n } catch (err) {\r\n logErrorSilently(err);\r\n }\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }, [filters]);\r\n\r\n return (\r\n \r\n \r\n

Top Areas

\r\n \r\n }\r\n className=\"areas-table\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={5}\r\n hidePagination={true}\r\n tableDataSource={dataSource}\r\n tableHeaders={[\r\n { title: \"AREA\" },\r\n { title: \"BEACON CONTACTS\" },\r\n ]}\r\n tableRowFactory={(item, index) => {\r\n return [item.name, item.numberOfContacts];\r\n }}\r\n />\r\n
\r\n );\r\n}\r\n","import { useCallback, useMemo, useState } from \"react\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { BeaconsApi, TimeframeType, TopBeaconView } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { formatApproximateDuration } from \"../../services/format\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useFilterDescriptionText, useIsSingleStore, useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { Header, PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./BeaconDataTable.scss\";\r\n\r\nexport enum Metric {\r\n MaxTime = 1,\r\n AverageTime = 2,\r\n MinimumTime = 3,\r\n}\r\n\r\nexport type BeaconDataTableProps = {\r\n selectedMetric?: Metric;\r\n};\r\n\r\nexport function BeaconDataTable(props: BeaconDataTableProps) {\r\n const options = [\r\n {\r\n label: \"Longest Time Spent\",\r\n value: Metric.MaxTime,\r\n },\r\n {\r\n label: \"Average Time Spent\",\r\n value: Metric.AverageTime,\r\n },\r\n {\r\n label: \"Least Time Spent\",\r\n value: Metric.MinimumTime,\r\n },\r\n ];\r\n\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const filterTexts = useFilterDescriptionText();\r\n const timefilterText = filterTexts.period;\r\n const locationFilterText = !useIsSingleStore() && filterTexts.locations !== \"All Stores\" ? filterTexts.locations : \"\";\r\n\r\n const [headers, setHeaders] = useState([\r\n texts.beaconDataTable.items.name,\r\n texts.beaconDataTable.items.areaAndStore,\r\n texts.beaconDataTable.items.description,\r\n texts.beaconDataTable.items.maxVisitDurationSeconds,\r\n texts.beaconDataTable.items.longestTimeSpent,\r\n ]);\r\n\r\n const getMetricTexts = useCallback(\r\n (metric: Metric) => {\r\n const items = texts.beaconDataTable.items;\r\n switch (metric) {\r\n case Metric.MaxTime:\r\n return items.longestTimeSpent;\r\n case Metric.MinimumTime:\r\n return items.leastTimeSpent;\r\n default:\r\n return items.averageTimeSpent;\r\n }\r\n },\r\n [texts]\r\n );\r\n\r\n const updateLastHeader = useCallback(\r\n (metric: Metric) => {\r\n const newHeader = getMetricTexts(metric);\r\n setHeaders((prev) => [...prev.slice(0, -1), newHeader]);\r\n },\r\n [getMetricTexts]\r\n );\r\n\r\n const selectedMetric = useMemo(() => {\r\n if (props.selectedMetric) updateLastHeader(props.selectedMetric);\r\n return props.selectedMetric;\r\n }, [updateLastHeader, props.selectedMetric]);\r\n\r\n const defaultValue = selectedMetric ?? options[0].value;\r\n const [metric, setMetric] = useState(defaultValue);\r\n\r\n const loadData = useCallback(\r\n async (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new BeaconsApi(config);\r\n const payLoad = {\r\n skip,\r\n size: limit,\r\n ...filters,\r\n };\r\n function getData() {\r\n switch (metric) {\r\n case Metric.MaxTime:\r\n return api.getByMaximumTimeSpent(payLoad);\r\n case Metric.MinimumTime:\r\n return api.getByMinimumTimeSpent(payLoad);\r\n default:\r\n return api.getByAverageTimeSpent(payLoad);\r\n }\r\n }\r\n const result = await getData();\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(ReactTooltip.rebuild, 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [metric, filters]\r\n );\r\n\r\n const renderRow = (item: TopBeaconView) => {\r\n return [\r\n item.name,\r\n \r\n {item.areaName || \"\"}\r\n
\r\n {item.storeName}\r\n
,\r\n \r\n {item.description || \"\"}\r\n ,\r\n `${item.maxVisitDurationSeconds}s`,\r\n formatApproximateDuration(item.value),\r\n ];\r\n };\r\n\r\n const changeMetric = (stringValue: string) => {\r\n const value = parseInt(stringValue, 10);\r\n if (!isNaN(value)) {\r\n const metric = value as Metric;\r\n setMetric(metric);\r\n updateLastHeader(metric);\r\n }\r\n };\r\n\r\n const metricDropdown = (\r\n \r\n );\r\n\r\n const title = `Top Beacons`;\r\n var description = \"\";\r\n if (filters.rangeType !== TimeframeType.AllTime) {\r\n description = timefilterText;\r\n }\r\n if (locationFilterText) {\r\n if (description) description += \" - \";\r\n description += locationFilterText;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n

{description}

\r\n
\r\n {metricDropdown}\r\n
\r\n \r\n }\r\n initialPageSize={10}\r\n minLoadingTimeMs={200}\r\n tableHeaders={headers}\r\n tableDataSource={loadData}\r\n tableRowFactory={renderRow}\r\n />\r\n
\r\n );\r\n}\r\n","import { useCallback } from \"react\";\r\nimport { BeaconsApi } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { formatApproximateDuration } from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { Modal, useModal } from \"../modals/Modal\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\nimport { BeaconDataTable, Metric } from \"./BeaconDataTable\";\r\n\r\nimport \"./TopBeacons.scss\";\r\n\r\nfunction getColumnHeader(selectedValue: Metric) {\r\n switch (selectedValue) {\r\n case Metric.MaxTime:\r\n return \"LONGEST TIME SPENT\";\r\n case Metric.AverageTime:\r\n return `TOP AVERAGE TIME SPENT`;\r\n default:\r\n return \"SHORTEST TIME SPENT\";\r\n }\r\n}\r\n\r\nfunction TopBeacons(props: { showFooter?: boolean }) {\r\n const metricOptions = [\r\n {\r\n label: \"Longest Time Spent\",\r\n value: Metric.MaxTime,\r\n },\r\n {\r\n label: \"Average Time Spent\",\r\n value: Metric.AverageTime,\r\n },\r\n {\r\n label: \"Shortest Time Spent\",\r\n value: Metric.MinimumTime,\r\n },\r\n ];\r\n\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx({ selectedValue: metricOptions[0].value, isEmpty: true });\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const value = parseInt(e.target.value, 10);\r\n if (!isNaN(value)) {\r\n mergeState({ selectedValue: value as Metric });\r\n }\r\n };\r\n\r\n const dataSource = useCallback(async () => {\r\n function getData() {\r\n const api = new BeaconsApi(getApiConfig());\r\n switch (state.selectedValue) {\r\n case Metric.MinimumTime:\r\n return api.getByMinimumTimeSpent({ size: 5, ...filters });\r\n case Metric.AverageTime:\r\n return api.getByAverageTimeSpent({ size: 5, ...filters });\r\n default:\r\n return api.getByMaximumTimeSpent({ size: 5, ...filters });\r\n }\r\n }\r\n\r\n const result = await getData();\r\n if (isHttpOk(result)) {\r\n mergeState({ isEmpty: result.data.count === 0 });\r\n return result.data;\r\n } else {\r\n mergeState({ isEmpty: true });\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n }, [filters, state.selectedValue, mergeState]);\r\n\r\n const tableHeaders = [{ title: \"BEACONS\" }, { title: getColumnHeader(state.selectedValue) }];\r\n\r\n const modalId = \"top-beacons\";\r\n const { openModal, closeModal } = useModal(modalId);\r\n\r\n return (\r\n \r\n \r\n

Top Beacons

\r\n \r\n \r\n }\r\n className=\"beacons-table\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={5}\r\n hidePagination={true}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={(item, index) => {\r\n return [item.name, formatApproximateDuration(item.value)];\r\n }}\r\n >\r\n {props.showFooter && !state.isEmpty && (\r\n
openModal()}>\r\n Show all\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\nexport default TopBeacons;\r\n","import { SortDirection } from \"../api\";\r\nimport { Header } from \"../app/widgets/PaginatedTable\";\r\n\r\nexport function generateSortableHeader(texts: { title: string; tooltip: string }): Header {\r\n return {\r\n sortDirection: SortDirection.None,\r\n sortable: true,\r\n ...texts,\r\n };\r\n}\r\n\r\nexport function toggleSortForHeader(headers: Header[], indexOfToggle: number) {\r\n const oldSortDirection = headers[indexOfToggle].sortDirection;\r\n const cloned = headers.map((h) => ({ ...h, sortDirection: SortDirection.None }));\r\n cloned[indexOfToggle].sortDirection =\r\n oldSortDirection === SortDirection.None\r\n ? SortDirection.Ascending\r\n : oldSortDirection === SortDirection.Ascending\r\n ? SortDirection.Descending\r\n : SortDirection.None;\r\n return cloned;\r\n}\r\n\r\nexport function resetSortHeaders(headers: Header[]) {\r\n const cloned = headers.map((h) => ({ ...h, sortDirection: SortDirection.None }));\r\n return cloned;\r\n}\r\n","import { useCallback } from \"react\";\r\nimport { createStore, useStore } from \"../services/streams\";\r\n\r\nconst globalSearch = createStore(\r\n {\r\n search: \"\",\r\n isVisible: false,\r\n },\r\n \"globalSearch\"\r\n);\r\n\r\nexport function useGlobalSearch() {\r\n const [state, setState, mergeState] = useStore(globalSearch);\r\n return {\r\n ...state,\r\n setText: useCallback(\r\n (value: string) => {\r\n mergeState({ search: value });\r\n },\r\n [mergeState]\r\n ),\r\n enableAndClear: useCallback(\r\n (enabled: boolean) => {\r\n setState((prev) => ({\r\n search: enabled ? \"\" : prev.search,\r\n isVisible: enabled,\r\n }));\r\n },\r\n [setState]\r\n ),\r\n };\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { isProvided } from \"../../services/objects\";\r\nimport { highlightMatches } from \"../../services/string\";\r\n\r\nconst HighlightedString = React.memo((props: { text: string; search: string }) => {\r\n const text = useMemo(() => highlightMatches(props.text, [props.search]), [props.text, props.search]);\r\n return (\r\n \r\n {text.map((span, index) =>\r\n span.highlighted ? (\r\n {span.text}\r\n ) : (\r\n {span.text}\r\n )\r\n )}\r\n \r\n );\r\n});\r\n\r\nexport function highlight(text: string | null | undefined, search: string | null | undefined) {\r\n if (!isProvided(text)) {\r\n return null;\r\n } else if (!isProvided(search) || search.length === 0) {\r\n return {text};\r\n } else {\r\n return ;\r\n }\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useMemo, useState } from \"react\";\r\nimport { Link, useRouteMatch } from \"react-router-dom\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport {\r\n CustomerFilter,\r\n CustomerSort,\r\n CustomerSummaryStatistic,\r\n CustomerSummaryView,\r\n CustomersApi,\r\n SortDirection,\r\n TimeframeType,\r\n} from \"../../api\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useMoneyFormatter } from \"../../services/format\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { toCsvValue } from \"../../services/string\";\r\nimport { generateSortableHeader, resetSortHeaders, toggleSortForHeader } from \"../../services/table\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { useFilterDescriptionText, useIsSingleStore, useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport { useGlobalSearch } from \"../../state/globalSearch\";\r\nimport Card from \"../cards/Card\";\r\nimport { AlertContent } from \"../widgets/Alerts\";\r\nimport { Avatar } from \"../widgets/Avatar\";\r\nimport { highlight } from \"../widgets/HighlightedString\";\r\nimport { Header, PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./CustomerDataTable.scss\";\r\n\r\ntype CustomerMetricOption = {\r\n label: string;\r\n value: CustomerSummaryStatistic;\r\n};\r\n\r\nexport type CustomerDataTableProps = {\r\n visitorsOnly?: boolean;\r\n hideZeros?: boolean;\r\n selectedFilter?: CustomerFilter;\r\n selectedStatistic?: CustomerSummaryStatistic;\r\n customOptions?: CustomerMetricOption[];\r\n};\r\n\r\nexport function CustomerDataTable(props: CustomerDataTableProps) {\r\n const { config } = useDeploymentConfig();\r\n const storeWord = config.translations.store.singular;\r\n const hasPurchaseHistories = !config.disablePurchaseHistories;\r\n\r\n const statisticOptions = props.customOptions || [\r\n {\r\n label: \"Touchpoints\",\r\n value: CustomerSummaryStatistic.NmOfTouchpoints,\r\n },\r\n {\r\n label: `${storeWord} Visits`,\r\n value: CustomerSummaryStatistic.NmOfStoreVisits,\r\n },\r\n {\r\n label: \"Beacon Contacts\",\r\n value: CustomerSummaryStatistic.NmOfBeaconContacts,\r\n },\r\n {\r\n label: \"Transactions\",\r\n value: CustomerSummaryStatistic.Transactions,\r\n },\r\n ];\r\n if (!props.customOptions && hasPurchaseHistories) {\r\n statisticOptions.splice(0, 0, {\r\n label: \"Revenue\",\r\n value: CustomerSummaryStatistic.TotalPurchaseAmount,\r\n });\r\n }\r\n\r\n const texts = useLocalizedText();\r\n const { search } = useGlobalSearch();\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const route = useRouteMatch<{ statistic: string }>();\r\n const filterTexts = useFilterDescriptionText();\r\n const filterTextPeriod = filterTexts.period;\r\n const locationFilterText = !useIsSingleStore() && filterTexts.locations !== \"All Stores\" ? filterTexts.locations : \"\";\r\n const customerFilter = props.selectedFilter;\r\n const [userCount, setUserCount] = useState(0);\r\n const [statisticTotal, setStatisticTotal] = useState(0);\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const columnTexts = texts.customersTable.items;\r\n const defaultStatHeader = hasPurchaseHistories ? columnTexts.totalRevenue : columnTexts.nmTouchPoints;\r\n const [headers, setHeaders] = useState([\r\n generateSortableHeader(columnTexts.fullName),\r\n generateSortableHeader(columnTexts.email),\r\n generateSortableHeader(columnTexts.loyaltyNumber),\r\n generateSortableHeader(defaultStatHeader),\r\n ]);\r\n\r\n const toggleSort = (index: number) => setHeaders((prev) => toggleSortForHeader(prev, index));\r\n const resetSort = useCallback(() => {\r\n setHeaders((prev) => resetSortHeaders(prev));\r\n }, [setHeaders]);\r\n\r\n const getStatisticTexts = useCallback(\r\n (statistic: CustomerSummaryStatistic) => {\r\n switch (statistic) {\r\n case CustomerSummaryStatistic.NmOfTouchpoints:\r\n return columnTexts.nmTouchPoints;\r\n case CustomerSummaryStatistic.NmOfStoreVisits:\r\n return columnTexts.nmStoreVisits;\r\n case CustomerSummaryStatistic.NmOfBeaconContacts:\r\n return columnTexts.nmBeaconVisits;\r\n case CustomerSummaryStatistic.Transactions:\r\n return columnTexts.transactions;\r\n default:\r\n return columnTexts.totalRevenue;\r\n }\r\n },\r\n [columnTexts]\r\n );\r\n\r\n const updateStatisticHeader = useCallback(\r\n (statistic: CustomerSummaryStatistic) => {\r\n const newStatisticHeader = generateSortableHeader(getStatisticTexts(statistic));\r\n newStatisticHeader.sortDirection = SortDirection.Descending;\r\n resetSort();\r\n setHeaders((prev) => [...prev.slice(0, -1), newStatisticHeader]);\r\n },\r\n [getStatisticTexts, resetSort]\r\n );\r\n\r\n const selectedStat = useMemo(() => {\r\n if (route.params.statistic !== undefined) {\r\n const value = parseInt(route.params.statistic, 10);\r\n if (isNaN(value) || !Object.values(CustomerSummaryStatistic).includes(value)) {\r\n alert.error();\r\n return null;\r\n }\r\n const statistic = value as CustomerSummaryStatistic;\r\n updateStatisticHeader(statistic);\r\n return statistic;\r\n } else if (props.selectedStatistic) {\r\n updateStatisticHeader(props.selectedStatistic);\r\n return props.selectedStatistic;\r\n } else {\r\n return undefined;\r\n }\r\n }, [route.params.statistic, updateStatisticHeader, props.selectedStatistic]);\r\n\r\n const defaultValue = selectedStat ?? statisticOptions[0].value;\r\n const [statistic, setStatistic] = useState(defaultValue);\r\n\r\n const sortedHeader = headers.find((h) => h.sortable && h.sortDirection !== SortDirection.None);\r\n const sortDirection = sortedHeader?.sortDirection ?? (selectedStat ? SortDirection.Descending : undefined);\r\n const statisticTitle = getStatisticTexts(statistic).title;\r\n const sortTitle = sortedHeader?.title || statisticTitle;\r\n\r\n const sortColumn = (() => {\r\n switch (sortTitle) {\r\n case columnTexts.fullName.title:\r\n return CustomerSort.Name;\r\n case columnTexts.email.title:\r\n return CustomerSort.Email;\r\n case columnTexts.loyaltyNumber.title:\r\n return CustomerSort.LoyaltyNumber;\r\n default:\r\n return CustomerSort.Statistic;\r\n }\r\n })();\r\n\r\n const showOnlyVisitors = props.visitorsOnly !== undefined ? props.visitorsOnly : !customerFilter;\r\n\r\n const loadExportData = useCallback(async () => {\r\n const config = getApiConfig();\r\n const api = new CustomersApi(config);\r\n var result = api.getCustomerDataCsv({\r\n skip: 0,\r\n limit: 0,\r\n search: search,\r\n visitorsOnly: showOnlyVisitors,\r\n sort: sortColumn,\r\n hideZeros: props.hideZeros,\r\n sortDirection: sortDirection,\r\n customerFilter: customerFilter,\r\n customerSummaryStatistic: statistic,\r\n ...filters,\r\n });\r\n\r\n const data = await result;\r\n if (isHttpOk(data)) {\r\n return data.data.items || [];\r\n } else {\r\n alert.error();\r\n return [];\r\n }\r\n }, [customerFilter, filters, search, sortColumn, sortDirection, statistic, showOnlyVisitors, props.hideZeros]);\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await loadExportData();\r\n const csvHeaders = [\"Id\", \"Name\", \"Email\", \"Picture Url\", \"Loyalty Number\", `${statisticTitle}`].join(\",\");\r\n let rows = data.map((row) =>\r\n [\r\n toCsvValue(row.id),\r\n toCsvValue(row.name),\r\n toCsvValue(row.email),\r\n toCsvValue(row.pictureUrl),\r\n toCsvValue(row.loyaltyNumber),\r\n row.statisticValue,\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...rows];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `customer-data-with-${selectedStatistic}-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n alert.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n const loadData = useCallback(\r\n async (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new CustomersApi(config);\r\n var result = await api.getAll({\r\n skip,\r\n limit: limit,\r\n search: search,\r\n visitorsOnly: showOnlyVisitors,\r\n sort: sortColumn,\r\n hideZeros: props.hideZeros,\r\n sortDirection: sortDirection,\r\n customerFilter: customerFilter,\r\n customerSummaryStatistic: statistic,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n const data = result.data;\r\n setUserCount(data.customerSummary?.count || 0);\r\n setStatisticTotal(data.sumOfStatistics);\r\n return data.customerSummary!;\r\n } else {\r\n alert.error();\r\n const empty = { items: [], count: 0 };\r\n return empty;\r\n }\r\n },\r\n [search, sortColumn, sortDirection, customerFilter, statistic, filters, showOnlyVisitors, props.hideZeros]\r\n );\r\n\r\n const renderRow = (item: CustomerSummaryView) => {\r\n return [\r\n \r\n \r\n {highlight(item.name, search)}\r\n ,\r\n highlight(item.email, search),\r\n item.loyaltyNumber,\r\n formatStatisticValue(item.statisticValue),\r\n ];\r\n };\r\n\r\n const formatStatisticValue = (value: number) =>\r\n statistic === CustomerSummaryStatistic.TotalPurchaseAmount ? formatMoney(value) : value;\r\n\r\n const changeStatistic = (stringValue: string) => {\r\n const value = parseInt(stringValue, 10);\r\n if (!isNaN(value)) {\r\n setStatistic(value);\r\n window.history.pushState(null, \"\", `/customers/${value}`);\r\n updateStatisticHeader(value as CustomerSummaryStatistic);\r\n }\r\n };\r\n\r\n const statisticDropdown =\r\n statisticOptions.length > 1 ? (\r\n \r\n ) : null;\r\n\r\n const getFilteredTitle = (filter: CustomerFilter) => {\r\n switch (filter) {\r\n case CustomerFilter.New:\r\n return \"New Customers\";\r\n case CustomerFilter.Loyal:\r\n return \"Loyal Customers\";\r\n case CustomerFilter.MostActive:\r\n return \"Most Active Customers\";\r\n case CustomerFilter.Vip:\r\n return \"VIP Customers\";\r\n }\r\n };\r\n\r\n const userOrCustomer = hasPurchaseHistories ? `Customers` : `Users`;\r\n const title = customerFilter ? getFilteredTitle(customerFilter) : userOrCustomer;\r\n var description = \"\";\r\n if (filters.rangeType !== TimeframeType.AllTime) {\r\n description = (customerFilter ? \"\" : \"Visiting \") + filterTextPeriod;\r\n }\r\n if (locationFilterText) {\r\n if (description) description += \" - \";\r\n description += locationFilterText;\r\n }\r\n if (filters.rangeType === TimeframeType.AllTime && !description) {\r\n description = `All ${userOrCustomer}`;\r\n }\r\n\r\n const selectedStatistic = statisticTitle.toLowerCase();\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n

{description}

\r\n
\r\n {statisticDropdown}\r\n
\r\n
\r\n \r\n
\r\n

{userCount} users

\r\n

\r\n Total {selectedStatistic}: {formatStatisticValue(statisticTotal)}\r\n

\r\n
\r\n
\r\n \r\n }\r\n initialPageSize={10}\r\n minLoadingTimeMs={200}\r\n tableClassName=\"with-image\"\r\n tableHeaders={headers}\r\n tableDataSource={loadData}\r\n tableRowFactory={renderRow}\r\n onHeaderClick={toggleSort}\r\n />\r\n
\r\n );\r\n}\r\n","import { useCallback } from \"react\";\r\nimport { CustomerSummaryStatistic, CustomersApi } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useMoneyFormatter } from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { Modal, useModal } from \"../modals/Modal\";\r\nimport { Avatar } from \"../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\nimport { CustomerDataTable } from \"./CustomerDataTable\";\r\n\r\nimport \"./TopCustomers.scss\";\r\n\r\nfunction TopCustomers() {\r\n const { config } = useDeploymentConfig();\r\n const storeWord = config.translations.store.singular;\r\n\r\n const sortOptions = [\r\n {\r\n label: \"Touchpoints\",\r\n value: CustomerSummaryStatistic.NmOfTouchpoints,\r\n },\r\n {\r\n label: `${storeWord} Visits`,\r\n value: CustomerSummaryStatistic.NmOfStoreVisits,\r\n },\r\n {\r\n label: \"Beacon Contacts\",\r\n value: CustomerSummaryStatistic.NmOfBeaconContacts,\r\n },\r\n ];\r\n\r\n const hasPurchaseHistories = !config.disablePurchaseHistories;\r\n\r\n if (hasPurchaseHistories) {\r\n sortOptions.splice(1, 0, {\r\n label: \"Revenue\",\r\n value: CustomerSummaryStatistic.TotalPurchaseAmount,\r\n });\r\n }\r\n\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const defaultValue = hasPurchaseHistories\r\n ? CustomerSummaryStatistic.TotalPurchaseAmount\r\n : CustomerSummaryStatistic.NmOfStoreVisits;\r\n const { state, mergeState } = useStateEx({\r\n selectedValue: defaultValue,\r\n firstRun: true,\r\n isEmpty: true,\r\n });\r\n\r\n const getColumnHeader = (selectedValue: number) => {\r\n switch (selectedValue) {\r\n case CustomerSummaryStatistic.NmOfTouchpoints:\r\n return \"TOUCHPOINTS\";\r\n case CustomerSummaryStatistic.TotalPurchaseAmount:\r\n return \"REVENUE\";\r\n case CustomerSummaryStatistic.NmOfStoreVisits:\r\n return `${storeWord.toUpperCase()} VISITS`;\r\n default:\r\n return \"BEACON CONTACTS\";\r\n }\r\n };\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const value = parseInt(e.target.value, 10);\r\n if (!isNaN(value)) {\r\n mergeState({ selectedValue: value as CustomerSummaryStatistic });\r\n }\r\n };\r\n\r\n const dataSource = useCallback(async () => {\r\n function getData() {\r\n const api = new CustomersApi(getApiConfig());\r\n switch (state.selectedValue) {\r\n case CustomerSummaryStatistic.NmOfTouchpoints:\r\n return api.getByTouchpoints({ limit: 5, ...filters });\r\n case CustomerSummaryStatistic.TotalPurchaseAmount:\r\n return api.getByRevenue({ limit: 5, ...filters });\r\n case CustomerSummaryStatistic.NmOfStoreVisits:\r\n return api.getByVisits({ limit: 5, ...filters });\r\n default:\r\n return api.getByBeaconContacts({ limit: 5, ...filters });\r\n }\r\n }\r\n\r\n try {\r\n const result = await getData();\r\n if (isHttpOk(result)) {\r\n // If Purchase history is enabled but not populated, default to Touchpoints\r\n if (state.firstRun) {\r\n if (state.selectedValue === CustomerSummaryStatistic.TotalPurchaseAmount && result.data.length === 0) {\r\n mergeState({ selectedValue: CustomerSummaryStatistic.NmOfTouchpoints, firstRun: false });\r\n } else {\r\n mergeState({ firstRun: false });\r\n }\r\n }\r\n mergeState({ isEmpty: result.data.length === 0 });\r\n return {\r\n count: result.data.length,\r\n items: result.data,\r\n };\r\n } else {\r\n mergeState({ isEmpty: true });\r\n logErrorSilently(result);\r\n }\r\n } catch (err) {\r\n logErrorSilently(err);\r\n }\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }, [filters, state.selectedValue, state.firstRun, mergeState]);\r\n\r\n const modalId = \"customers\";\r\n const { openModal, closeModal } = useModal(modalId);\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: getColumnHeader(state.selectedValue) }];\r\n\r\n return (\r\n \r\n \r\n

{config.disablePurchaseHistories ? \"Top Users\" : \"Top Customers\"}

\r\n \r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={5}\r\n hidePagination={true}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={(item) => {\r\n return [\r\n
\r\n \r\n \r\n {item.name}\r\n \r\n
,\r\n state.selectedValue === CustomerSummaryStatistic.TotalPurchaseAmount ? formatMoney(item.value) : item.value,\r\n ];\r\n }}\r\n >\r\n {!state.isEmpty && (\r\n
openModal()}>\r\n Show all\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\nexport default TopCustomers;\r\n","import { useCallback } from \"react\";\r\nimport { ProductsApi } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useMoneyFormatter } from \"../../services/format\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\nimport { Products } from \"./TopProducts\";\r\n\r\nimport \"./ProductsTable.scss\";\r\n\r\nexport function ProductsTable() {\r\n const { formatMoney } = useMoneyFormatter();\r\n const filters = useTimeLocationFilters();\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new ProductsApi(getApiConfig());\r\n const result = await api.getByRevenue({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"IMAGE\" }, { title: \"PRODUCT NAME\" }, { title: \"REVENUE\" }];\r\n\r\n return (\r\n \r\n {\r\n return [, item.name, formatMoney(item.revenueGenerated)];\r\n }}\r\n >\r\n \r\n );\r\n}\r\n","import { useCallback, useState } from \"react\";\r\nimport { ProductsApi } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useMoneyFormatter } from \"../../services/format\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { Modal, useModal } from \"../modals/Modal\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\nimport { ProductsTable } from \"./ProductsTable\";\r\n\r\nimport \"./TopProducts.scss\";\r\n\r\nexport function Products(props: { id: number }) {\r\n const url = \"/dummy/articles/\" + props.id.toString() + \".jpg\";\r\n return \"item\";\r\n}\r\n\r\nfunction TopProducts(props: { showFooter?: boolean }) {\r\n const { formatMoney } = useMoneyFormatter();\r\n const filters = useTimeLocationFilters();\r\n const modalId = \"products\";\r\n const { openModal, closeModal } = useModal(modalId);\r\n const [isEmpty, setIsEmpty] = useState(true);\r\n\r\n const dataSource = useCallback(async () => {\r\n const api = new ProductsApi(getApiConfig());\r\n const result = await api.getByRevenue({ limit: 5, ...filters });\r\n\r\n if (isHttpOk(result)) {\r\n setIsEmpty(result.data.count === 0);\r\n return result.data;\r\n } else {\r\n setIsEmpty(true);\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n }, [filters, setIsEmpty]);\r\n\r\n const tableHeaders = [{ title: \"IMAGE\" }, { title: \"PRODUCT NAME\" }, { title: \"REVENUE\" }];\r\n\r\n const footer = (\r\n
openModal()}>\r\n Show all\r\n
\r\n );\r\n\r\n return (\r\n \r\n {\r\n return [, item.name, formatMoney(item.revenueGenerated)];\r\n }}\r\n >\r\n {props.showFooter && !isEmpty && footer}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default TopProducts;\r\n","import { useCallback, useMemo, useState } from \"react\";\r\nimport { StoresApi, TimeframeType, TopStoreGridView } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useMoneyFormatter } from \"../../services/format\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { useFilterDescriptionText, useIsSingleStore, useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { Header, PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./StoresTable.scss\";\r\n\r\nexport enum Metric {\r\n Revenue = 1,\r\n StoreVisits = 2,\r\n BeaconContacts = 3,\r\n CustomerFavorite = 4,\r\n}\r\n\r\ntype StoreMetricOption = {\r\n label: string;\r\n value: Metric;\r\n};\r\n\r\nexport type StoresTableProps = {\r\n selectedMetric?: Metric;\r\n includeAllStores?: boolean;\r\n customOptions?: StoreMetricOption[];\r\n};\r\n\r\nexport function StoresTable(props: StoresTableProps) {\r\n const { config } = useDeploymentConfig();\r\n const storesWord = config.translations.store.plural;\r\n\r\n const hasPurchaseHistories = !config.disablePurchaseHistories;\r\n\r\n const options = props.customOptions || [\r\n {\r\n label: \"Customer Visits\",\r\n value: Metric.StoreVisits,\r\n },\r\n {\r\n label: \"Beacon Visits\",\r\n value: Metric.BeaconContacts,\r\n },\r\n {\r\n label: \"Most Favorited\",\r\n value: Metric.CustomerFavorite,\r\n },\r\n ];\r\n if (!props.customOptions && hasPurchaseHistories) {\r\n options.splice(0, 0, {\r\n label: \"Revenue\",\r\n value: Metric.Revenue,\r\n });\r\n }\r\n\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const filterTexts = useFilterDescriptionText();\r\n const timefilterText = filterTexts.period;\r\n const locationFilterText = !useIsSingleStore() && filterTexts.locations !== \"All Stores\" ? filterTexts.locations : \"\";\r\n\r\n const [headers, setHeaders] = useState([\r\n texts.storesTable.items.name,\r\n texts.storesTable.items.city,\r\n texts.storesTable.items.area,\r\n texts.storesTable.items.nmOfBeacons,\r\n texts.storesTable.items.revenue,\r\n ]);\r\n\r\n const getMetricTexts = useCallback(\r\n (metric: Metric) => {\r\n const items = texts.storesTable.items;\r\n switch (metric) {\r\n case Metric.StoreVisits:\r\n return items.customerVisits;\r\n case Metric.BeaconContacts:\r\n return items.beaconVisits;\r\n case Metric.CustomerFavorite:\r\n return items.mostFavorited;\r\n default:\r\n return items.revenue;\r\n }\r\n },\r\n [texts]\r\n );\r\n\r\n const updateLastHeader = useCallback(\r\n (metric: Metric) => {\r\n const newHeader = getMetricTexts(metric);\r\n setHeaders((prev) => [...prev.slice(0, -1), newHeader]);\r\n },\r\n [getMetricTexts]\r\n );\r\n\r\n const selectedMetric = useMemo(() => {\r\n if (props.selectedMetric) updateLastHeader(props.selectedMetric);\r\n return props.selectedMetric;\r\n }, [updateLastHeader, props.selectedMetric]);\r\n\r\n const defaultValue = selectedMetric ?? options[0].value;\r\n const [metric, setMetric] = useState(defaultValue);\r\n\r\n const loadData = useCallback(\r\n async (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new StoresApi(config);\r\n const payLoad = {\r\n skip,\r\n size: limit,\r\n includeAllStores: props.includeAllStores,\r\n ...filters,\r\n };\r\n function getData() {\r\n switch (metric) {\r\n case Metric.StoreVisits:\r\n return api.getByVisits(payLoad);\r\n case Metric.BeaconContacts:\r\n return api.getByBeaconContacts(payLoad);\r\n case Metric.CustomerFavorite:\r\n return api.getByFavoriteCustomers(payLoad);\r\n default:\r\n return api.getByRevenue(payLoad);\r\n }\r\n }\r\n const result = await getData();\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [metric, filters, props.includeAllStores]\r\n );\r\n\r\n const renderRow = (item: TopStoreGridView) => {\r\n return [\r\n item.name,\r\n item.city,\r\n item.squareMeter <= 0 ? \"N/A\" : `${item.squareMeter} m2`,\r\n item.nmOfBeacons,\r\n formatValue(item.value),\r\n ];\r\n };\r\n\r\n const formatValue = (value: number) => (metric === Metric.Revenue ? formatMoney(value) : value);\r\n\r\n const changeMetric = (stringValue: string) => {\r\n const value = parseInt(stringValue, 10);\r\n if (!isNaN(value)) {\r\n const metric = value as Metric;\r\n setMetric(metric);\r\n updateLastHeader(metric);\r\n }\r\n };\r\n\r\n const metricDropdown =\r\n options.length > 1 ? (\r\n \r\n ) : null;\r\n\r\n const title = `Top ${storesWord}`;\r\n var description = \"\";\r\n if (filters.rangeType !== TimeframeType.AllTime && metric !== Metric.CustomerFavorite) {\r\n description = metric === Metric.Revenue ? \"Purchased \" : \"Visiting \";\r\n description += timefilterText;\r\n }\r\n if (locationFilterText) {\r\n if (description) description += \" - \";\r\n description += locationFilterText;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n

{description}

\r\n
\r\n {metricDropdown}\r\n
\r\n \r\n }\r\n initialPageSize={10}\r\n minLoadingTimeMs={200}\r\n tableHeaders={headers}\r\n tableDataSource={loadData}\r\n tableRowFactory={renderRow}\r\n />\r\n
\r\n );\r\n}\r\n","import { useCallback, useState } from \"react\";\r\nimport { StoresApi } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useMoneyFormatter } from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport Card from \"../cards/Card\";\r\nimport { Modal, useModal } from \"../modals/Modal\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\nimport { Metric, StoresTable } from \"./StoresTable\";\r\n\r\nimport \"./TopStores.scss\";\r\n\r\nfunction getColumnHeader(selectedValue: Metric) {\r\n switch (selectedValue) {\r\n case Metric.Revenue:\r\n return \"REVENUE\";\r\n case Metric.StoreVisits:\r\n return `CUSTOMERS VISITS`;\r\n default:\r\n return \"BEACON VISITS\";\r\n }\r\n}\r\n\r\nfunction TopStores(props: { showFooter?: boolean; includeAllStores?: boolean }) {\r\n const { config } = useDeploymentConfig();\r\n const { formatMoney } = useMoneyFormatter();\r\n const [isEmpty, setIsEmpty] = useState(true);\r\n\r\n const sortOptions = [\r\n {\r\n label: \"Customer Visits\",\r\n value: Metric.StoreVisits,\r\n },\r\n {\r\n label: \"Beacon Visits\",\r\n value: Metric.BeaconContacts,\r\n },\r\n ];\r\n\r\n if (!config.disablePurchaseHistories) {\r\n sortOptions.splice(0, 0, {\r\n label: \"Revenue\",\r\n value: Metric.Revenue,\r\n });\r\n }\r\n\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx({ selectedValue: sortOptions[0].value });\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const value = parseInt(e.target.value, 10);\r\n if (!isNaN(value)) {\r\n mergeState({ selectedValue: value as Metric });\r\n }\r\n };\r\n\r\n const dataSource = useCallback(async () => {\r\n function getData() {\r\n const api = new StoresApi(getApiConfig());\r\n const payload = { size: 5, includeAllStores: props.includeAllStores, ...filters };\r\n switch (state.selectedValue) {\r\n case Metric.Revenue:\r\n return api.getByRevenue(payload);\r\n case Metric.StoreVisits:\r\n return api.getByVisits(payload);\r\n default:\r\n return api.getByBeaconContacts(payload);\r\n }\r\n }\r\n\r\n const result = await getData();\r\n\r\n if (isHttpOk(result)) {\r\n setIsEmpty(result.data.count === 0);\r\n return result.data;\r\n } else {\r\n setIsEmpty(true);\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n }, [filters, state.selectedValue, props.includeAllStores, setIsEmpty]);\r\n\r\n const storeWord = config.translations.store;\r\n\r\n const tableHeaders = [{ title: storeWord.singular.toUpperCase() }, { title: getColumnHeader(state.selectedValue) }];\r\n\r\n const modalId = \"top-stores\";\r\n const { openModal, closeModal } = useModal(modalId);\r\n\r\n return (\r\n \r\n \r\n

Top {storeWord.plural}

\r\n \r\n \r\n }\r\n className=\"top-stores-table\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={5}\r\n hidePagination={true}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={(item, index) => {\r\n return [item.name, state.selectedValue === 1 ? formatMoney(item.value) : item.value];\r\n }}\r\n >\r\n {props.showFooter && !isEmpty && (\r\n
openModal()}>\r\n Show all\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\nexport default TopStores;\r\n","import clsx from \"clsx\";\r\nimport {\r\n addDays,\r\n addMonths,\r\n addYears,\r\n endOfDay,\r\n endOfMonth,\r\n endOfWeek,\r\n endOfYear,\r\n format,\r\n isSameDay,\r\n isSameMonth,\r\n isSameYear,\r\n startOfDay,\r\n startOfMonth,\r\n startOfWeek,\r\n startOfYear,\r\n} from \"date-fns\";\r\nimport { useCallback, useEffect, useRef } from \"react\";\r\nimport { DateRangePicker, Range, RangeKeyDict, StaticRange } from \"react-date-range\";\r\nimport { TimeframeType } from \"../../api\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { DateRange as DateRangeType } from \"../../state/globalFilters\";\r\nimport { Calendar, DropdownIcon } from \"../icons/Icons\";\r\n\r\nimport \"react-date-range/dist/styles.css\";\r\nimport \"react-date-range/dist/theme/default.css\";\r\nimport \"./DateRange.scss\";\r\n\r\nfunction rangeEquals(a: Range, b: Range) {\r\n return !!(\r\n a.startDate &&\r\n a.endDate &&\r\n b.startDate &&\r\n b.endDate &&\r\n isSameDay(a.startDate, b.startDate) &&\r\n isSameDay(a.endDate, b.endDate)\r\n );\r\n}\r\n\r\ninterface PredefinedRange {\r\n startDate?: Date;\r\n endDate?: Date;\r\n timeframeType: TimeframeType;\r\n}\r\n\r\nfunction isPredefinedRange(range: any): range is PredefinedRange {\r\n return typeof range.timeframeType === \"number\";\r\n}\r\n\r\nexport function getStaticRanges(includeNowOption: boolean = false): StaticRange[] {\r\n const now = new Date();\r\n const days = {\r\n startOfWeek: startOfWeek(now),\r\n endOfWeek: endOfWeek(now),\r\n startOfToday: startOfDay(now),\r\n endOfToday: endOfDay(now),\r\n startOfYesterday: startOfDay(addDays(now, -1)),\r\n endOfYesterday: endOfDay(addDays(now, -1)),\r\n startOfMonth: startOfMonth(now),\r\n endOfMonth: endOfMonth(now),\r\n startOfLastMonth: startOfMonth(addMonths(now, -1)),\r\n endOfLastMonth: endOfMonth(addMonths(now, -1)),\r\n };\r\n\r\n const range: StaticRange[] = [\r\n {\r\n label: \"Today\",\r\n range: () => ({\r\n startDate: days.startOfToday,\r\n endDate: days.endOfToday,\r\n timeframeType: TimeframeType.Today,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"Yesterday\",\r\n range: () => ({\r\n startDate: days.startOfYesterday,\r\n endDate: days.endOfYesterday,\r\n timeframeType: TimeframeType.Yesterday,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"Last 7 Days\",\r\n range: () => ({\r\n startDate: addDays(days.startOfToday, -6),\r\n endDate: days.endOfToday,\r\n timeframeType: TimeframeType.Last7Days,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"Last 30 Days\",\r\n range: () => ({\r\n startDate: addDays(days.startOfToday, -29),\r\n endDate: days.endOfToday,\r\n timeframeType: TimeframeType.Last30Days,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"This Month\",\r\n range: () => ({\r\n startDate: days.startOfMonth,\r\n endDate: days.endOfMonth,\r\n timeframeType: TimeframeType.ThisMonth,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"Last Month\",\r\n range: () => ({\r\n startDate: days.startOfLastMonth,\r\n endDate: days.endOfLastMonth,\r\n timeframeType: TimeframeType.PreviousMonth,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"This Year\",\r\n range: () => ({\r\n startDate: startOfYear(new Date()),\r\n endDate: endOfDay(new Date()),\r\n timeframeType: TimeframeType.ThisYear,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"Last Year\",\r\n range: () => ({\r\n startDate: startOfYear(addYears(new Date(), -1)),\r\n endDate: endOfYear(addYears(new Date(), -1)),\r\n timeframeType: TimeframeType.PreviousYear,\r\n }),\r\n isSelected(range: Range) {\r\n const definedRange = this.range();\r\n return rangeEquals(range, definedRange);\r\n },\r\n },\r\n {\r\n label: \"All Time\",\r\n range: () => ({\r\n startDate: undefined,\r\n endDate: undefined,\r\n timeframeType: TimeframeType.AllTime,\r\n }),\r\n isSelected(range: Range) {\r\n return !range.startDate && !range.endDate;\r\n },\r\n },\r\n ];\r\n if (includeNowOption)\r\n range.splice(0, 0, {\r\n label: \"Now\",\r\n range: () => ({\r\n startDate: now,\r\n endDate: undefined,\r\n timeframeType: TimeframeType.Now,\r\n }),\r\n isSelected(range: Range) {\r\n return !!range.startDate && !range.endDate;\r\n },\r\n });\r\n return range;\r\n}\r\n\r\nexport function DateRange(props: {\r\n className?: string;\r\n value: DateRangeType;\r\n includeNowOption?: boolean;\r\n onChange: (value: DateRangeType) => void;\r\n}) {\r\n type State = {\r\n visible: boolean;\r\n pickingEnd: boolean;\r\n selection: [Range];\r\n };\r\n\r\n const { className, value, onChange, includeNowOption } = props;\r\n\r\n const ranges = getStaticRanges(includeNowOption);\r\n const timeButtonRef = useRef(null);\r\n const calendarWrapperRef = useRef(null);\r\n const { state, mergeState } = useStateEx(\r\n {\r\n selection: [{ startDate: value.startDate, endDate: value.endDate }],\r\n visible: false,\r\n pickingEnd: false,\r\n },\r\n \"datePicker\"\r\n );\r\n\r\n const handleOutsideClick = useCallback(\r\n (event: MouseEvent) => {\r\n const calendarWrapper = calendarWrapperRef.current;\r\n if (\r\n calendarWrapper &&\r\n event.target instanceof Node &&\r\n !calendarWrapperRef.current.contains(event.target) &&\r\n state.visible\r\n ) {\r\n calendarWrapper.style.display = \"none\";\r\n mergeState({ visible: false });\r\n }\r\n },\r\n [calendarWrapperRef, mergeState, state.visible]\r\n );\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleOutsideClick);\r\n return () => {\r\n document.removeEventListener(\"click\", handleOutsideClick);\r\n };\r\n }, [handleOutsideClick]);\r\n\r\n function handleButtonClick() {\r\n const timeFilter = timeButtonRef.current;\r\n const calendarWrapper = calendarWrapperRef.current;\r\n if (timeFilter && calendarWrapper) {\r\n if (state.visible) {\r\n calendarWrapper.style.display = \"none\";\r\n mergeState({\r\n visible: false,\r\n pickingEnd: false,\r\n });\r\n if (state.pickingEnd) {\r\n onChange({\r\n ...state.selection[0],\r\n timeframeType: TimeframeType.CustomRange,\r\n });\r\n }\r\n } else {\r\n const position = timeFilter.getBoundingClientRect();\r\n calendarWrapper.style.display = \"flex\";\r\n let top = timeFilter.offsetHeight;\r\n let right = position.right - calendarWrapper.offsetWidth;\r\n calendarWrapper.style.top = `${top < 0 ? 0 : top}px`;\r\n calendarWrapper.style.right = `${right > 0 ? 0 : right}px`;\r\n mergeState({\r\n visible: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n function handleSelection(range: RangeKeyDict) {\r\n const value = range.range1 as PredefinedRange | Range;\r\n\r\n const newSelection: [Range] = [\r\n {\r\n startDate: value.startDate,\r\n endDate: value.endDate,\r\n },\r\n ];\r\n\r\n if (isPredefinedRange(value)) {\r\n mergeState({\r\n selection: newSelection,\r\n visible: false,\r\n pickingEnd: false,\r\n });\r\n onChange(value);\r\n } else if (!state.pickingEnd) {\r\n mergeState({\r\n selection: newSelection,\r\n pickingEnd: true,\r\n });\r\n } else {\r\n mergeState({\r\n selection: newSelection,\r\n visible: false,\r\n pickingEnd: false,\r\n });\r\n onChange({\r\n startDate: value.startDate,\r\n endDate: value.endDate,\r\n timeframeType: TimeframeType.CustomRange,\r\n });\r\n }\r\n }\r\n\r\n const renderValue = () => {\r\n const range = ranges.find((r) => r.isSelected(value));\r\n if (range) {\r\n return range.label;\r\n } else if (value.startDate && value.endDate) {\r\n if (isSameDay(value.startDate, value.endDate)) {\r\n return format(value.startDate, \"d. MMM, yyyy\");\r\n } else if (isSameMonth(value.startDate, value.endDate)) {\r\n return `${format(value.startDate, \"d.\")} - ${format(value.endDate, \"d. MMM, yyyy\")}`;\r\n } else if (isSameYear(value.startDate, value.endDate)) {\r\n return `${format(value.startDate, \"d. MMM\")} - ${format(value.endDate, \"d. MMM, yyyy\")}`;\r\n } else {\r\n return `${format(value.startDate, \"d. MMM, yyyy\")} - ${format(value.endDate, \"d. MMM, yyyy\")}`;\r\n }\r\n } else {\r\n return \"Time\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import { addMinutes, getHours, getMinutes } from \"date-fns\";\r\nimport { isDate } from \"lodash\";\r\nimport { useEffect, useState } from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { BeaconLookupView, BeaconsApi, TimeframeType } from \"../../api\";\r\nimport { BeaconHourTracking } from \"../../pages/contact-tracking/ContactTracking\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { formatHour } from \"../../services/format\";\r\nimport { isProvided } from \"../../services/objects\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useGlobalFilters } from \"../../state/globalFilters\";\r\nimport { DateRange } from \"../forms/DateRange\";\r\nimport { Select } from \"../forms/Select\";\r\nimport { Clock, DropdownIcon } from \"../icons/Icons\";\r\n\r\nimport \"./TimeBeacons.scss\";\r\n\r\ntype TimeBeaconsProps = {\r\n selectedBeaconHour?: BeaconHourTracking;\r\n mergeBeaconHour?: (beaconHour: Partial) => void;\r\n};\r\ntype PickerValueType = Date | [Date | null, Date | null] | null;\r\n\r\nexport function TimeBeacons(props: TimeBeaconsProps) {\r\n const { selectTime, state: filters } = useGlobalFilters();\r\n\r\n const [hoursVisible, setVisibility] = useState(false);\r\n const toggleHours = () => setVisibility(!hoursVisible);\r\n const hideHours = () => setVisibility(false);\r\n\r\n const [beacons, setBeacons] = useState([]);\r\n useEffect(() => {\r\n (async () => {\r\n const config = getApiConfig();\r\n const request = await new BeaconsApi(config).getForLookup();\r\n if (isHttpOk(request)) setBeacons(request.data);\r\n })();\r\n }, []);\r\n\r\n const beaconOptions = beacons.map((b) => ({\r\n label: b.name!,\r\n value: b.id!,\r\n description: isProvided(b.area) ? `in ${b.area}, ${b.store}` : `in ${b.store}`,\r\n }));\r\n\r\n const fixedDate = new Date(2020, 1, 1);\r\n const startHour = props.selectedBeaconHour?.startHour;\r\n const endHour = props.selectedBeaconHour?.endHour;\r\n const getHourValue = (hour?: number) => (hour ? addMinutes(fixedDate, hour * 60) : null);\r\n const timeframe = filters.selectedTime.timeframeType;\r\n const isNowTimeframe = timeframe === TimeframeType.Now;\r\n\r\n const handleStartHourChange = (value: PickerValueType) => {\r\n if (isDate(value) && props.mergeBeaconHour)\r\n props.mergeBeaconHour({ startHour: getHours(value) + getMinutes(value) / 60 });\r\n };\r\n const handleEndHourChange = (value: PickerValueType) => {\r\n const startValue = getHourValue(startHour);\r\n if (isDate(value) && startValue && props.mergeBeaconHour) {\r\n if ((timeframe !== TimeframeType.Today && timeframe !== TimeframeType.Yesterday) || startValue < value)\r\n props.mergeBeaconHour({ endHour: getHours(value) + getMinutes(value) / 60 });\r\n }\r\n hideHours();\r\n };\r\n\r\n const renderHours = () => {\r\n if (!startHour || !endHour) return \"Throughout\";\r\n if (isNowTimeframe) return \"Ongoing\";\r\n return `${formatHour(startHour)} - ${formatHour(endHour)}`;\r\n };\r\n\r\n return (\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 props.mergeBeaconHour && props.mergeBeaconHour({ beacons: ids as string[] })}\r\n />\r\n
\r\n );\r\n}\r\n","import { debounce } from \"lodash\";\r\nimport { useCallback, useEffect, useMemo } from \"react\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { useGlobalFilters, useIsSingleStore } from \"../../state/globalFilters\";\r\nimport { DateRange } from \"../forms/DateRange\";\r\nimport { Select } from \"../forms/Select\";\r\nimport { AllStores, BeaconArea, Pin } from \"../icons/Icons\";\r\n\r\nimport \"./TimeLocation.scss\";\r\n\r\nconst pinIcon = ;\r\nconst allStoresIcon = ;\r\nconst areaIcon = ;\r\n\r\ntype TimeLocationProps = {\r\n disableStoreMultiSelect?: boolean;\r\n defaultToFirstStore?: boolean;\r\n hideLocationFilters?: boolean;\r\n};\r\n\r\nexport const TimeLocation = (props: TimeLocationProps) => {\r\n const isSingleStore = useIsSingleStore();\r\n const { selectCountries, selectStores, selectAreas, selectTime, state: filters } = useGlobalFilters();\r\n\r\n type FilterType = {\r\n countryIds?: number[];\r\n storeIds?: number[];\r\n areaIds?: number[];\r\n };\r\n\r\n const { state, mergeState } = useStateEx({\r\n countryIds: filters.selectedCountries,\r\n });\r\n\r\n const debouncedFilterState = useMemo(\r\n () =>\r\n debounce((newFilters: FilterType) => {\r\n if (newFilters.countryIds) selectCountries(newFilters.countryIds);\r\n if (newFilters.storeIds) selectStores(newFilters.storeIds);\r\n if (newFilters.areaIds) selectAreas(newFilters.areaIds);\r\n }, 700),\r\n [selectAreas, selectCountries, selectStores]\r\n );\r\n\r\n const debounceStateHandler = useCallback(\r\n (newFilters: FilterType) => {\r\n if (newFilters.countryIds) mergeState({ countryIds: newFilters.countryIds });\r\n if (newFilters.storeIds) mergeState({ storeIds: newFilters.storeIds });\r\n if (newFilters.areaIds) mergeState({ areaIds: newFilters.areaIds });\r\n\r\n debouncedFilterState(newFilters);\r\n },\r\n [debouncedFilterState, mergeState]\r\n );\r\n\r\n useEffect(() => {\r\n const stores = filters.topFilterStores;\r\n if (props.defaultToFirstStore) {\r\n if (stores?.length > 0) debounceStateHandler({ storeIds: [stores[0].value as number] });\r\n }\r\n }, [props.defaultToFirstStore, selectStores, debounceStateHandler, filters.topFilterStores]);\r\n\r\n const showStoreCountryFilters = !isSingleStore && !props.hideLocationFilters;\r\n const showAreaFilter = isSingleStore && !props.hideLocationFilters;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {showStoreCountryFilters && (\r\n <>\r\n
\r\n debounceStateHandler({ ...state, countryIds: ids as number[] })}\r\n />\r\n
\r\n
\r\n {!props.disableStoreMultiSelect ? (\r\n debounceStateHandler({ ...state, storeIds: ids as number[] })}\r\n />\r\n ) : (\r\n 0 ? state.storeIds[0] : null}\r\n onChange={(id) => debounceStateHandler({ ...state, storeIds: [id as number] })}\r\n />\r\n )}\r\n
\r\n \r\n )}\r\n {showAreaFilter && (\r\n
\r\n debounceStateHandler({ ...state, areaIds: ids as number[] })}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import { PropsWithChildren } from \"react\";\r\nimport { BeaconHourTracking } from \"../../pages/contact-tracking/ContactTracking\";\r\nimport { useFilterDescriptionText, useIsSingleStore } from \"../../state/globalFilters\";\r\nimport { TimeBeacons } from \"./TimeBeacons\";\r\nimport { TimeLocation } from \"./TimeLocation\";\r\n\r\nexport function AnalyticsPageHeader(props: { title: string; hideLocationFilters?: boolean }) {\r\n const filtersText = useFilterDescriptionText();\r\n const storeDetail = !useIsSingleStore() ? ` - ${filtersText.locations}` : \"\";\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function PageHeader(\r\n props: PropsWithChildren<{\r\n title: string;\r\n subTitle?: string;\r\n }>\r\n) {\r\n return (\r\n
\r\n
\r\n

{props.title}

\r\n {props.subTitle &&

{props.subTitle}

}\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\ntype BeaconTrackingProps = {\r\n title: string;\r\n selectedBeaconHour?: BeaconHourTracking;\r\n mergeBeaconHour?: (beaconHour: Partial) => void;\r\n};\r\n\r\nexport function BeaconTrackingHeader(props: BeaconTrackingProps) {\r\n const filtersText = useFilterDescriptionText();\r\n const storeDetail = !useIsSingleStore() ? ` - ${filtersText.locations}` : \"\";\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import { isProvided } from \"../../services/objects\";\r\nimport { getTooltip } from \"../../services/tooltip\";\r\nimport { HighlightColor } from \"../../services/types\";\r\nimport { GreenUpArrow, RedDownArrow, ThreeDots } from \"../icons/Icons\";\r\nimport Card from \"./Card\";\r\n\r\nimport \"./StatsCardWithTrend.scss\";\r\n\r\ninterface ComponentProps {\r\n currentValue?: string;\r\n previousValue?: string;\r\n trendChangePercent?: number;\r\n label: string;\r\n color?: HighlightColor;\r\n hideDots?: boolean;\r\n tooltipText?: string;\r\n onClick?: () => void;\r\n}\r\n\r\nfunction StatsCardWithTrend({\r\n currentValue,\r\n previousValue,\r\n trendChangePercent,\r\n label,\r\n color,\r\n hideDots,\r\n tooltipText,\r\n onClick,\r\n}: ComponentProps) {\r\n const classNames = [\"trend\"];\r\n const showTrendChange = isProvided(trendChangePercent);\r\n const showPrevValue = isProvided(previousValue);\r\n const cardClassNames = \"stats-card-with-trend \" + (onClick ? \"clickable\" : \"\");\r\n\r\n return (\r\n \r\n
\r\n {label}\r\n \r\n {currentValue != null &&
{currentValue}
}\r\n {!hideDots && }\r\n
\r\n {(showTrendChange || showPrevValue) && (\r\n
\r\n \r\n {trendChangePercent! > 0 && }\r\n {trendChangePercent! < 0 && }\r\n {trendChangePercent! === 0 && \"- \"}{\" \"}\r\n \r\n {showTrendChange && {trendChangePercent!.toFixed(0)}%}{\" \"}\r\n {showPrevValue && ({previousValue})}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default StatsCardWithTrend;\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { AnalyticsApi, AppInteractionUserView, AppInteractionUsersFilter } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { useLocalizedText } from \"../../../services/localization\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AppInteractionUsersTable.scss\";\r\n\r\nexport function AppInteractionUsersTable() {\r\n const texts = useLocalizedText();\r\n const [selectedFilter, setFilter] = useState(AppInteractionUsersFilter.All);\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getAppInteractionUsers({\r\n filter: selectedFilter,\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(ReactTooltip.rebuild, 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters, selectedFilter]\r\n );\r\n\r\n const items = texts.appInteractionUsersTable.items;\r\n const tableHeaders = [items.name, items.email, items.nmOfInteractions];\r\n\r\n const options = [\r\n {\r\n label: \"All New Users\",\r\n value: AppInteractionUsersFilter.All,\r\n },\r\n {\r\n label: \"Interacting New Users\",\r\n value: AppInteractionUsersFilter.Interacted,\r\n },\r\n {\r\n label: \"Non-Interacting New Users\",\r\n value: AppInteractionUsersFilter.NoInteractions,\r\n },\r\n ];\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const value = parseInt(e.target.value, 10);\r\n if (!isNaN(value)) setFilter(value as AppInteractionUsersFilter);\r\n };\r\n const dropdown = (\r\n \r\n );\r\n\r\n const renderRow = (item: AppInteractionUserView) => {\r\n var name = item.firstName ? `${item.firstName} ${item.lastName}` : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n item.nmOfInteractions,\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Email\", \"No. Of Interactions\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(item.nmOfInteractions.toString()),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `app-interaction-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n const title = texts.appInteractionUsersTable.title;\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n
\r\n {dropdown}\r\n \r\n
\r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { RevenueStatisticsApi, TotalAppCustomerView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { formatDateTime, useMoneyFormatter } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AppRevenueUsersTable.scss\";\r\n\r\nexport function AppRevenueUsersTable() {\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new RevenueStatisticsApi(getApiConfig());\r\n const result = await api.getAppRevenueUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const title = \"App Revenue Customers\";\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"REVENUE\" }, { title: \"JOIN DATE\" }];\r\n\r\n const renderRow = (item: TotalAppCustomerView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n formatMoney(item.revenue),\r\n formatDateTime(item.joinDate, \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Email\", \"Revenue\", \"Join Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(formatMoney(item.revenue)),\r\n toCsvValue(formatDateTime(item.joinDate, \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `app-revenue-customers-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AppTransactionUserView, RevenueStatisticsApi } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AppTransactionUsersTable.scss\";\r\n\r\nexport function AppTransactionUsersTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new RevenueStatisticsApi(getApiConfig());\r\n const result = await api.getAppTransactionUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const title = \"App Transaction Customers\";\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"NO. OF TRANSACTIONS\" }];\r\n\r\n const renderRow = (item: AppTransactionUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n item.transactions,\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Email\", \"No. Of Transactions\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n item.transactions,\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `app-transaction-customers-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, AvgTransactionQuantityUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AvgTransactionQuantityUsersTable.scss\";\r\n\r\nexport function AvgTransactionQuantityUsersTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getAvgTransactionQuantityUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const title = \"Avg Transaction Quantity of Customers\";\r\n const tableHeaders = [\r\n { title: \"NAME\" },\r\n { title: \"QUANTITY\" },\r\n { title: \"NO. OF TRANSACTIONS\" },\r\n { title: \"AVERAGE TRANSACTION QUANTITY\" },\r\n ];\r\n\r\n const renderRow = (item: AvgTransactionQuantityUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.quantity,\r\n item.transactions,\r\n item.avgTransactionQuantity,\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\r\n \"Picture Url\",\r\n \"Name\",\r\n \"Quantity\",\r\n \"No. of Transactions\",\r\n \"Average Transaction Quantity\",\r\n ].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n item.quantity,\r\n item.transactions,\r\n item.avgTransactionQuantity,\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `avg-transaction-quantity-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, AvgTransactionValueUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { useMoneyFormatter } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AvgTransactionValueUsersTable.scss\";\r\n\r\nexport function AvgTransactionValueUsersTable() {\r\n const { formatMoney } = useMoneyFormatter();\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getAvgTransactionValueUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const title = \"Avg Transaction Value of Customers\";\r\n const tableHeaders = [\r\n { title: \"NAME\" },\r\n { title: \"REVENUE\" },\r\n { title: \"NO. OF TRANSACTIONS\" },\r\n { title: \"AVERAGE TRANSACTION VALUE\" },\r\n ];\r\n\r\n const renderRow = (item: AvgTransactionValueUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n formatMoney(item.revenue),\r\n item.transactions,\r\n formatMoney(item.avgTransactionValue),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Revenue\", \"No. Of Transactions\", \"Average Transaction Value\"].join(\r\n \",\"\r\n );\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n formatMoney(item.revenue),\r\n item.transactions,\r\n formatMoney(item.avgTransactionValue),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `avg-transaction-value-customers-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { AnalyticsApi, RedemptionUserView, RedemptionUsersFilter } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./RedemptionUsersTable.scss\";\r\n\r\nexport function RedemptionUsersTable() {\r\n const options = [\r\n {\r\n label: \"All Sent Users\",\r\n value: RedemptionUsersFilter.All,\r\n },\r\n {\r\n label: \"Redeemed Users\",\r\n value: RedemptionUsersFilter.Redeemed,\r\n },\r\n {\r\n label: \"Non-Redeemed Users\",\r\n value: RedemptionUsersFilter.NonRedeemed,\r\n },\r\n ];\r\n const [selectedFilter, setFilter] = useState(RedemptionUsersFilter.All);\r\n\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getRedemptionUsers({\r\n filter: selectedFilter,\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(ReactTooltip.rebuild, 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters, selectedFilter]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"MESSAGE\" }, { title: \"SENT DATE\" }, { title: \"REDEMPTION DATE\" }];\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const value = parseInt(e.target.value, 10);\r\n if (!isNaN(value)) setFilter(value as RedemptionUsersFilter);\r\n };\r\n const dropdown = (\r\n \r\n );\r\n\r\n const renderRow = (item: RedemptionUserView) => {\r\n var name = item.firstName ? `${item.firstName} ${item.lastName}` : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n \r\n {item.message}\r\n ,\r\n item.sentDate ? formatDateTime(utcToLocal(item.sentDate), \"dd.MM.yyyy hh:mm a\") : \"N/A\",\r\n item.redemptionDate ? formatDateTime(utcToLocal(item.redemptionDate), \"dd.MM.yyyy hh:mm a\") : \"N/A\",\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Message\", \"Sent Date\", \"Redemption Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.message || \"\"),\r\n item.sentDate ? formatDateTime(utcToLocal(item.sentDate), \"dd.MM.yyyy hh:mm a\") : \"N/A\",\r\n item.redemptionDate ? formatDateTime(utcToLocal(item.redemptionDate), \"dd.MM.yyyy hh:mm a\") : \"N/A\",\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `redemption-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n const title = \"Redemption Users\";\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n
\r\n {dropdown}\r\n \r\n
\r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { AnalyticsApi, SalesConversionUserView, SalesConversionUsersFilter } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { useMoneyFormatter } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./SalesConversionUsersTable.scss\";\r\n\r\nexport function SalesConversionUsersTable() {\r\n const { formatMoney } = useMoneyFormatter();\r\n const [selectedFilter, setFilter] = useState(SalesConversionUsersFilter.All);\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getSalesConversionUsers({\r\n filter: selectedFilter,\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(ReactTooltip.rebuild, 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters, selectedFilter]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"REVENUE\" }];\r\n\r\n const options = [\r\n {\r\n label: \"All Visitors\",\r\n value: SalesConversionUsersFilter.All,\r\n },\r\n {\r\n label: \"Visited Only\",\r\n value: SalesConversionUsersFilter.VisitedOnly,\r\n },\r\n {\r\n label: \"Visited and Purchased\",\r\n value: SalesConversionUsersFilter.VisitedAndPurchased,\r\n },\r\n ];\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const value = parseInt(e.target.value, 10);\r\n if (!isNaN(value)) setFilter(value as SalesConversionUsersFilter);\r\n };\r\n const dropdown = (\r\n \r\n );\r\n\r\n const renderRow = (item: SalesConversionUserView) => {\r\n var name = item.firstName ? `${item.firstName} ${item.lastName}` : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n formatMoney(item.totalRevenue),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Email\", \"Revenue\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(formatMoney(item.totalRevenue)),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `sale-conversion-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n const title = \"Sales Conversion Users\";\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n
\r\n {dropdown}\r\n \r\n
\r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { AnalyticsApi, TimeSpentUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { formatApproximateDuration } from \"../../../services/format\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport { toast } from \"react-toastify\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport \"./TimeSpentUsersTable.scss\";\r\n\r\nexport function TimeSpentUsersTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getTimeSpentUsers({\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"NO. OF VISIT\" }, { title: \"TOTAL DURATION\" }];\r\n\r\n const renderRow = (item: TimeSpentUserView) => {\r\n var name = item.firstName ? `${item.firstName} ${item.lastName}` : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n item.nmOfVisits,\r\n formatApproximateDuration(item.totalVisitDurationSeconds),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Email\", \"Number Of Visits\", \"Total Duration\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n item.nmOfVisits,\r\n formatApproximateDuration(item.totalVisitDurationSeconds),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `time-spent-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n const title = \"Time Spent by Visitors\";\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { VisitingUserView, VisitorStatisticsApi } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatApproximateDuration, formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./VisitingUsersTable.scss\";\r\n\r\nexport function VisitingUsersTable(props: { title?: string }) {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new VisitorStatisticsApi(getApiConfig());\r\n const result = await api.getVisitingUsers({\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(ReactTooltip.rebuild, 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [\r\n { title: \"NAME\" },\r\n { title: \"EMAIL\" },\r\n { title: \"STORE NAME\" },\r\n { title: \"VISIT START\" },\r\n { title: \"DURATION\" },\r\n ];\r\n\r\n const renderRow = (item: VisitingUserView) => {\r\n var name = item.firstName ? `${item.firstName} ${item.lastName}` : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n \r\n {item.email}\r\n ,\r\n \r\n {item.storeName}\r\n ,\r\n formatDateTime(utcToLocal(item.visitStart), \"dd.MM.yyyy hh:mm a\"),\r\n formatApproximateDuration(item.visitDurationSeconds),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Email\", \"Store Name\", \"Visit Start\", \"Duration\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(item.storeName || \"\"),\r\n formatDateTime(utcToLocal(item.visitStart), \"dd.MM.yyyy hh:mm a\"),\r\n formatApproximateDuration(item.visitDurationSeconds),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `visiting-app-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n const title = props.title || \"Visiting Users\";\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { AnalyticsApi, BeaconsApi, RevenueStatisticsApi, TopAreaView, VisitorStatisticsApi } from \"../../api\";\r\nimport StatsCardWithTrend from \"../../app/cards/StatsCardWithTrend\";\r\nimport { Modal, useModal } from \"../../app/modals/Modal\";\r\nimport { AppInteractionUsersTable } from \"../../app/tables/analytics/AppInteractionUsersTable\";\r\nimport { AppRevenueUsersTable } from \"../../app/tables/analytics/AppRevenueUsersTable\";\r\nimport { AppTransactionUsersTable } from \"../../app/tables/analytics/AppTransactionUsersTable\";\r\nimport { AvgTransactionQuantityUsersTable } from \"../../app/tables/analytics/AvgTransactionQuantityUsersTable\";\r\nimport { AvgTransactionValueUsersTable } from \"../../app/tables/analytics/AvgTransactionValueUsersTable\";\r\nimport { RedemptionUsersTable } from \"../../app/tables/analytics/RedemptionUsersTable\";\r\nimport { SalesConversionUsersTable } from \"../../app/tables/analytics/SalesConversionUsersTable\";\r\nimport { TimeSpentUsersTable } from \"../../app/tables/analytics/TimeSpentUsersTable\";\r\nimport { VisitingUsersTable } from \"../../app/tables/analytics/VisitingUsersTable\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport {\r\n approximateDuration,\r\n calcTrend,\r\n formatDecimal,\r\n formatPercentage,\r\n useMoneyFormatter,\r\n} from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { useIsSingleStore, useTimeLocationFilters } from \"../../state/globalFilters\";\r\n\r\nimport \"./BottomRow.scss\";\r\n\r\nconst emptyValue = () => ({ current: 0, previous: 0 });\r\n\r\nfunction BottomRowForRevenue() {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters(\"Analytics\");\r\n const { formatMoney } = useMoneyFormatter();\r\n\r\n const { state: revenue, setState: setRevenue } = useStateEx(emptyValue);\r\n const { state: transactions, setState: setTransactions } = useStateEx(emptyValue);\r\n const { state: averageTransactionValue, setState: setAverageTransactionValue } = useStateEx(emptyValue);\r\n const { state: averageTransactionQuantity, setState: setAverageTransactionQuantity } = useStateEx(emptyValue);\r\n const { state: storeVisits, setState: setStoreVisits } = useStateEx(emptyValue);\r\n const { state: salesConversionRate, setState: setSalesConversionRate } = useStateEx(emptyValue);\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const analyticsApi = new AnalyticsApi(config);\r\n const revenueApi = new RevenueStatisticsApi(config);\r\n const visitorApi = new VisitorStatisticsApi(config);\r\n revenueApi.getRevenue(filters).then((result) => {\r\n if (isHttpOk(result)) setRevenue(result.data);\r\n });\r\n revenueApi.getTransactions(filters).then((result) => {\r\n if (isHttpOk(result)) setTransactions(result.data);\r\n });\r\n visitorApi.getStoreVisits(filters).then((result) => {\r\n if (isHttpOk(result)) setStoreVisits(result.data);\r\n });\r\n analyticsApi.getAverageTransactionValue(filters).then((result) => {\r\n if (isHttpOk(result)) setAverageTransactionValue(result.data);\r\n });\r\n analyticsApi.getAverageTransactionQuantity(filters).then((result) => {\r\n if (isHttpOk(result)) setAverageTransactionQuantity(result.data);\r\n });\r\n analyticsApi.getSalesConversionRate(filters).then((result) => {\r\n if (isHttpOk(result)) setSalesConversionRate(result.data);\r\n });\r\n }, [\r\n filters,\r\n setRevenue,\r\n setTransactions,\r\n setAverageTransactionValue,\r\n setAverageTransactionQuantity,\r\n setStoreVisits,\r\n setSalesConversionRate,\r\n ]);\r\n\r\n const appRevenueModalId = \"appRevenueModal\";\r\n const { openModal: openAppRevenueModal, closeModal: closeAppRevenueModal } = useModal(appRevenueModalId);\r\n const appTransactionModalId = \"appTransactionModal\";\r\n const { openModal: openAppTransactionModal, closeModal: closeAppTransactionModal } = useModal(appTransactionModalId);\r\n const avgTransactionValueModalId = \"avgTransactionValueModal\";\r\n const { openModal: openAvgTransactionValueModal, closeModal: closeAvgTransactionValueModal } =\r\n useModal(avgTransactionValueModalId);\r\n const avgTransactionQuantityModalId = \"avgTransactionQuantityModal\";\r\n const { openModal: openAvgTransactionQuantityModal, closeModal: closeAvgTransactionQuantityModal } =\r\n useModal(avgTransactionQuantityModalId);\r\n const customerVisitsModalId = \"customerVisitsModal\";\r\n const { openModal: openCustomerVisitsModal, closeModal: closeCustomerVisitsModal } = useModal(customerVisitsModalId);\r\n const salesConversionModalId = \"salesConversionModal\";\r\n const { openModal: openSalesConversionModal, closeModal: closeSalesConversionModal } =\r\n useModal(salesConversionModalId);\r\n\r\n return (\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\nfunction BottomRowForInteractions() {\r\n const texts = useLocalizedText();\r\n const isSingleStore = useIsSingleStore();\r\n const filters = useTimeLocationFilters(\"Analytics\");\r\n\r\n const { state: topArea, setState: setTopArea } = useStateEx(null);\r\n const { state: storeVisits, setState: setStoreVisits } = useStateEx(emptyValue);\r\n const { state: interactionRate, setState: setAppInteractionRate } = useStateEx(emptyValue);\r\n const { state: avgRedemptionRate, setState: setAvgRedemptionRate } = useStateEx(emptyValue);\r\n const { state: avgTimeInStore, setState: setAvgTimeInStore } = useStateEx({\r\n current: 0,\r\n previous: 0,\r\n unit: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const beaconsApi = new BeaconsApi(config);\r\n if (isSingleStore) {\r\n beaconsApi\r\n .getTopAreas({\r\n size: 1,\r\n ...filters,\r\n })\r\n .then((response) => {\r\n if (isHttpOk(response) && response.data.length >= 1) {\r\n setTopArea(response.data[0]);\r\n } else {\r\n setTopArea(null);\r\n }\r\n });\r\n }\r\n }, [filters, setTopArea, isSingleStore]);\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const analyticsApi = new AnalyticsApi(config);\r\n const visitorApi = new VisitorStatisticsApi(config);\r\n analyticsApi.getAppInteractionRate(filters).then((result) => {\r\n if (isHttpOk(result)) setAppInteractionRate(result.data);\r\n });\r\n visitorApi.getStoreVisits(filters).then((result) => {\r\n if (isHttpOk(result)) setStoreVisits(result.data);\r\n });\r\n analyticsApi.getAvgShoppingTime({ includeTrend: true, ...filters }).then((result) => {\r\n if (isHttpOk(result)) {\r\n const [current, unit] = approximateDuration(result.data.current);\r\n const [prev] = approximateDuration(result.data.previous, unit);\r\n setAvgTimeInStore({\r\n current: current,\r\n previous: prev,\r\n unit: unit,\r\n });\r\n }\r\n });\r\n analyticsApi.getAvgRedemptionRate(filters).then((result) => {\r\n if (isHttpOk(result)) setAvgRedemptionRate(result.data);\r\n });\r\n }, [filters, setStoreVisits, setAppInteractionRate, setAvgRedemptionRate, setAvgTimeInStore]);\r\n\r\n const redemptionModalId = \"avgRedemptionRateModal\";\r\n const { openModal: openRedemptionModal, closeModal: closeRedemptionModal } = useModal(redemptionModalId);\r\n const userVisitsModalId = \"userVisitsModal\";\r\n const { openModal: openUserVisitModal, closeModal: closeUserVisitModal } = useModal(userVisitsModalId);\r\n const avgTimeModalId = \"avgTimeSpentModal\";\r\n const { openModal: openAvgTimeModal, closeModal: closeAvgTimeModal } = useModal(avgTimeModalId);\r\n const interactionRateModalId = \"interactionRateModal\";\r\n const { openModal: openInteractionRateModal, closeModal: closeInteractionRateModal } =\r\n useModal(interactionRateModalId);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {isSingleStore && (\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\nexport function BottomRow() {\r\n const deployment = useDeploymentConfig();\r\n if (deployment.config.disablePurchaseHistories) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n}\r\n","import { useRef } from \"react\";\r\nimport { DraggableProvidedDragHandleProps } from \"react-beautiful-dnd\";\r\nimport { getTooltip } from \"../../services/tooltip\";\r\nimport { HighlightColor } from \"../../services/types\";\r\nimport { ThreeDots } from \"../icons/Icons\";\r\nimport Card from \"./Card\";\r\n\r\nimport \"./StatsCardSimple.scss\";\r\n\r\ninterface ComponentProps {\r\n value: string | number | undefined;\r\n decimalPlaces?: number;\r\n className?: string;\r\n tooltipText?: string;\r\n asPercentage?: boolean;\r\n label: string;\r\n subLabel?: string;\r\n color?: null | HighlightColor;\r\n figure?: JSX.Element;\r\n items?: {\r\n label: string;\r\n percentage: number;\r\n }[];\r\n showDots?: boolean;\r\n selected?: boolean;\r\n dragHandleProps?: DraggableProvidedDragHandleProps;\r\n valuePostfix?: null | string;\r\n onClick?: () => void;\r\n}\r\n\r\nfunction formatValue(\r\n value: string | number | undefined,\r\n decimals: number | undefined,\r\n asPercentage?: boolean,\r\n valuePostfix?: null | string\r\n) {\r\n if (typeof value === \"number\") {\r\n let number = value;\r\n if (typeof decimals === \"number\") {\r\n const factor = Math.pow(10, decimals);\r\n number = Math.round(value * factor) / factor;\r\n }\r\n if (asPercentage) {\r\n return number > 0 ? \"+\" + number.toLocaleString(\"en-US\") + \"%\" : number.toLocaleString(\"en-US\") + \"%\";\r\n } else if (valuePostfix) {\r\n return number.toLocaleString(\"en-US\") + ` ${valuePostfix}`;\r\n } else {\r\n return number.toLocaleString(\"en-US\");\r\n }\r\n }\r\n return value;\r\n}\r\n\r\nfunction StatsCardSimple({\r\n value,\r\n decimalPlaces,\r\n tooltipText,\r\n label,\r\n subLabel,\r\n color,\r\n figure,\r\n items,\r\n showDots,\r\n asPercentage,\r\n dragHandleProps,\r\n valuePostfix,\r\n selected,\r\n onClick,\r\n className,\r\n}: ComponentProps) {\r\n const lastIndex = items?.length;\r\n const cardClasses = \"stats-card-simple\" + (className ? ` ${className}` : \"\") + (onClick ? \" clickable\" : \"\");\r\n const innerClasses = \"app-totals\";\r\n const dotsRef = useRef(null);\r\n const handleClick = (event: React.MouseEvent) => {\r\n if (onClick) {\r\n // do not call onClick if drag button is enabled and its area is clicked.\r\n if (showDots && dotsRef.current && event.target instanceof Node && dotsRef.current.contains(event.target)) return;\r\n else onClick();\r\n }\r\n };\r\n return (\r\n \r\n
\r\n
\r\n
{figure}
\r\n
\r\n \r\n {formatValue(value, decimalPlaces, asPercentage, valuePostfix)}\r\n \r\n \r\n {label}\r\n {subLabel &&
}\r\n {subLabel}\r\n
\r\n {items && (\r\n
\r\n {items.map((item, index) => (\r\n \r\n {items.length > 1 && (\r\n \r\n )}\r\n {item.label} {item.percentage}%\r\n {index !== lastIndex && \" \"}\r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {showDots && (\r\n \r\n {}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default StatsCardSimple;\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, AppDownloadUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AppDownloadsTable.scss\";\r\n\r\nexport function AppDownloadsTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getAppDownloadUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"PLATFORM\" }, { title: \"DOWNLOAD DATE\" }];\r\n\r\n const renderRow = (item: AppDownloadUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n item.platform || \"\",\r\n formatDateTime(utcToLocal(item.downloadDate), \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Email\", \"Platform\", \"Download Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(item.platform || \"\"),\r\n toCsvValue(formatDateTime(utcToLocal(item.downloadDate), \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `app-downloads-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

App Downloads

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, AppOpenUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AppOpensTable.scss\";\r\n\r\nexport function AppOpensTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getAppOpenUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"APP VERSION\" }, { title: \"OPEN DATE\" }];\r\n\r\n const renderRow = (item: AppOpenUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n item.appVersion || \"\",\r\n formatDateTime(utcToLocal(item.openDate), \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Email\", \"App Version\", \"Open Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(item.appVersion || \"\"),\r\n toCsvValue(formatDateTime(utcToLocal(item.openDate), \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `app-opens-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

App Opens

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, AppRegistrationUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./AppRegistrationsTable.scss\";\r\n\r\nexport function AppRegistrationsTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getAppRegistrationUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"PLATFORM\" }, { title: \"REGISTRATION DATE\" }];\r\n\r\n const renderRow = (item: AppRegistrationUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n item.platform || \"\",\r\n formatDateTime(utcToLocal(item.registrationDate), \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Email\", \"Platform\", \"Registration Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(item.platform || \"\"),\r\n toCsvValue(formatDateTime(utcToLocal(item.registrationDate), \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `app-registrations-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

App Registrations

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { AnalyticsApi, ConvertedUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\nimport { LabelCampaign } from \"../notifications/LabelCampaign\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport \"./ConvertedUsersTable.scss\";\r\n\r\nexport function ConvertedUsersTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getConvertedUsers({\r\n skip: offset,\r\n limit: limit,\r\n ...filters,\r\n });\r\n\r\n if (isHttpOk(result)) {\r\n window.setTimeout(ReactTooltip.rebuild, 500);\r\n return result.data;\r\n } else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"TRACKED OFFER\" }, { title: \"CONVERTED DATE\" }];\r\n\r\n const renderRow = (item: ConvertedUserView) => {\r\n var name = item.firstName ? `${item.firstName} ${item.lastName}` : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n ,\r\n formatDateTime(utcToLocal(item.conversionDate), \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\r\n \"Picture Url\",\r\n \"Name\",\r\n \"Tracked Offer\",\r\n \"Campaign\",\r\n \"Converting Offer\",\r\n \"Converted Date\",\r\n ].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(`[${item.trackedOffer!.id}] ${item.trackedOffer?.label ?? item.trackedOffer?.title ?? \"\"}`),\r\n toCsvValue(item.trackedOffer?.campaignTitle || \"\"),\r\n toCsvValue(item.trackedOffer?.convertingOfferLabel || \"\"),\r\n toCsvValue(formatDateTime(utcToLocal(item.conversionDate), \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `converted-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

Converted Users

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, NewCustomerView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { formatDateTime, useMoneyFormatter } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./NewCustomersTable.scss\";\r\n\r\nexport function NewCustomersTable() {\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getNewCustomers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"REVENUE\" }, { title: \"FIRST PURCHASE DATE\" }];\r\n\r\n const renderRow = (item: NewCustomerView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n formatMoney(item.revenue),\r\n formatDateTime(item.firstPurchaseDate, \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"PictureUrl\", \"Name\", \"Revenue\", \"First Purchase Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(formatMoney(item.revenue)),\r\n toCsvValue(formatDateTime(item.firstPurchaseDate, \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `new-customers-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

New App Customers

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, TotalAppCustomerView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { formatDateTime, useMoneyFormatter } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./TotalAppCustomersTable.scss\";\r\n\r\nexport function TotalAppCustomersTable() {\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const [isExporting, setIsExporting] = useState(false);\r\n\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getTotalAppCustomers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const title = \"Total App Customers\";\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"REVENUE\" }, { title: \"JOIN DATE\" }];\r\n\r\n const renderRow = (item: TotalAppCustomerView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n formatMoney(item.revenue),\r\n formatDateTime(item.joinDate, \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Email\", \"Revenue\", \"Join Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(formatMoney(item.revenue)),\r\n toCsvValue(formatDateTime(item.joinDate, \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `total-app-customers-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{title}

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport { AnalyticsApi, TotalAppUserView } from \"../../../api\";\r\nimport { logErrorSilently } from \"../../../services/alerts\";\r\nimport { isHttpOk } from \"../../../services/api\";\r\nimport { utcToLocal } from \"../../../services/date\";\r\nimport { formatDateTime } from \"../../../services/format\";\r\nimport { toCsvValue } from \"../../../services/string\";\r\nimport { getApiConfig } from \"../../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../../state/globalFilters\";\r\nimport Card from \"../../cards/Card\";\r\nimport { AlertContent } from \"../../widgets/Alerts\";\r\nimport { Avatar } from \"../../widgets/Avatar\";\r\nimport { PaginatedTable } from \"../../widgets/PaginatedTable\";\r\n\r\nimport \"./TotalAppUsersTable.scss\";\r\n\r\nexport function TotalAppUsersTable() {\r\n const filters = useTimeLocationFilters();\r\n const [isExporting, setIsExporting] = useState(false);\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n const result = await api.getTotalAppUsers({ skip: offset, limit: limit, ...filters });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [filters]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"EMAIL\" }, { title: \"JOIN DATE\" }];\r\n\r\n const renderRow = (item: TotalAppUserView) => {\r\n var name = item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\";\r\n return [\r\n \r\n \r\n {name}\r\n ,\r\n item.email,\r\n formatDateTime(utcToLocal(item.joinDate), \"dd.MM.yyyy hh:mm a\"),\r\n ];\r\n };\r\n\r\n async function downloadCsv() {\r\n setIsExporting(true);\r\n try {\r\n const data = await dataSource(0, 0);\r\n const csvHeaders = [\"Picture Url\", \"Name\", \"Email\", \"Join Date\"].join(\",\");\r\n let rows = data.items?.map((item) =>\r\n [\r\n toCsvValue(item.pictureUrl || \"\"),\r\n toCsvValue(item.firstName ? item.firstName + \" \" + item.lastName : \"Anonymous\"),\r\n toCsvValue(item.email),\r\n toCsvValue(formatDateTime(utcToLocal(item.joinDate), \"dd.MM.yyyy hh:mm a\")),\r\n ].join(\",\")\r\n );\r\n rows = [csvHeaders, ...(rows || [])];\r\n const csv = rows.join(\"\\n\");\r\n let blob = new Blob([csv], { type: \"text/csv\" });\r\n let link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = `total-app-users-${format(Date.now(), \"yy.MM.dd-HH:mm\")}.csv`;\r\n link.click();\r\n } catch {\r\n toast.error();\r\n } finally {\r\n setIsExporting(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

Total App Users

\r\n
\r\n \r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { intersection, isArray } from \"lodash\";\r\nimport { useCallback, useEffect, useState } from \"react\";\r\nimport {\r\n DragDropContext,\r\n Draggable,\r\n DraggableProvidedDragHandleProps,\r\n DropResult,\r\n Droppable,\r\n} from \"react-beautiful-dnd\";\r\nimport { AnalyticsApi, ConversionStatistics, RegistrationsView } from \"../../api\";\r\nimport StatsCardSimple from \"../../app/cards/StatsCardSimple\";\r\nimport { AppDownloads, AppReg, ConversionStats, NewAppCustomers, TotalCustomers } from \"../../app/icons/Icons\";\r\nimport { Modal, useModal } from \"../../app/modals/Modal\";\r\nimport { AppDownloadsTable } from \"../../app/tables/analytics/AppDownloadsTable\";\r\nimport { AppOpensTable } from \"../../app/tables/analytics/AppOpensTable\";\r\nimport { AppRegistrationsTable } from \"../../app/tables/analytics/AppRegistrationsTable\";\r\nimport { ConvertedUsersTable } from \"../../app/tables/analytics/ConvertedUsersTable\";\r\nimport { NewCustomersTable } from \"../../app/tables/analytics/NewCustomersTable\";\r\nimport { TotalAppCustomersTable } from \"../../app/tables/analytics/TotalAppCustomersTable\";\r\nimport { TotalAppUsersTable } from \"../../app/tables/analytics/TotalAppUsersTable\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { LocalizedText, useLocalizedText } from \"../../services/localization\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\n\r\nimport \"./TopRow.scss\";\r\n\r\nenum Widgets {\r\n appDownloads = \"appDownloads\",\r\n appRegistrations = \"appRegistrations\",\r\n newAppCustomers = \"newAppCustomers\",\r\n totalAppCustomers = \"totalAppCustomers\",\r\n appOpenings = \"totalAppOpenings\",\r\n totalAppUsers = \"totalAppUsers\",\r\n conversionStats = \"conversionStats\",\r\n}\r\n\r\nfunction createWidget(\r\n texts: LocalizedText,\r\n model: State,\r\n widget: Widgets,\r\n dragHandleProps?: DraggableProvidedDragHandleProps,\r\n onClick?: () => void\r\n) {\r\n switch (widget) {\r\n case Widgets.appDownloads:\r\n return (\r\n }\r\n showDots={true}\r\n dragHandleProps={dragHandleProps}\r\n onClick={onClick}\r\n />\r\n );\r\n case Widgets.appRegistrations:\r\n const androidRatio =\r\n model.registrations.nmRegistrations > 0\r\n ? model.registrations.nmAndroid / model.registrations.nmRegistrations\r\n : 0;\r\n const iosRatio =\r\n model.registrations.nmRegistrations > 0 ? model.registrations.nmIos / model.registrations.nmRegistrations : 0;\r\n\r\n return (\r\n }\r\n showDots={true}\r\n dragHandleProps={dragHandleProps}\r\n items={[\r\n { label: \"iOS\", percentage: Math.round(iosRatio * 100) },\r\n { label: \"Android\", percentage: Math.round(androidRatio * 100) },\r\n ]}\r\n onClick={onClick}\r\n />\r\n );\r\n case Widgets.newAppCustomers:\r\n return (\r\n }\r\n dragHandleProps={dragHandleProps}\r\n onClick={onClick}\r\n />\r\n );\r\n case Widgets.totalAppCustomers:\r\n return (\r\n }\r\n dragHandleProps={dragHandleProps}\r\n onClick={onClick}\r\n />\r\n );\r\n case Widgets.appOpenings:\r\n return (\r\n }\r\n dragHandleProps={dragHandleProps}\r\n onClick={onClick}\r\n />\r\n );\r\n case Widgets.totalAppUsers:\r\n return (\r\n }\r\n dragHandleProps={dragHandleProps}\r\n onClick={onClick}\r\n />\r\n );\r\n case Widgets.conversionStats:\r\n const rate = model.conversions.conversionRate;\r\n const subItem = { label: \"Rate\", percentage: Math.round(rate * 100) };\r\n return (\r\n }\r\n showDots={true}\r\n dragHandleProps={dragHandleProps}\r\n items={[subItem]}\r\n onClick={onClick}\r\n />\r\n );\r\n }\r\n}\r\n\r\ninterface State {\r\n downloads: number;\r\n registrations: RegistrationsView;\r\n newCustomers: number;\r\n totalCustomers: number;\r\n appOpenings: number;\r\n totalUsers: number;\r\n conversions: ConversionStatistics;\r\n selectedWidget: Widgets;\r\n}\r\n\r\nfunction loadWidgetsFromLocalStorage(allowedWidgets: Widgets[]) {\r\n const savedWidgets = localStorage.getItem(\"draggableItems\");\r\n const parsedWidgets = savedWidgets && JSON.parse(savedWidgets);\r\n if (parsedWidgets && isArray(parsedWidgets)) {\r\n const validated = intersection(allowedWidgets, parsedWidgets);\r\n if (validated.length === allowedWidgets.length) {\r\n return parsedWidgets;\r\n }\r\n }\r\n return allowedWidgets;\r\n}\r\n\r\nexport function TopRow() {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters(\"Analytics\");\r\n const deployment = useDeploymentConfig();\r\n const posDisabled = deployment.config.disablePurchaseHistories;\r\n\r\n const defaultWidgets = [\r\n Widgets.appDownloads,\r\n Widgets.appRegistrations,\r\n posDisabled ? Widgets.appOpenings : Widgets.newAppCustomers,\r\n posDisabled ? Widgets.totalAppUsers : Widgets.totalAppCustomers,\r\n Widgets.conversionStats,\r\n ];\r\n\r\n const [widgets, setWidgets] = useState(() => {\r\n return loadWidgetsFromLocalStorage(defaultWidgets);\r\n });\r\n\r\n const { state, mergeState } = useStateEx({\r\n downloads: 0,\r\n registrations: {\r\n nmAndroid: 0,\r\n nmIos: 0,\r\n nmRegistrations: 0,\r\n },\r\n newCustomers: 0,\r\n totalCustomers: 0,\r\n appOpenings: 0,\r\n totalUsers: 0,\r\n conversions: {\r\n total: 0,\r\n conversionRate: 0,\r\n },\r\n selectedWidget: Widgets.appDownloads,\r\n });\r\n\r\n const { openModal, closeModal } = useModal();\r\n\r\n const widgetOnClick = (w: Widgets) => {\r\n mergeState({ selectedWidget: w });\r\n openModal();\r\n };\r\n\r\n const renderModal = useCallback(() => {\r\n switch (state.selectedWidget) {\r\n case Widgets.appRegistrations:\r\n return ;\r\n case Widgets.newAppCustomers:\r\n return ;\r\n case Widgets.totalAppCustomers:\r\n return ;\r\n case Widgets.appOpenings:\r\n return ;\r\n case Widgets.totalAppUsers:\r\n return ;\r\n case Widgets.conversionStats:\r\n return ;\r\n case Widgets.appDownloads:\r\n default:\r\n return ;\r\n }\r\n }, [state.selectedWidget]);\r\n\r\n useEffect(() => {\r\n const api = new AnalyticsApi(getApiConfig());\r\n api.getDownloads({ includeTrend: false, ...filters }).then((result) => {\r\n if (isHttpOk(result)) mergeState({ downloads: result.data.current });\r\n });\r\n api.getRegistrationsByDevice(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ registrations: result.data });\r\n });\r\n api.getConversionStatistics(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ conversions: result.data });\r\n });\r\n\r\n if (posDisabled) {\r\n api.getTotalUsersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ totalUsers: result.data });\r\n });\r\n api.getOpenings({ includeTrend: false, ...filters }).then((result) => {\r\n if (isHttpOk(result)) mergeState({ appOpenings: result.data.current });\r\n });\r\n } else {\r\n api.getNewCustomersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ newCustomers: result.data });\r\n });\r\n api.getTotalCustomersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ totalCustomers: result.data });\r\n });\r\n }\r\n }, [filters, posDisabled, mergeState]);\r\n\r\n const onDragEnd = (result: DropResult) => {\r\n // dropped outside the list\r\n if (!result.destination) {\r\n return;\r\n }\r\n const reorderedItems = reorder(widgets, result.source.index, result.destination.index);\r\n setWidgets(reorderedItems);\r\n localStorage.setItem(\"draggableItems\", JSON.stringify(reorderedItems));\r\n };\r\n\r\n const reorder = (list: Widgets[], startIndex: number, endIndex: number) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {(provided, snapshot) => (\r\n
\r\n {widgets.map((item, index) => (\r\n \r\n {(provided, snapshot) => (\r\n
\r\n {createWidget(texts, state, item, provided.dragHandleProps, () => widgetOnClick(item))}\r\n
\r\n )}\r\n
\r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
{renderModal()}
\r\n
\r\n \r\n );\r\n}\r\n","import Heatmap from \"../app/cards/analytics-heatmap/Heatmap\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { TopNotifications } from \"../app/tables/notifications/TopNotifications\";\r\nimport { TopAreas } from \"../app/tables/TopAreas\";\r\nimport TopBeacons from \"../app/tables/TopBeacons\";\r\nimport TopCustomers from \"../app/tables/TopCustomers\";\r\nimport TopProducts from \"../app/tables/TopProducts\";\r\nimport TopStores from \"../app/tables/TopStores\";\r\nimport { AnalyticsPageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { useLocalizedText } from \"../services/localization\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { useIsSingleStore } from \"../state/globalFilters\";\r\nimport { BottomRow } from \"./analytics/BottomRow\";\r\nimport { TopRow } from \"./analytics/TopRow\";\r\n\r\nimport \"./Analytics.scss\";\r\n\r\nfunction Analytics() {\r\n const texts = useLocalizedText();\r\n const deployment = useDeploymentConfig();\r\n const isSingleStore = useIsSingleStore();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {!deployment.config.disablePurchaseHistories ? : null}\r\n \r\n {isSingleStore ? : }\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\nexport default Analytics;\r\n","import { format } from \"date-fns\";\r\nimport { useCallback } from \"react\";\r\nimport { Frequency, TouchpointsStatistic, TouchpointsStatisticsView } from \"../../api\";\r\nimport { useCachedInstance } from \"../../services/hooks\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { Header, PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./AppTouchpointsTable.scss\";\r\n\r\ntype Props = {\r\n touchpointsView: TouchpointsStatisticsView;\r\n};\r\n\r\nfunction AppTouchpointsTable(props: Props) {\r\n const texts = useLocalizedText();\r\n const { statistics, frequency } = props.touchpointsView;\r\n const touchpoints = useCachedInstance(statistics || []);\r\n\r\n const firstHeader =\r\n frequency === Frequency.Weekly ? texts.appTouchpointsTable.items.startOfWeek : texts.appTouchpointsTable.items.date;\r\n\r\n var secondHeader: Header = { title: \"\" };\r\n if (frequency === Frequency.Daily) secondHeader = texts.appTouchpointsTable.items.day;\r\n else if (frequency === Frequency.Hourly) secondHeader = texts.appTouchpointsTable.items.hour;\r\n else if (frequency === Frequency.Weekly) secondHeader = texts.appTouchpointsTable.items.endOfWeek;\r\n\r\n const headers = [\r\n firstHeader,\r\n secondHeader,\r\n texts.appTouchpointsTable.items.local,\r\n texts.appTouchpointsTable.items.global,\r\n texts.appTouchpointsTable.items.appLogins,\r\n texts.appTouchpointsTable.items.appRegistrations,\r\n texts.appTouchpointsTable.items.appOpens,\r\n texts.appTouchpointsTable.items.beaconContacts,\r\n ];\r\n\r\n const renderRow = (row: TouchpointsStatistic) => {\r\n const date = new Date(row.date);\r\n\r\n var secondCell = \"\";\r\n if (frequency === Frequency.Weekly) {\r\n var endOfWeek = new Date(date);\r\n endOfWeek.setDate(endOfWeek.getDate() + 6);\r\n\r\n const today = new Date();\r\n if (endOfWeek > today) endOfWeek = today;\r\n\r\n secondCell = format(endOfWeek, \"dd.MM.yyyy\");\r\n } else if (frequency === Frequency.Daily) secondCell = format(date, \"EEEE\");\r\n else if (frequency === Frequency.Hourly) secondCell = format(date, \"h aa\");\r\n\r\n return [\r\n format(date, \"dd.MM.yyyy\"),\r\n secondCell,\r\n row.local,\r\n row.global,\r\n row.logins,\r\n row.registrations,\r\n row.opens,\r\n row.beaconContacts,\r\n ];\r\n };\r\n\r\n const filterItems = useCallback(\r\n (offset: number, limit: number) => {\r\n if (touchpoints.length <= offset)\r\n return {\r\n items: [],\r\n count: touchpoints.length,\r\n };\r\n return { items: touchpoints.slice(offset, offset + limit), count: touchpoints.length };\r\n },\r\n [touchpoints]\r\n );\r\n\r\n return (\r\n
\r\n
\r\n

{texts.appTouchpointsTable.title}

\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default AppTouchpointsTable;\r\n","import { Area, AreaChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis } from \"recharts\";\r\n\r\nimport \"./Graph.scss\";\r\n\r\nexport type GraphPoint = {\r\n x: string;\r\n y: number;\r\n};\r\n\r\ntype GraphProps = {\r\n title: string;\r\n titleTooltip: string;\r\n data: GraphPoint[];\r\n yAxisName: string;\r\n manualTicks?: string[];\r\n width?: number;\r\n height?: number;\r\n onClick?: (event: GraphMouseEvent) => void;\r\n};\r\n\r\nexport interface GraphMouseEvent {\r\n chartX: number;\r\n chartY: number;\r\n activeTooltipIndex: number;\r\n // X-axis tick label\r\n activeLabel: string;\r\n activePayload?: ActivePayloadEntity[] | null;\r\n activeCoordinate: ActiveCoordinate;\r\n}\r\nexport interface ActivePayloadEntity {\r\n stroke: string;\r\n fill: string;\r\n fillOpacity: number;\r\n points?: null[] | null;\r\n dataKey: string;\r\n name: string;\r\n color: string;\r\n value: number;\r\n payload: Payload;\r\n}\r\nexport interface Payload {\r\n x: string;\r\n y: number;\r\n}\r\nexport interface ActiveCoordinate {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport function Graph(props: GraphProps) {\r\n return (\r\n
\r\n

\r\n {props.title}\r\n

\r\n \r\n \r\n \r\n \r\n [value, props.yAxisName]} />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { Frequency, TouchpointsStatisticsView } from \"../../api\";\r\nimport Card from \"../../app/cards/Card\";\r\nimport { Graph } from \"../../app/widgets/Graph\";\r\n\r\nexport function TouchpointGraph(props: { tooltip: string; touchpointsView: TouchpointsStatisticsView }) {\r\n const { statistics, frequency } = props.touchpointsView;\r\n const nmOfDatapoints = statistics?.length ?? 0;\r\n\r\n const dateFormat = frequency !== Frequency.Hourly ? \"dd.MM.yyyy\" : nmOfDatapoints <= 24 ? \"ha\" : \"haa d/M\";\r\n\r\n const chartData = statistics?.map((item) => {\r\n return { x: format(new Date(item.date), dateFormat), y: item.total };\r\n });\r\n\r\n var manualDateTicks: string[] | undefined;\r\n\r\n // If more than 3 months of Daily data, set ticks to first day of month\r\n const useManualDateTicks = nmOfDatapoints > 90 && frequency === Frequency.Daily;\r\n if (useManualDateTicks) {\r\n manualDateTicks = statistics\r\n ?.filter((item) => new Date(item.date).getDate() === 1)\r\n .map((item) => format(new Date(item.date), dateFormat));\r\n }\r\n\r\n const title = \"App Touchpoints\";\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { AnalyticsApi, PreviousCurrentValueView, TouchpointsStatisticsView } from \"../../api\";\r\nimport Card from \"../../app/cards/Card\";\r\nimport StatsCardSimple from \"../../app/cards/StatsCardSimple\";\r\nimport StatsCardWithTrend from \"../../app/cards/StatsCardWithTrend\";\r\nimport { Conversion, NewAppCustomers, StoreVisit } from \"../../app/icons/Icons\";\r\nimport AppTouchpointsTable from \"../../app/tables/AppTouchpointsTable\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { calcTrend, formatDecimal } from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getBulletedTooltip } from \"../../services/tooltip\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport { TouchpointGraph } from \"./TouchpointGraph\";\r\n\r\ninterface StateWithoutRevenue {\r\n isLoading: true;\r\n touchpointsView: TouchpointsStatisticsView;\r\n appOpenings: PreviousCurrentValueView;\r\n registrations: PreviousCurrentValueView;\r\n logins: PreviousCurrentValueView;\r\n interactionUplift: number;\r\n interactionRate: number;\r\n storeVisitUplift: number;\r\n}\r\n\r\nexport function TouchpointsWithoutRevenue() {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx({\r\n isLoading: true,\r\n touchpointsView: { statistics: [], frequency: 0 },\r\n appOpenings: { current: 0, previous: 0 },\r\n registrations: { current: 0, previous: 0 },\r\n logins: { current: 0, previous: 0 },\r\n interactionUplift: 0,\r\n interactionRate: 0,\r\n storeVisitUplift: 0,\r\n });\r\n\r\n useEffect(() => {\r\n mergeState({ isLoading: true });\r\n\r\n const config = getApiConfig();\r\n const api = new AnalyticsApi(config);\r\n\r\n api.getOpenings({ includeTrend: true, ...filters }).then((result) => {\r\n if (isHttpOk(result)) mergeState({ appOpenings: result.data });\r\n });\r\n\r\n api.getRegistrations({ includeTrend: true, ...filters }).then((result) => {\r\n if (isHttpOk(result)) mergeState({ registrations: result.data });\r\n });\r\n\r\n api.getLogins({ includeTrend: true, ...filters }).then((result) => {\r\n if (isHttpOk(result)) mergeState({ logins: result.data });\r\n });\r\n\r\n api.getTouchpointsStatistics(filters).then((result) => {\r\n if (isHttpOk(result) && result.data) {\r\n mergeState({ touchpointsView: result.data });\r\n }\r\n });\r\n\r\n api.getInteractionUpliftStatistics(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n interactionUplift: result.data.interactionUplift,\r\n interactionRate: result.data.interactionRate,\r\n });\r\n }\r\n });\r\n\r\n api.getStoreVisitsUplift(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n storeVisitUplift: result.data,\r\n });\r\n }\r\n });\r\n }, [filters, mergeState]);\r\n\r\n return (\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","import { useEffect } from \"react\";\r\nimport { AnalyticsApi, PreviousCurrentValueView, RevenueStatisticsApi, TouchpointsStatisticsView } from \"../../api\";\r\nimport Card from \"../../app/cards/Card\";\r\nimport StatsCardSimple from \"../../app/cards/StatsCardSimple\";\r\nimport StatsCardWithTrend from \"../../app/cards/StatsCardWithTrend\";\r\nimport { Conversion, StoreVisit, Transaction } from \"../../app/icons/Icons\";\r\nimport AppTouchpointsTable from \"../../app/tables/AppTouchpointsTable\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { calcTrend, formatDecimal, useMoneyFormatter } from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getBulletedTooltip } from \"../../services/tooltip\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\nimport { TouchpointGraph } from \"./TouchpointGraph\";\r\n\r\ninterface StateWithRevenue {\r\n isLoading: true;\r\n touchpointsView: TouchpointsStatisticsView;\r\n revenue: PreviousCurrentValueView;\r\n transactions: PreviousCurrentValueView;\r\n conversionUplift: number;\r\n avgTransactionValueUplift: number;\r\n storeVisitUplift: number;\r\n}\r\n\r\nexport function TouchpointsWithRevenue() {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const { state, mergeState } = useStateEx({\r\n isLoading: true,\r\n touchpointsView: { statistics: [], frequency: 0 },\r\n revenue: { previous: 0, current: 0 },\r\n transactions: { previous: 0, current: 0 },\r\n conversionUplift: 0,\r\n avgTransactionValueUplift: 0,\r\n storeVisitUplift: 0,\r\n });\r\n\r\n useEffect(() => {\r\n mergeState({ isLoading: true });\r\n\r\n const config = getApiConfig();\r\n const revenueApi = new RevenueStatisticsApi(config);\r\n const analyticsApi = new AnalyticsApi(config);\r\n\r\n analyticsApi.getTouchpointsStatistics(filters).then((result) => {\r\n if (isHttpOk(result) && result.data) {\r\n mergeState({ touchpointsView: result.data });\r\n }\r\n });\r\n\r\n analyticsApi.getUpliftStatistics(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n conversionUplift: result.data.conversion,\r\n avgTransactionValueUplift: result.data.avgTransactionValue,\r\n storeVisitUplift: result.data.storeVisits,\r\n });\r\n }\r\n });\r\n\r\n revenueApi.getRevenue(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n revenue: result.data,\r\n });\r\n }\r\n });\r\n\r\n revenueApi.getTransactions(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n transactions: result.data,\r\n });\r\n }\r\n });\r\n }, [filters, mergeState]);\r\n\r\n return (\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","import { AnalyticsPageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { useLocalizedText } from \"../services/localization\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { TouchpointsWithoutRevenue } from \"./app-touchpoints/TouchpointsWithoutRevenue\";\r\nimport { TouchpointsWithRevenue } from \"./app-touchpoints/TouchpointsWithRevenue\";\r\n\r\nimport \"./AppTouchpoints.scss\";\r\n\r\nexport default function AppTouchpoints() {\r\n const texts = useLocalizedText();\r\n const deployment = useDeploymentConfig();\r\n return (\r\n
\r\n \r\n {deployment.config.disablePurchaseHistories ? : }\r\n
\r\n );\r\n}\r\n","import { sumBy } from \"lodash\";\r\nimport * as yup from \"yup\";\r\nimport {\r\n BeaconModel,\r\n BlogPostModel,\r\n CampaignModel,\r\n ConstrainHoursModel,\r\n CustomAudienceExpression,\r\n DuringPeriodModel,\r\n FeaturedItemModel,\r\n ForgotPasswordRequest,\r\n IndefiniteModel,\r\n LabelValue,\r\n LocalizationTextModel,\r\n MessageModel,\r\n MessageResend,\r\n OnlyOnceModel,\r\n PocUserModel,\r\n ProductCategoryModel,\r\n ProductModel,\r\n ResendInterval,\r\n RichText,\r\n ScheduleModel,\r\n SegmentGroupModel,\r\n SegmentModel,\r\n StoreModel,\r\n TranslationModel,\r\n ValidityModel,\r\n} from \"../api\";\r\nimport { ResetPasswordModel } from \"../pages/login/forms/ResetPasswordForm\";\r\nimport { isProvided } from \"./objects\";\r\nimport { LoginFormFields } from \"./types\";\r\n\r\nfunction newError(path: string, message: string) {\r\n return new yup.ValidationError(message, undefined, path);\r\n}\r\n\r\nexport const StoreValidator = yup\r\n .object>({\r\n name: yup.string().max(100).required(\"Name is required\").label(\"Name\"),\r\n country: yup.object().required(\"Country is required\").label(\"Country\").typeError(\"Country is required\"),\r\n city: yup.object().required(\"City is required\").label(\"City\").typeError(\"City is required\"),\r\n squareMeter: yup.number().integer().required().label(\"Area\").typeError(\"Area should be a integer\"),\r\n openingDate: yup\r\n .string()\r\n .required(\"Opening date is required\")\r\n .label(\"Opening date\")\r\n .typeError(\"Opening date is required\"),\r\n closingDate: yup.string().notRequired().nullable().label(\"Closing date\"),\r\n email1: yup.string().label(\"Email\").email().max(100).notRequired().nullable(),\r\n email2: yup.string().label(\"Email\").email().max(100).notRequired().nullable(),\r\n phone: yup.string().label(\"Phone\").max(100).nullable(),\r\n fax: yup.string().label(\"Phone\").max(100).nullable(),\r\n zipCode: yup.string().label(\"Zip code\").max(100).nullable(),\r\n storeManager: yup.string().label(\"Store manager\").max(100).nullable(),\r\n street: yup.string().label(\"Street\").max(100).nullable(),\r\n instagramUrl: yup.string().label(\"Instagram url\").max(100).nullable(),\r\n facebookUrl: yup.string().label(\"Facebook url\").max(100).nullable(),\r\n })\r\n .defined();\r\n\r\nexport const BeaconValidator = yup.object>({\r\n name: yup.string().required(\"Name is required\").label(\"Name\"),\r\n uuid: yup\r\n .string()\r\n .required(\"UUID is required\")\r\n .typeError(\"UUID is required\")\r\n .matches(/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/, {\r\n excludeEmptyString: true,\r\n message: \"UUID should be valid\",\r\n })\r\n .label(\"UUID\"),\r\n major: yup.string().required(\"Major is required\").max(16).label(\"Major\"),\r\n minor: yup.string().required(\"Minor is required\").max(16).label(\"Minor\"),\r\n store: yup\r\n .object({\r\n value: yup.number().required(\"Please assign to a Store\"),\r\n })\r\n .required(\"Store is required\")\r\n .label(\"Store\"),\r\n beaconType: yup.string().required(\"Type is required\").typeError(\"Type is required\").max(100).label(\"Type\"),\r\n maxVisitDurationSeconds: yup\r\n .number()\r\n .integer()\r\n .required()\r\n .label(\"Max Contact Duration\")\r\n .typeError(\"Duration should be a integer\"),\r\n area: yup\r\n .object()\r\n .nullable()\r\n .label(\"Area\")\r\n .test(\"area\", \"Area should have a name\", (model) => {\r\n if (typeof model?.value === \"number\") {\r\n return typeof model.label === \"string\" && model.label.length > 0;\r\n }\r\n return true;\r\n }),\r\n});\r\n\r\nexport const CampaignValidator = yup\r\n .object>({\r\n name: yup.string().max(100).required(\"Name is required\").typeError(\"Name is required\").label(\"Name\"),\r\n description: yup.string().notRequired().nullable().label(\"Description\"),\r\n validFrom: yup.string().nullable(),\r\n validTo: yup.string().nullable(),\r\n })\r\n .defined();\r\n\r\nfunction richTextValidator(name: string, message: string) {\r\n return yup\r\n .object()\r\n .test(name, message, (model) => {\r\n if (!!model && typeof model.plain === \"string\" && typeof model.rich === \"string\") {\r\n return model.plain.length > 0 && model.rich.length > 0;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .required();\r\n}\r\n\r\nexport function MessageValidator(languages: string[]) {\r\n return yup.object>({\r\n campaign: yup.object({\r\n value: yup\r\n .number()\r\n .label(\"Campaign\")\r\n .required()\r\n .test(\"campaign\", \"Campaign is required\", (c) => !!c),\r\n }),\r\n translations: yup\r\n .array(\r\n yup\r\n .object({\r\n languageCode: yup.string().required(\"Language is required\"),\r\n title: yup.string().label(\"Title\").max(100).required(\"Title is required\"),\r\n pushMessage: yup.string().label(\"Push Message\").max(100).required(\"Push message is required\"),\r\n offerTitle: yup.string().label(\"Offer Title\").max(100).required(\"Offer Title is required\"),\r\n text: richTextValidator(\"Text\", \"Text is required\"),\r\n callToActionTitle: yup.string().label(\"Call to action text\").notRequired().max(100).nullable(),\r\n callToActionLink: yup.string().label(\"Url\").notRequired().nullable(),\r\n })\r\n .required()\r\n .test(\"translations\", \"Call to action Text and Url must both have values or be empty\", (model) => {\r\n if (!model) return false;\r\n const bothHaveValues = !!model.callToActionTitle && !!model.callToActionLink;\r\n const bothEmpty = !model.callToActionTitle && !model.callToActionLink;\r\n return bothHaveValues || bothEmpty;\r\n })\r\n )\r\n .required(\"Missing translations\")\r\n .test(\"translations\", \"Missing translations\", (model?: TranslationModel[] | null) => {\r\n if (!model || model.length < languages.length) return false;\r\n const receivedCodes = model.map((t) => t.languageCode);\r\n for (const expectedCode of languages) {\r\n if (!receivedCodes.includes(expectedCode)) return false;\r\n }\r\n return true;\r\n }),\r\n imageUrl: yup.string().label(\"Image\").required(\"Image is required\").typeError(\"Image is required\"),\r\n grayImageUrl: yup.string().label(\"Image\").required(\"Image is required\").typeError(\"Image is required\"),\r\n thumbnailUrl: yup.string().label(\"Image\").required(\"Image is required\").typeError(\"Image is required\"),\r\n grayThumbnailUrl: yup.string().label(\"Image\").required(\"Image is required\").typeError(\"Image is required\"),\r\n schedule: ScheduleValidator.required(\"Schedule is required\").typeError(\"Schedule is required\"),\r\n validity: yup\r\n .object({\r\n absoluteDateTime: yup.string().nullable().notRequired(),\r\n monthsAfterSent: yup.number().nullable().notRequired(),\r\n })\r\n .required(\"Validity has to be configured\")\r\n .typeError(\"Validity has to be configured\")\r\n .test(\"validity\", \"Validity has to be configured\", (model) => {\r\n if (!model) return false;\r\n const hasAbs = typeof model.absoluteDateTime === \"string\";\r\n const hasRel = typeof model.monthsAfterSent === \"number\";\r\n return hasAbs !== hasRel;\r\n }),\r\n customAudience: yup.object().test(\"customAudience\", \"Audience is required\", (model) => {\r\n const length = model?.parts?.length || 0;\r\n return length > 0;\r\n }),\r\n });\r\n}\r\n\r\nexport const ScheduleValidator = yup\r\n .object>({\r\n onlyOnce: yup\r\n .object({\r\n dateTime: yup.string().required(),\r\n })\r\n .default(undefined)\r\n .nullable()\r\n .notRequired(),\r\n indefiniteFrom: yup\r\n .object({\r\n dateTime: yup.string().required(),\r\n })\r\n .default(undefined)\r\n .nullable()\r\n .notRequired(),\r\n duringPeriod: yup\r\n .object({\r\n from: yup.string().label(\"From\").required(\"From is required\"),\r\n to: yup.string().label(\"To\").required(\"To is required\"),\r\n })\r\n .default(undefined)\r\n .nullable()\r\n .notRequired(),\r\n constrainHours: yup\r\n .object({\r\n from: yup.number().required(),\r\n to: yup.number().required(),\r\n })\r\n .default(undefined)\r\n .nullable()\r\n .notRequired(),\r\n messageResend: yup\r\n .object({\r\n resendInterval: yup.number().label(\"Resend Interval\").required(),\r\n customNumberOfDays: yup\r\n .number()\r\n .integer()\r\n .min(1)\r\n .label(\"Custom Days\")\r\n .typeError(\"Must be specified\")\r\n .nullable(true)\r\n .transform((_, val) => (val === Number(val) ? val : null)),\r\n })\r\n .nullable()\r\n .notRequired(),\r\n })\r\n .test(\"\", \"\", (model) => {\r\n if (!model) return true;\r\n if (!model.onlyOnce && !model.duringPeriod && !model.indefiniteFrom)\r\n return newError(\"schedule\", \"Schedule is required\");\r\n return true;\r\n })\r\n .test(\"\", \"\", (model) => {\r\n if (!model) return true;\r\n if (!!model.onlyOnce && !!model.duringPeriod && !model.indefiniteFrom)\r\n return newError(\"schedule\", \"Schedule cannot be only once and during period\");\r\n return true;\r\n })\r\n .test(\"\", \"\", (model) => {\r\n if (model?.messageResend?.resendInterval === ResendInterval.CustomDays) {\r\n const nmDays = model.messageResend?.customNumberOfDays;\r\n if (!isProvided(nmDays) || nmDays <= 0) {\r\n return newError(\"messageResend.customNumberOfDays\", \"Custom days must be specified\");\r\n }\r\n }\r\n return true;\r\n });\r\n\r\nexport const SegmentGroupValidator = yup\r\n .object>({\r\n title: yup.string().max(100).required(\"Title is required\").typeError(\"Title is required\").label(\"Title\"),\r\n segments: yup\r\n .array()\r\n .test(\"segments\", \"Customer distribution should total 100%\", (model) => {\r\n if (!model || model.length === 0) return false;\r\n const total = sumBy(model, (m) => m.size);\r\n return total === 100;\r\n })\r\n .required()\r\n .defined(),\r\n })\r\n .defined();\r\n\r\nexport const ForgotPasswordValidator = yup.object>({\r\n email: yup.string().label(\"Email\").required().email().max(100).typeError(\"Email is required\"),\r\n});\r\n\r\nexport const LoginFormValidator = yup.object>({\r\n username: yup.string().label(\"Username\").email().typeError(\"Username is required\").max(100),\r\n password: yup.string().label(\"Password\"),\r\n});\r\n\r\nexport const ResetPasswordValidator = yup\r\n .object>({\r\n password: yup\r\n .string()\r\n .label(\"Password\")\r\n .required(\"Password is required\")\r\n .typeError(\"Password is required\")\r\n .test(\"password\", \"Password should be at least 6 characters\", (value, context) => {\r\n value = value?.trim() || \"\";\r\n if (value.length < 6) return false;\r\n return true;\r\n }),\r\n confirmPassword: yup\r\n .string()\r\n .label(\"Password\")\r\n .required(\"Please confirm password\")\r\n .typeError(\"Please confirm password\"),\r\n })\r\n .test(\"confirmPassword\", \"Passwords should match\", (value, context) => {\r\n if (value && value.password !== value.confirmPassword) {\r\n return newError(\"confirmPassword\", \"Passwords should match\");\r\n }\r\n return true;\r\n });\r\n\r\nexport const ProductCategoryValidator = (languages: string[]) => {\r\n return yup.object>({\r\n url: yup\r\n .string()\r\n .label(\"Url\")\r\n .notRequired()\r\n .nullable()\r\n .test(\"url\", \"Url must start with http:// or https://\", (model) => {\r\n if (model) {\r\n return model.startsWith(\"http://\") || model.startsWith(\"https://\");\r\n }\r\n return true;\r\n }),\r\n imageUrl: yup\r\n .string()\r\n .label(\"Image Url\")\r\n .required(\"Image is required\")\r\n .test(\"url\", \"Image Url must start with http:// or https://\", (model) => {\r\n if (model) {\r\n return model.startsWith(\"http://\") || model.startsWith(\"https://\");\r\n }\r\n return true;\r\n }),\r\n nameLocalizations: LocalizationValidator(languages, \"Name\"),\r\n });\r\n};\r\n\r\nexport const FeaturedItemValidator = (languages: string[]) => {\r\n return yup.object>({\r\n url: yup\r\n .string()\r\n .label(\"URL\")\r\n .notRequired()\r\n .nullable()\r\n .test(\"url\", \"Url must start with http:// or https://\", (model) => {\r\n if (model) {\r\n return model.startsWith(\"http://\") || model.startsWith(\"https://\");\r\n }\r\n return true;\r\n }),\r\n imageUrl: yup\r\n .string()\r\n .label(\"Image Url\")\r\n .required()\r\n .typeError(\"Image is required\")\r\n .test(\"url\", \"Url must start with http:// or https://\", (model) => {\r\n if (model) {\r\n return model.startsWith(\"http://\") || model.startsWith(\"https://\");\r\n }\r\n return true;\r\n }),\r\n textLocalizations: LocalizationValidator(languages, \"Text\", true),\r\n });\r\n};\r\n\r\nexport const BlogPostValidator = (languages: string[]) => {\r\n return yup.object>({\r\n imageUrl: yup.string().label(\"Image Url\").notRequired().nullable(),\r\n authorImageUrl: yup.string().label(\"Author Image Url\").notRequired().nullable(),\r\n date: yup.string().label(\"Date\").required().typeError(\"Date is required\"),\r\n authorName: yup.string().label(\"Author Name\").required().typeError(\"Author name is required\"),\r\n authorDescription: yup.string().label(\"Author Description\").required().typeError(\"Author description is required\"),\r\n titleLocalizations: LocalizationValidator(languages, \"Title\"),\r\n leadTextLocalizations: LocalizationValidator(languages, \"Lead Text\"),\r\n mainTextLocalizations: LocalizationValidator(languages, \"Main Text\"),\r\n });\r\n};\r\n\r\nexport const ProductValidator = (languages: string[]) => {\r\n return yup\r\n .object>({\r\n imageUrl: yup\r\n .string()\r\n .label(\"Image Url\")\r\n .required(\"Image Url is a required field\")\r\n .test(\"imageUrl\", \"Image Url must start with http:// or https://\", (model) => {\r\n if (model) {\r\n return model.startsWith(\"http://\") || model.startsWith(\"https://\");\r\n }\r\n return true;\r\n }),\r\n url: yup\r\n .string()\r\n .label(\"Url\")\r\n .required()\r\n .typeError(\"Url is required\")\r\n .test(\"url\", \"Url must start with http:// or https://\", (model) => {\r\n if (model) {\r\n return model.startsWith(\"http://\") || model.startsWith(\"https://\");\r\n }\r\n return true;\r\n }),\r\n categoryId: yup.number().label(\"Category\").required().typeError(\"Category is required\"),\r\n currency: yup.string().label(\"Currency\").required().typeError(\"Currency is required\"),\r\n fromPrice: yup.number().label(\"From Price\").min(0, \"From should be greater than 0\").notRequired().nullable(true),\r\n toPrice: yup.number().label(\"To Price\").min(0, \"To should be greater than 0\").notRequired().nullable(true),\r\n nameLocalizations: LocalizationValidator(languages, \"Name\"),\r\n descriptionLocalizations: LocalizationValidator(languages, \"Description\", true),\r\n })\r\n .test(\"custom\", \"\", (model) => {\r\n if (typeof model?.fromPrice === \"number\" && typeof model?.toPrice === \"number\") {\r\n if (model.fromPrice >= model.toPrice) return newError(\"toPrice\", \"To price must be higher\");\r\n }\r\n return true;\r\n });\r\n};\r\n\r\nconst LocalizationValidator = (requiredLanguages: string[], field: string, optional: boolean = false) => {\r\n const testText = (text: string | null | undefined) => !!text || optional;\r\n return yup\r\n .array(\r\n yup\r\n .object({\r\n languageCode: yup.string().required(`Language is required for ${field}`),\r\n text: yup.string().label(field).optional().test(field, `${field} is required`, testText),\r\n })\r\n .required()\r\n )\r\n .required(`Missing translations for ${field}`)\r\n .test(\"translations\", `Missing translations for ${field}`, (model?: LocalizationTextModel[] | null) => {\r\n let temp = model || [];\r\n return requiredLanguages.every((r) => temp.some((m) => m.languageCode === r));\r\n })\r\n .test(\"translations\", `Optional ${field} requires all languages to be filled or empty!`, (model) => {\r\n if (!optional) return true;\r\n if (!model) return false;\r\n\r\n const texts = model.map((m) => m.text);\r\n const allTextsEmpty = texts.every((txt) => !txt);\r\n const allTextsProvided = texts.every((txt) => txt);\r\n\r\n return allTextsEmpty || allTextsProvided;\r\n });\r\n};\r\n\r\nexport const PocUserValidator = yup\r\n .object>({\r\n firstName: yup.string().required(\"First Name is required\").typeError(\"First Name is required\").label(\"First Name\"),\r\n lastName: yup.string().required(\"Last Name is required\").typeError(\"Last Name is required\").label(\"Last Name\"),\r\n email: yup.string().label(\"Email\").required().email().max(100).typeError(\"Email is required\"),\r\n expirationDate: yup\r\n .string()\r\n .label(\"Expiration Date\")\r\n .required()\r\n .typeError(\"Expiration Date is required\")\r\n .test(\"expirationDate\", \"Expiration date must be in the future\", (value, context) => {\r\n if (value) {\r\n const date = new Date(value);\r\n if (date) {\r\n const now = new Date();\r\n const isValid = now < date;\r\n return isValid;\r\n }\r\n }\r\n return false;\r\n }),\r\n })\r\n .defined();\r\n","import { FocusEventHandler } from \"react\";\r\nimport { ChangeEventHandler, ForwardedRef, forwardRef } from \"react\";\r\nimport { FieldErrors } from \"react-hook-form\";\r\nimport { ValidationError } from \"../widgets/ValidationError\";\r\n\r\nimport \"./Checkbox.scss\";\r\n\r\ntype CheckBoxProps = {\r\n name: string;\r\n label: string;\r\n value?: boolean;\r\n className?: string;\r\n readOnly?: boolean;\r\n errorLabel?: string;\r\n errors?: FieldErrors;\r\n onChange?: ChangeEventHandler;\r\n onBlur?: FocusEventHandler;\r\n onCheckedChange?: (value: boolean) => void;\r\n};\r\n\r\nfunction CheckboxRender(props: CheckBoxProps, inputRef: ForwardedRef) {\r\n const { value, name, className, label, errorLabel, readOnly, onBlur, onChange, onCheckedChange, errors = {} } = props;\r\n\r\n const error = name.split(\".\").reduce((errors, name) => errors && errors[name], errors);\r\n\r\n const renderErrors = () => {\r\n if (!error) {\r\n return null;\r\n }\r\n\r\n const fieldName = errorLabel || \"Field\";\r\n let message: string;\r\n switch (error.type) {\r\n case \"required\":\r\n message = `${fieldName} is required`;\r\n break;\r\n default:\r\n message = error.message || `${fieldName} is invalid`;\r\n break;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n const required = true;\r\n\r\n const classes = [\"form-checkbox\"];\r\n if (className) classes.push(className);\r\n\r\n const handleChange: ChangeEventHandler = (e) => {\r\n if (onChange) {\r\n onChange(e);\r\n }\r\n if (onCheckedChange) {\r\n onCheckedChange(e.currentTarget.checked);\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default forwardRef(CheckboxRender);\r\n","import { AxiosResponse } from \"axios\";\r\nimport { ErrorOption, FieldErrors, FieldPath, FieldValues, Path, UseFormSetError } from \"react-hook-form\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { ResultStatus } from \"../../api\";\r\nimport { BadRequestResponse, ServiceResult } from \"../../services/types\";\r\nimport { ValidationMessage } from \"../widgets/Alerts\";\r\n\r\nexport interface FormModalProps {\r\n initial: TModel | null;\r\n onSave: (model: TModel) => ResultType | Promise;\r\n onCancel: () => void;\r\n onDelete?: (model: TModel) => ResultType | Promise;\r\n onChange?: () => void;\r\n}\r\n\r\ntype Error = BadRequestResponse | ServiceResult | void;\r\n\r\nexport interface ResultType {\r\n success: boolean;\r\n result?: AxiosResponse;\r\n}\r\n\r\nexport const Result = {\r\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\r\n Ok: { success: true } as ResultType,\r\n Invalid: (result?: AxiosResponse): ResultType => {\r\n return { success: false, result: result };\r\n },\r\n};\r\n\r\nfunction isHttpBadRequest(result: AxiosResponse): result is AxiosResponse {\r\n const temp = result.data as BadRequestResponse;\r\n return (\r\n result.status >= 400 &&\r\n result.status <= 499 &&\r\n temp !== undefined &&\r\n temp.errors !== undefined &&\r\n temp.title !== undefined\r\n );\r\n}\r\n\r\nfunction isServiceResultError(result: AxiosResponse): result is AxiosResponse> {\r\n const temp = result as AxiosResponse>;\r\n return temp.data.success === false && temp.data.status !== undefined && temp.data.status !== ResultStatus.Success;\r\n}\r\n\r\nfunction convertBadRequestToFieldErrors(result: BadRequestResponse) {\r\n const errors: FieldErrors = {};\r\n if (result.errors) {\r\n for (const key of Object.keys(result.errors)) {\r\n for (const message of result.errors[key]) {\r\n if (message.length > 0) {\r\n //TODO - remove this ugly hack\r\n if (key === \"UUID\") {\r\n errors[\"uuid\"] = {\r\n message: message,\r\n };\r\n } else {\r\n const lowerKey = key\r\n .split(\".\")\r\n .map((k) => k[0].toLowerCase() + k.slice(1))\r\n .join(\".\");\r\n\r\n errors[lowerKey] = {\r\n message: message,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n}\r\n\r\nexport function showErrors(\r\n result: ResultType,\r\n setError: ((path: FieldPath, error: ErrorOption) => void) | UseFormSetError\r\n) {\r\n if (result.success) {\r\n throw new Error(\"showErrors called on a result which is not error!\");\r\n }\r\n if (process.env.NODE_ENV === \"development\") {\r\n // eslint-disable-next-line no-console\r\n console.error(result);\r\n }\r\n\r\n if (result.result) {\r\n const response = result.result;\r\n\r\n if (isHttpBadRequest(response)) {\r\n const errors = convertBadRequestToFieldErrors(response.data);\r\n const fields = Object.keys(errors);\r\n if (fields.length > 0) {\r\n for (const field of fields) {\r\n setError(field as Path, errors[field]);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n if (isServiceResultError(response)) {\r\n if (response.data.message) {\r\n alert.error();\r\n return;\r\n }\r\n }\r\n\r\n alert.error();\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-internal-modules\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { find } from \"lodash\";\r\nimport { useCallback } from \"react\";\r\nimport { FieldError, useController, useForm } from \"react-hook-form\";\r\nimport { BeaconModel } from \"../../api\";\r\nimport { useEventHandler } from \"../../services/hooks\";\r\nimport { BeaconValidator } from \"../../services/validators\";\r\nimport { useAccessControl } from \"../../state/authentication\";\r\nimport { useIsSingleStore } from \"../../state/globalFilters\";\r\nimport Checkbox from \"../forms/Checkbox\";\r\nimport { FormInput, Input } from \"../forms/Input\";\r\nimport { FormSelect, Option, Select } from \"../forms/Select\";\r\nimport { FormModalProps, showErrors } from \"./utils\";\r\n\r\nimport \"./EditBeacon.scss\";\r\n\r\nconst INVALID_UUID_CHARS = /[^A-Fa-f0-9]+/g;\r\nexport function formatUUID(value: string) {\r\n if (value.length === 0) return value;\r\n value = value.replaceAll(INVALID_UUID_CHARS, \"\").toLowerCase();\r\n const parts = [];\r\n if (value.length > 8) {\r\n parts.push(value.substring(0, 8));\r\n value = value.substring(8);\r\n if (value.length > 4) {\r\n parts.push(value.substring(0, 4));\r\n value = value.substring(4);\r\n if (value.length > 4) {\r\n parts.push(value.substring(0, 4));\r\n value = value.substring(4);\r\n if (value.length > 4) {\r\n parts.push(value.substring(0, 4));\r\n value = value.substring(4);\r\n if (value.length > 12) {\r\n parts.push(value.substring(0, 12));\r\n value = \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (value.length > 0) {\r\n parts.push(value);\r\n }\r\n value = parts.join(\"-\");\r\n return value;\r\n}\r\n\r\ntype EditBeaconProps = FormModalProps & {\r\n stores: Option[];\r\n areas: Option[];\r\n hideDeleteButton: boolean;\r\n};\r\n\r\nfunction EditBeacon({ hideDeleteButton, onChange, onSave, onDelete, ...props }: EditBeaconProps) {\r\n const isSingleStore = useIsSingleStore();\r\n const onChangeHandler = useEventHandler(onChange);\r\n const onSaveHandler = useEventHandler(onSave);\r\n const onDeleteHandler = useEventHandler(onDelete);\r\n const permissions = useAccessControl();\r\n const canDeleteBeacons = permissions.beacons?.remove;\r\n\r\n var defaultValues = props.initial || {};\r\n // If suite is single store, set store\r\n if (isSingleStore && props.stores.length > 0) {\r\n const store = props.stores[0];\r\n if (typeof store.value === \"number\") {\r\n const defaultStore = { value: store.value, label: store.label };\r\n defaultValues = { ...defaultValues, store: defaultStore };\r\n }\r\n }\r\n\r\n const { register, handleSubmit, formState, control, setError, watch } = useForm({\r\n defaultValues: defaultValues,\r\n resolver: yupResolver(BeaconValidator),\r\n });\r\n\r\n const { field: areaField } = useController({\r\n name: \"area\",\r\n control: control,\r\n });\r\n\r\n watch(\r\n useCallback(() => {\r\n if (onChangeHandler.current) {\r\n onChangeHandler.current();\r\n }\r\n }, [onChangeHandler])\r\n );\r\n\r\n const handleSave = async (model: BeaconModel) => {\r\n const result = await onSaveHandler.current(model);\r\n if (!result.success) {\r\n showErrors(result, setError);\r\n }\r\n };\r\n\r\n const handleDelete = async () => {\r\n if (!onDeleteHandler.current) return;\r\n if (props.initial === null) return;\r\n const result = await onDeleteHandler.current(props.initial);\r\n if (!result.success) {\r\n showErrors(result, setError);\r\n }\r\n };\r\n\r\n const typeOptions = [\r\n { label: \"beaconsmind Track\", value: \"beaconsmind Track\" },\r\n { label: \"Battery Beacon\", value: \"Battery Beacon\" },\r\n ];\r\n\r\n if (props.initial?.beaconType && !typeOptions.find((v) => v.value === props.initial?.beaconType)) {\r\n typeOptions.push({\r\n label: props.initial.beaconType,\r\n value: props.initial.beaconType,\r\n });\r\n }\r\n\r\n const errors = formState.errors;\r\n\r\n return (\r\n
\r\n
\r\n

Beacon Editor

\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 if (value === null) {\r\n areaField.onChange(null);\r\n } else if (value === 0) {\r\n areaField.onChange({\r\n label: \"\",\r\n value: 0,\r\n });\r\n } else {\r\n const option = find(props.areas, (o) => o.value === value)!;\r\n areaField.onChange({\r\n label: option.label,\r\n value: option.value,\r\n });\r\n }\r\n }}\r\n />\r\n {areaField.value?.value === 0 ? (\r\n {\r\n areaField.onChange({\r\n label: event.target.value,\r\n value: 0,\r\n });\r\n }}\r\n />\r\n ) : null}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {onDeleteHandler.current && canDeleteBeacons && !hideDeleteButton && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default EditBeacon;\r\n","import { AxiosResponse } from \"axios\";\r\nimport { format, parseJSON } from \"date-fns\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { AreaView, BeaconModel, BeaconView, BeaconsApi, StoreLookupView, StoresApi } from \"../api\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { Select } from \"../app/forms/Select\";\r\nimport { Download } from \"../app/icons/Icons\";\r\nimport EditBeacon from \"../app/modals/EditBeacon\";\r\nimport { Modal, useModal } from \"../app/modals/Modal\";\r\nimport { Result } from \"../app/modals/utils\";\r\nimport { AlertContent, ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport { highlight } from \"../app/widgets/HighlightedString\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { PaginatedTable, PaginatedTableApi } from \"../app/widgets/PaginatedTable\";\r\nimport { confirmDialog } from \"../services/alerts\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { formatPreciseDuration } from \"../services/format\";\r\nimport { useCachedInstance, useStateEx } from \"../services/hooks\";\r\nimport { getTooltip } from \"../services/tooltip\";\r\nimport { ServiceResult } from \"../services/types\";\r\nimport { useAccessControl } from \"../state/authentication\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { useGlobalFilters, useIsSingleStore } from \"../state/globalFilters\";\r\nimport { useGlobalSearch } from \"../state/globalSearch\";\r\n\r\nimport \"./Beacons.scss\";\r\n\r\ntype State = {\r\n model: BeaconModel | null;\r\n isNew: boolean;\r\n totalCount: number;\r\n stores: StoreLookupView[];\r\n areas: AreaView[];\r\n storeFilter: number[];\r\n};\r\n\r\nfunction Beacons() {\r\n const apiRef = useRef(null);\r\n const { config } = useDeploymentConfig();\r\n const { search } = useGlobalSearch();\r\n const { openModal, closeModal } = useModal();\r\n const { state, mergeState } = useStateEx({\r\n totalCount: 0,\r\n stores: [],\r\n areas: [],\r\n storeFilter: [],\r\n model: null,\r\n isNew: true,\r\n });\r\n const cachedStoreFilter = useCachedInstance(state.storeFilter);\r\n\r\n const permissions = useAccessControl();\r\n const canAddBeacon = permissions.beacons?.create;\r\n const canUpdateBeacon = permissions.beacons?.update;\r\n\r\n const loadStoresAndAreas = useCallback(() => {\r\n const config = getApiConfig();\r\n const storesApi = new StoresApi(config);\r\n const beaconsApi = new BeaconsApi(config);\r\n storesApi.getForLookup().then((result) => {\r\n if (isHttpOk(result)) mergeState({ stores: result.data });\r\n });\r\n beaconsApi.getAllAreas().then((result) => {\r\n if (isHttpOk(result)) mergeState({ areas: result.data });\r\n });\r\n }, [mergeState]);\r\n\r\n const loadPage = useCallback(\r\n (offset: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new BeaconsApi(config);\r\n const stores = cachedStoreFilter.length > 0 ? cachedStoreFilter : undefined;\r\n return api.getAll({ search: search, skip: offset, limit: limit, stores: stores });\r\n },\r\n [search, cachedStoreFilter]\r\n );\r\n\r\n useEffect(() => {\r\n loadStoresAndAreas();\r\n }, [loadStoresAndAreas]);\r\n\r\n const [formModified, setFormModified] = useState(false);\r\n const changed = () => setFormModified(true);\r\n\r\n const renderCells = (model: BeaconView, index: number) => {\r\n const editBeacon = async () => {\r\n const config = getApiConfig();\r\n const api = new BeaconsApi(config);\r\n try {\r\n const response = await api.getOne({\r\n beaconId: model.id!,\r\n });\r\n mergeState({\r\n model: response.data,\r\n isNew: false,\r\n });\r\n openModal();\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n const lastContact = model.lastContact ? (\r\n
\r\n {format(parseJSON(model.lastContact), \"hh:mm a\")}\r\n
\r\n {format(parseJSON(model.lastContact), \"dd MMM yyyy\")}\r\n
\r\n ) : (\r\n Never\r\n );\r\n\r\n const classNames = [\"beacon-name\"];\r\n if (canUpdateBeacon) classNames.push(\"link\");\r\n\r\n return [\r\n \r\n {highlight(model.name, search)}\r\n ,\r\n \r\n {highlight(model.areaName, search)}\r\n
\r\n {highlight(model.storeName, search)}\r\n
,\r\n highlight(model.description, search),\r\n highlight(model.uuid, search),\r\n highlight(model.major, search),\r\n highlight(model.minor, search),\r\n formatPreciseDuration(model.maxVisitDurationSeconds),\r\n model.visitsLast7Days,\r\n lastContact,\r\n ];\r\n };\r\n\r\n const openAddModal = () => {\r\n mergeState({ isNew: true });\r\n openModal();\r\n };\r\n\r\n const handleCancel = () => {\r\n if (formModified) confirmDialog(\"Form has unsaved changes. Discard all?\", closeModalAndReset);\r\n else closeModalAndReset();\r\n };\r\n\r\n const closeModalAndReset = () => {\r\n setFormModified(false);\r\n mergeState({ model: null });\r\n closeModal();\r\n };\r\n\r\n const deleteBeacon = async (model: BeaconModel) => {\r\n const config = getApiConfig();\r\n const api = new BeaconsApi(config);\r\n if (!model.id) return Result.Invalid();\r\n try {\r\n const message = `'${model.name}' marked for deletion. Beacon and contacts will be deleted soon.`;\r\n const result = await api._delete({\r\n beaconId: model.id,\r\n });\r\n if (isHttpOk(result)) {\r\n mergeState({ model: null });\r\n closeModal();\r\n loadStoresAndAreas();\r\n alert.success();\r\n if (apiRef.current) apiRef.current.refreshPage();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n return Result.Ok;\r\n };\r\n\r\n const saveBeacon = async (model: BeaconModel) => {\r\n const config = getApiConfig();\r\n const api = new BeaconsApi(config);\r\n\r\n try {\r\n let message: string;\r\n let result: AxiosResponse>;\r\n\r\n if (model.id === undefined || model.id === null) {\r\n message = `Beacon '${model.name}' created.`;\r\n result = await api.create({\r\n beaconModel: model,\r\n });\r\n } else {\r\n message = `Beacon '${model.name}' saved.`;\r\n result = await api.update({\r\n beaconId: model.id,\r\n beaconModel: model,\r\n });\r\n }\r\n\r\n if (!isHttpOk(result)) {\r\n return Result.Invalid(result);\r\n }\r\n\r\n closeModalAndReset();\r\n loadStoresAndAreas();\r\n if (apiRef.current) apiRef.current.refreshPage();\r\n\r\n const warnings = await api.getWarnings();\r\n\r\n alert.success();\r\n if (isHttpOk(warnings)) {\r\n if (warnings.data.showTooManyRegionsWarning) {\r\n alert.warn(\r\n \r\n );\r\n }\r\n }\r\n\r\n return Result.Ok;\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Invalid();\r\n };\r\n\r\n // store options for new beacons, contains only open stores\r\n const storeOptions = state.stores.map((s) => ({\r\n label: s.name || \"Unknown\",\r\n value: s.id,\r\n }));\r\n const disableAdd = state.stores.length === 0;\r\n const addButtonTooltip = disableAdd ? \"Add at least one store before adding beacons.\" : \"Click to add new beacon.\";\r\n\r\n // store options for top filter\r\n const { state: filters } = useGlobalFilters();\r\n const filterStores = filters.topFilterStores;\r\n\r\n const areaOptions = state.areas.map((a) => ({\r\n label: a.name || \"Unknown\",\r\n value: a.id,\r\n }));\r\n const isSingleStore = useIsSingleStore();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {canAddBeacon && (\r\n \r\n + New Beacon\r\n \r\n )}\r\n {!isSingleStore && (\r\n mergeState({ storeFilter: values as number[] })}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n mergeState({ totalCount: count })}\r\n />\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Beacons;\r\n","import { AxiosResponse } from \"axios\";\r\nimport { range } from \"lodash\";\r\nimport { MouseEventHandler, Ref, useCallback, useImperativeHandle } from \"react\";\r\nimport { isAxiosResponse } from \"../../services/api\";\r\nimport { DataPage } from \"../../services/types\";\r\nimport Card from \"../cards/Card\";\r\nimport { AddNew } from \"../icons/Icons\";\r\nimport { PaginatedViewApi, usePaginatedView } from \"./PaginatedView\";\r\nimport { Pagination } from \"./Pagination\";\r\n\r\nimport \"./PaginatedCards.scss\";\r\n\r\nexport type PaginatedCardsApi = PaginatedViewApi;\r\n\r\ntype DataSourceReturn = Promise>> | Promise> | DataPage;\r\n\r\ntype PaginatedCardsProps = {\r\n apiRef?: Ref;\r\n pageSize?: number;\r\n onAddNew?: MouseEventHandler;\r\n dataSource: (offset: number, limit: number) => DataSourceReturn;\r\n loadedCardFactory: (model: TModel, index: number) => JSX.Element;\r\n loadingCardFactory: (index: number) => JSX.Element;\r\n minLoadingTimeMs?: number;\r\n hidePagination?: boolean;\r\n hideAddNew?: boolean;\r\n forceShowProgress?: boolean;\r\n onTotalCountChange?: (count: number) => void;\r\n};\r\n\r\nfunction getNmPages(totalCount: number, pageSize: number, hideAddNew: boolean) {\r\n let rest = totalCount - pageSize;\r\n if (!hideAddNew) rest += 1;\r\n if (rest <= 0) return 1;\r\n return 1 + Math.ceil(rest / pageSize);\r\n}\r\n\r\nfunction getLimitSkip(page: number, pageSize: number, hideAddNew: boolean) {\r\n let limit = pageSize;\r\n if (page === 0 && !hideAddNew) {\r\n limit -= 1;\r\n }\r\n let skip = page * pageSize;\r\n if (page !== 0 && !hideAddNew) {\r\n skip -= 1;\r\n }\r\n return { limit, skip };\r\n}\r\n\r\nexport function PaginatedCards(props: PaginatedCardsProps) {\r\n const pageSize = props.pageSize || 6;\r\n const hideAddNew = props.hideAddNew || false;\r\n const dataSource = props.dataSource;\r\n\r\n const loadCallback = useCallback(\r\n async (page: number) => {\r\n const { limit, skip } = getLimitSkip(page, pageSize, hideAddNew);\r\n const result = await dataSource(skip, limit);\r\n const data = isAxiosResponse>(result) ? result.data : result;\r\n return data;\r\n },\r\n [dataSource, pageSize, hideAddNew]\r\n );\r\n\r\n const { state, refreshPage, loadPage, reset } = usePaginatedView({\r\n load: loadCallback,\r\n forceShowProgress: props.forceShowProgress,\r\n minLoadingTimeMs: props.minLoadingTimeMs,\r\n onTotalCountChange: props.onTotalCountChange,\r\n });\r\n\r\n const { limit, skip } = getLimitSkip(state.currentPage, pageSize, hideAddNew);\r\n const pageCount = getNmPages(state.totalCount, pageSize, hideAddNew);\r\n const showAddNewCard = !hideAddNew && state.currentPage === 0;\r\n\r\n const renderCards = () => {\r\n if (state.loading) {\r\n return range(0, limit).map(props.loadingCardFactory);\r\n } else {\r\n return state.items.map((c, i) => {\r\n return props.loadedCardFactory(c, skip + i);\r\n });\r\n }\r\n };\r\n\r\n useImperativeHandle(\r\n props.apiRef,\r\n () => {\r\n return {\r\n refreshPage,\r\n loadPage,\r\n reset,\r\n };\r\n },\r\n [refreshPage, loadPage, reset]\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {showAddNewCard && (\r\n \r\n \r\n \r\n )}\r\n {renderCards()}\r\n
\r\n {!props.hidePagination && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { MouseEventHandler } from \"react\";\r\nimport * as api from \"../../api\";\r\nimport Card from \"./Card\";\r\nimport { highlight } from \"../widgets/HighlightedString\";\r\n\r\nimport \"./BlogPostCard.scss\";\r\n\r\ninterface ComponentProps extends api.BlogPostView {\r\n highlightedText?: string;\r\n onEditClick?: MouseEventHandler;\r\n onDeleteClick?: MouseEventHandler;\r\n}\r\n\r\nexport function BlogPostCard(props: ComponentProps) {\r\n const title = props.title;\r\n const leadText = props.leadText;\r\n const articleText = props.articleText;\r\n const imageUrl = props.imageUrl;\r\n const imageNode = imageUrl && \"Blog;\r\n\r\n return (\r\n \r\n
{imageNode}
\r\n
\r\n \r\n

{highlight(title, props.highlightedText)}

\r\n

{highlight(leadText, props.highlightedText)}

\r\n

{highlight(articleText, props.highlightedText)}

\r\n

By: {highlight(props.authorName, props.highlightedText)}, {highlight(props.authorDescription, props.highlightedText)}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { FieldError, UseFormReturn, useFormState } from \"react-hook-form\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { ValidationMessage } from \"../widgets/Alerts\";\r\n\r\ntype FieldErrorPath = FieldError & { path: string };\r\n\r\ntype state = {\r\n error: FieldErrorPath | undefined;\r\n shouldDisplay: boolean;\r\n};\r\n\r\nfunction isFieldError(item: any): item is FieldError {\r\n return \"type\" in item && (\"message\" in item || \"ref\" in item || \"types\" in item);\r\n}\r\n\r\nfunction firstError(item?: FieldError | any, path?: string): FieldErrorPath | undefined {\r\n if (!item) return undefined;\r\n if (isFieldError(item)) {\r\n return {\r\n ...item,\r\n path: path || \"\",\r\n };\r\n }\r\n for (const key of Object.keys(item)) {\r\n const maybeError = item[key];\r\n if (maybeError) {\r\n const deepError = firstError(maybeError, path ? `${path}.${key}` : key);\r\n if (deepError) return deepError;\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\ntype Props = {\r\n control: UseFormReturn[\"control\"];\r\n};\r\n\r\nexport function AlertMissingValidationErrors(props: Props) {\r\n const { errors, isSubmitting } = useFormState({\r\n control: props.control,\r\n });\r\n\r\n const { state, mergeState } = useStateEx({\r\n error: undefined,\r\n shouldDisplay: true,\r\n });\r\n\r\n useEffect(() => {\r\n // Allow validation alert to be repeated if user submits\r\n if (isSubmitting) mergeState({ shouldDisplay: true });\r\n }, [isSubmitting, mergeState]);\r\n\r\n // If error has changed, save it\r\n const optionalError = firstError(errors);\r\n if (optionalError?.path !== state.error?.path) mergeState({ error: optionalError, shouldDisplay: false });\r\n\r\n useEffect(() => {\r\n const error = state.error;\r\n if (!error) return;\r\n\r\n // Show alert if no validation errors in form\r\n const visibleFormErrors = [...document.querySelectorAll(\".error\")];\r\n if (visibleFormErrors.length === 0 && state.shouldDisplay) {\r\n const text = error.message || error.path + \" is invalid!\";\r\n alert.error();\r\n mergeState({ shouldDisplay: false });\r\n }\r\n }, [state, mergeState]);\r\n\r\n return <>;\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport { FieldError, Path, useController, UseFormReturn } from \"react-hook-form\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { ImageApi } from \"../../api\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { Upload } from \"../icons/Icons\";\r\nimport { ServerUnavailable } from \"../widgets/Alerts\";\r\nimport Loading from \"../widgets/Loading\";\r\nimport { ValidationError } from \"../widgets/ValidationError\";\r\n\r\nimport \"./ImageUpload.scss\";\r\n\r\ninterface Options {\r\n name: Path;\r\n thumbnailName?: Path;\r\n grayscaleName?: Path;\r\n grayscaleThumbnailName?: Path;\r\n control: UseFormReturn[\"control\"];\r\n onUploaded?: () => void;\r\n skipResizing?: boolean;\r\n}\r\n\r\ntype State = {\r\n errorMessage: string;\r\n invalid: boolean;\r\n uploadInProgress: boolean;\r\n};\r\n\r\nconst isAcceptableFileList = (files: FileList): boolean => {\r\n if (files.length !== 1) {\r\n return false;\r\n }\r\n const fileType = files[0].type;\r\n return fileType === \"image/png\" || fileType === \"image/jpeg\";\r\n};\r\n\r\nfunction useImageUploading(options: Options) {\r\n const { state, mergeState } = useStateEx({\r\n errorMessage: \"\",\r\n invalid: false,\r\n uploadInProgress: false,\r\n });\r\n\r\n const useImageController = (name?: Path) => {\r\n const controller = useController({ name: name || (\"____unused\" as any), control: options.control });\r\n return name && controller;\r\n };\r\n\r\n const image = useImageController(options.name)!;\r\n const thumbnail = useImageController(options.thumbnailName);\r\n const grayscale = useImageController(options.grayscaleName);\r\n const grayscaleThumbnail = useImageController(options.grayscaleThumbnailName);\r\n\r\n const isInvalid = () => {\r\n return (\r\n state.invalid ||\r\n image.fieldState.invalid ||\r\n thumbnail?.fieldState.invalid ||\r\n grayscale?.fieldState.invalid ||\r\n grayscaleThumbnail?.fieldState.invalid\r\n );\r\n };\r\n\r\n const errorMessage: () => FieldError | undefined = () => {\r\n if (state.errorMessage) {\r\n return {\r\n type: \"validation\",\r\n message: state.errorMessage,\r\n };\r\n }\r\n return (\r\n image.fieldState.error ||\r\n thumbnail?.fieldState.error ||\r\n grayscale?.fieldState.error ||\r\n grayscaleThumbnail?.fieldState.error\r\n );\r\n };\r\n\r\n const handleNonValidationError = (error: any) => {\r\n alert.error();\r\n mergeState({\r\n uploadInProgress: false,\r\n invalid: true,\r\n errorMessage: \"Image was not uploaded! Please try again.\",\r\n });\r\n };\r\n\r\n const uploadFile = async (files: FileList) => {\r\n if (!isAcceptableFileList(files)) {\r\n mergeState({\r\n invalid: true,\r\n errorMessage: \"Invalid file type!\",\r\n });\r\n return;\r\n }\r\n\r\n const file = files[0];\r\n\r\n mergeState({ uploadInProgress: true, invalid: false });\r\n\r\n const config = getApiConfig();\r\n const api = new ImageApi(config);\r\n\r\n try {\r\n const result = await api.create({\r\n image: file,\r\n settings: {\r\n generateGrayscale: grayscale !== undefined,\r\n generateThumbnail: thumbnail !== undefined,\r\n generateThumbnailGrayscale: grayscaleThumbnail !== undefined,\r\n skipResizing: options.skipResizing,\r\n },\r\n });\r\n\r\n if (result.status === 200 && result.data) {\r\n mergeState({\r\n errorMessage: \"\",\r\n invalid: false,\r\n uploadInProgress: false,\r\n });\r\n\r\n /* eslint-disable no-console */\r\n\r\n if (result.data.imagePath) {\r\n image.field.onChange(result.data.imagePath);\r\n image.field.onBlur();\r\n } else {\r\n console.error(\"Did not receive image url!\");\r\n }\r\n\r\n if (thumbnail) {\r\n if (result.data.thumbnailPath) {\r\n thumbnail.field.onChange(result.data.thumbnailPath);\r\n thumbnail.field.onBlur();\r\n } else {\r\n console.error(\"Did not receive thumbnail url!\");\r\n }\r\n }\r\n\r\n if (grayscale) {\r\n if (result.data.imageGrayscalePath) {\r\n grayscale.field.onChange(result.data.imageGrayscalePath);\r\n grayscale.field.onBlur();\r\n } else {\r\n console.error(\"Did not receive grayscale url!\");\r\n }\r\n }\r\n\r\n if (grayscaleThumbnail) {\r\n if (result.data.thumbnailGrayscalePath) {\r\n grayscaleThumbnail.field.onChange(result.data.thumbnailGrayscalePath);\r\n grayscaleThumbnail.field.onBlur();\r\n } else {\r\n console.error(\"Did not receive thumbnail grayscale url!\");\r\n }\r\n }\r\n\r\n if (options.onUploaded) options.onUploaded();\r\n } else {\r\n handleNonValidationError(result);\r\n }\r\n } catch (error) {\r\n handleNonValidationError(error);\r\n }\r\n };\r\n\r\n return {\r\n uploadFile,\r\n current: {\r\n image: image.field.value as string | null | undefined,\r\n thumbnail: thumbnail?.field?.value as string | null | undefined,\r\n grayImage: grayscale?.field?.value as string | null | undefined,\r\n grayThumbnail: grayscaleThumbnail?.field?.value as string | null | undefined,\r\n },\r\n uploadInProgress: state.uploadInProgress,\r\n invalid: isInvalid(),\r\n error: errorMessage(),\r\n };\r\n}\r\n\r\ninterface ImageUploadButtonProps extends Options {\r\n title?: string;\r\n instruction?: string;\r\n errorLabel?: string;\r\n skipResizing?: boolean;\r\n}\r\n\r\nexport function ImageUploadButton(props: ImageUploadButtonProps) {\r\n const inputRef = useRef(null);\r\n const { uploadFile, uploadInProgress, error, invalid } = useImageUploading(props);\r\n\r\n const onFileSelect = (files?: FileList | null) => {\r\n if (!files) {\r\n return;\r\n }\r\n if (!isAcceptableFileList(files)) {\r\n return;\r\n }\r\n uploadFile(files);\r\n };\r\n\r\n const getCssClass = () => {\r\n const classes = [\"form-input image-upload-button\"];\r\n if (uploadInProgress) classes.push(\"upload-in-progress\");\r\n if (invalid) classes.push(\"invalid\");\r\n return classes.join(\" \");\r\n };\r\n\r\n const buttonLabel = () => {\r\n if (uploadInProgress) {\r\n return \"Uploading\";\r\n } else if (props.title?.length) {\r\n return props.title;\r\n } else {\r\n return \"Upload image\";\r\n }\r\n };\r\n\r\n const renderInfoOrError = () => {\r\n if (error) {\r\n const fieldName = props.errorLabel || \"Field\";\r\n let message = error.message;\r\n if (!message) {\r\n switch (error.type) {\r\n case \"required\":\r\n message = `${fieldName} is required`;\r\n break;\r\n default:\r\n message = `${fieldName} is invalid`;\r\n break;\r\n }\r\n }\r\n return ;\r\n } else if (props.instruction?.length) {\r\n return (\r\n <>\r\n
\r\n {props.instruction}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {\r\n onFileSelect(inputRef.current!.files);\r\n inputRef.current!.value = \"\";\r\n inputRef.current!.files = null;\r\n }}\r\n />\r\n {renderInfoOrError()}\r\n
\r\n );\r\n}\r\n\r\ninterface ImageUploadAreaProps extends Options {\r\n placeholderIcon?: React.ReactNode;\r\n placeholderText?: React.ReactNode;\r\n skipResizing?: boolean;\r\n}\r\n\r\nexport function ImageUploadArea(props: ImageUploadAreaProps) {\r\n const inputRef = useRef(null);\r\n const containerRef = useRef(null);\r\n const imageRef = useRef(null);\r\n const { uploadFile, current, uploadInProgress, error, invalid } = useImageUploading(props);\r\n\r\n const { state, mergeState } = useStateEx({\r\n dragActive: false,\r\n });\r\n\r\n const onFileSelect = (files?: FileList | null) => {\r\n if (!files) {\r\n return;\r\n }\r\n if (!isAcceptableFileList(files)) {\r\n return;\r\n }\r\n uploadFile(files);\r\n };\r\n\r\n const onDragEnter = (event: React.DragEvent) => {\r\n mergeState({\r\n dragActive: true,\r\n });\r\n };\r\n\r\n const onDragLeave = (event: React.DragEvent) => {\r\n mergeState({\r\n dragActive: false,\r\n });\r\n };\r\n\r\n const onDragOver = (event: React.DragEvent) => {\r\n event.preventDefault();\r\n return false;\r\n };\r\n\r\n const onDrop = (event: React.DragEvent) => {\r\n event.preventDefault();\r\n mergeState({\r\n dragActive: false,\r\n });\r\n uploadFile(event.dataTransfer.files);\r\n };\r\n\r\n const getCssClass = () => {\r\n const classes = [\"image-upload-area\"];\r\n if (state.dragActive) classes.push(\"drag-active\");\r\n if (uploadInProgress) classes.push(\"upload-in-progress\");\r\n if (invalid) classes.push(\"invalid\");\r\n return classes.join(\" \");\r\n };\r\n\r\n const textualMessage = () => {\r\n if (invalid) {\r\n return error;\r\n } else if (state.dragActive) {\r\n return \"Drop the file\";\r\n } else if (props.placeholderText) {\r\n return props.placeholderText;\r\n } else {\r\n return \"Drag and drop a file here or click\";\r\n }\r\n };\r\n\r\n const showImage = () => {\r\n if (imageRef.current) {\r\n imageRef.current.style.display = \"\";\r\n }\r\n };\r\n\r\n const hideImage = () => {\r\n if (imageRef.current) {\r\n imageRef.current.style.display = \"none\";\r\n }\r\n };\r\n\r\n const imageOrPlaceholder = () => {\r\n if (current.image && current.image.length) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n onDragEnter(event)}\r\n onDragLeave={(event) => onDragLeave(event)}\r\n onDragOver={(event) => onDragOver(event)}\r\n onDrop={(event) => onDrop(event)}\r\n onClick={() => inputRef.current?.click()}\r\n >
\r\n {imageOrPlaceholder()}\r\n onFileSelect(inputRef.current?.files)}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n","// eslint-disable-next-line import/no-internal-modules\r\nimport flags from \"country-flag-icons/modules/react/1x1\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { ValidationError } from \"../widgets/ValidationError\";\r\n\r\nimport \"./LanguagePicker.scss\";\r\n\r\nlet languages: string[];\r\n\r\n// map https://en.wikipedia.org/wiki/ISO_639-1 to https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\r\nconst languageFlagMap = {\r\n en: flags.US,\r\n de: flags.DE,\r\n fr: flags.FR,\r\n it: flags.IT,\r\n da: flags.DK,\r\n hu: flags.HU,\r\n cs: flags.CZ,\r\n ar: flags.AE,\r\n ru: flags.RU,\r\n};\r\n\r\nfunction renderFlag(code: string) {\r\n if (code in languageFlagMap) {\r\n const Flag = languageFlagMap[code as keyof typeof languageFlagMap];\r\n return ;\r\n } else {\r\n code = code.toUpperCase();\r\n if (code in flags) {\r\n const Flag = flags[code as keyof typeof flags];\r\n return ;\r\n }\r\n }\r\n return <>;\r\n}\r\n\r\ntype Props = {\r\n language: string;\r\n errors: string[];\r\n onChange: (language: string) => void;\r\n};\r\n\r\nexport default function LanguagePicker(props: Props) {\r\n languages = useDeploymentConfig().config.allowedLanguages || [];\r\n\r\n const className = (language: string) => {\r\n const classes = [];\r\n if (props.language === language) classes.push(\"selected\");\r\n if (props.errors.includes(language)) classes.push(\"invalid\");\r\n return classes.join(\" \");\r\n };\r\n\r\n const renderAdditionalError = () => {\r\n if (props.errors.length > 0 && !props.errors.includes(props.language)) {\r\n return ;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {languages.map((l: string) => {\r\n return (\r\n {\r\n props.onChange(l);\r\n }}\r\n type=\"button\"\r\n className={className(l)}\r\n >\r\n {renderFlag(l)}\r\n {l.toUpperCase()}\r\n \r\n );\r\n })}\r\n {renderAdditionalError()}\r\n
\r\n );\r\n}\r\n","import { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { cloneDeep, set } from \"lodash\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DeepMap, ErrorOption, FieldError, FieldPath, useForm, useFormState } from \"react-hook-form\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { BlogPostModel } from \"../../api\";\r\nimport { getUtcDate, stringFromDate } from \"../../services/date\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { checkErrors } from \"../../services/localization\";\r\nimport { BlogPostValidator } from \"../../services/validators\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { AlertMissingValidationErrors } from \"../forms/AlertMissingValidationErrors\";\r\nimport { ImageUploadButton } from \"../forms/ImageUpload\";\r\nimport { FormInput as Input } from \"../forms/Input\";\r\nimport LanguagePicker from \"../forms/LanguagePicker\";\r\nimport { ValidationMessage } from \"../widgets/Alerts\";\r\nimport { FormModalProps, showErrors } from \"./utils\";\r\n\r\nimport \"./EditBlogPost.scss\";\r\n\r\ninterface Props extends FormModalProps {\r\n existingBlogPost: boolean;\r\n}\r\n\r\ntype State = {\r\n model: Partial;\r\n backendErrors: DeepMap, FieldError>;\r\n};\r\n\r\nfunction EditBlogPost(props: Props) {\r\n const model: Partial = props.initial || {\r\n imageUrl: undefined,\r\n authorImageUrl: undefined,\r\n authorName: \"\",\r\n authorDescription: \"\",\r\n date: \"\",\r\n titleLocalizations: [],\r\n leadTextLocalizations: [],\r\n mainTextLocalizations: [],\r\n };\r\n const { state, mergeState } = useStateEx({\r\n model: model,\r\n backendErrors: {},\r\n });\r\n\r\n const defaultModel = cloneDeep(state.model);\r\n const languageList = useDeploymentConfig().config.allowedLanguages || [];\r\n if (!defaultModel.titleLocalizations || defaultModel.titleLocalizations.length === 0) {\r\n defaultModel.titleLocalizations = languageList.map((l) => {\r\n return { languageCode: l, text: \"\" };\r\n });\r\n }\r\n if (!defaultModel.leadTextLocalizations || defaultModel.leadTextLocalizations.length === 0) {\r\n defaultModel.leadTextLocalizations = languageList.map((l) => {\r\n return { languageCode: l, text: \"\" };\r\n });\r\n }\r\n if (!defaultModel.mainTextLocalizations || defaultModel.mainTextLocalizations.length === 0) {\r\n defaultModel.mainTextLocalizations = languageList.map((l) => {\r\n return { languageCode: l, text: \"\" };\r\n });\r\n }\r\n if (!defaultModel.date) defaultModel.date = stringFromDate(getUtcDate(), true);\r\n\r\n const [selectedLanguage, setSelectedLanguage] = useState(languageList[0]);\r\n const { handleSubmit, formState, control, getValues, watch } = useForm({\r\n defaultValues: defaultModel,\r\n resolver: yupResolver(BlogPostValidator(languageList)),\r\n });\r\n useEffect(() => {\r\n var subscription = watch(() => {\r\n if (props.onChange) props.onChange();\r\n });\r\n return () => subscription.unsubscribe();\r\n }, [watch, props]);\r\n\r\n const { errors } = useFormState({ control });\r\n\r\n const titleTranslationIndex = defaultModel.titleLocalizations.findIndex((t) => t.languageCode === selectedLanguage);\r\n const titleField = `titleLocalizations.${titleTranslationIndex}.text` as \"titleLocalizations.0.text\";\r\n const leadTranslationIndex = defaultModel.leadTextLocalizations.findIndex((t) => t.languageCode === selectedLanguage);\r\n const leadField = `leadTextLocalizations.${leadTranslationIndex}.text` as \"leadTextLocalizations.0.text\";\r\n const mainTranslationIndex = defaultModel.mainTextLocalizations.findIndex((t) => t.languageCode === selectedLanguage);\r\n const mainField = `mainTextLocalizations.${mainTranslationIndex}.text` as \"mainTextLocalizations.0.text\";\r\n\r\n const cancel = () => {\r\n if (props.onCancel) props.onCancel();\r\n };\r\n\r\n const trySaveModel = async (model: BlogPostModel) => {\r\n if (props.onSave) {\r\n model = cloneDeep(model);\r\n const result = await props?.onSave(model);\r\n if (!result.success) {\r\n const errors = {};\r\n showErrors(result, (path: FieldPath, error: ErrorOption) => {\r\n alert.error();\r\n set(errors, path, error);\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getLanguageErrors = (): string[] => {\r\n if (!errors) return [];\r\n const errorList = checkErrors(languageList, errors.titleLocalizations).concat(\r\n checkErrors(languageList, errors.leadTextLocalizations),\r\n checkErrors(languageList, errors.mainTextLocalizations)\r\n );\r\n // remove duplicates\r\n return errorList.filter((item, index) => errorList.indexOf(item) === index);\r\n };\r\n\r\n const getTitle = () => {\r\n return props.existingBlogPost ? \"Edit Blog Post\" : \"New Blog Post\";\r\n };\r\n\r\n const getImageUrl = () => {\r\n return state.model.imageUrl || \"/images/image-placeholder.svg\";\r\n };\r\n\r\n const getAuthorImageUrl = () => {\r\n return state.model.authorImageUrl || \"/images/portrait-placeholder.svg\";\r\n };\r\n\r\n const updateImageUrls = () => {\r\n mergeState({\r\n model: { ...state.model, imageUrl: getValues().imageUrl, authorImageUrl: getValues().authorImageUrl },\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{getTitle()}

\r\n
\r\n
\r\n {\r\n setSelectedLanguage(value);\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\nexport default EditBlogPost;\r\n","import React, { useRef, useCallback } from \"react\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport Loading from \"../app/widgets/Loading\";\r\nimport { Result } from \"../app/modals/utils\";\r\nimport { Modal, useModal } from \"../app/modals/Modal\";\r\nimport { ServiceResult } from \"../services/types\";\r\nimport { AlertContent, ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { Download } from \"../app/icons/Icons\";\r\nimport { PaginatedCards, PaginatedCardsApi } from \"../app/widgets/PaginatedCards\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { BlogPostsApi, BlogPostModel, BlogPostView } from \"../api\";\r\nimport { useGlobalSearch } from \"../state/globalSearch\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { confirmDialog } from \"../services/alerts\";\r\nimport { BlogPostCard } from \"../app/cards/BlogPostCard\";\r\nimport EditBlogPost from \"../app/modals/EditBlogPost\";\r\nimport { isProvided } from \"../services/objects\";\r\n\r\nimport \"./BlogPosts.scss\";\r\n\r\ntype State = {\r\n model: BlogPostModel | null;\r\n isNew: boolean;\r\n totalCount: number;\r\n formModified: boolean;\r\n};\r\n\r\nfunction BlogPosts() {\r\n const pageApi = useRef(null);\r\n const { search } = useGlobalSearch();\r\n const { openModal, closeModal } = useModal();\r\n const { state, mergeState } = useStateEx({\r\n totalCount: 0,\r\n model: null,\r\n isNew: true,\r\n formModified: false,\r\n });\r\n const changed = () => mergeState({ formModified: true });\r\n\r\n const openAddModal = () => {\r\n mergeState({ isNew: true });\r\n openModal();\r\n };\r\n\r\n const handleCancel = () => {\r\n if (state.formModified) confirmDialog(\"Form has unsaved changes. Discard all?\", closeModalAndReset);\r\n else closeModalAndReset();\r\n };\r\n\r\n const closeModalAndReset = () => {\r\n mergeState({ model: null, formModified: false });\r\n closeModal();\r\n };\r\n\r\n const load = useCallback(\r\n (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new BlogPostsApi(config);\r\n return api.get({\r\n search: search,\r\n skip: skip,\r\n limit: limit,\r\n });\r\n },\r\n [search]\r\n );\r\n\r\n const loadingCardFactory = (key: number) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const loadedCardFactory = (model: BlogPostView, key: number) => {\r\n const id = model.id;\r\n\r\n const editBlogPost = async () => {\r\n const config = getApiConfig();\r\n const api = new BlogPostsApi(config);\r\n\r\n try {\r\n const response = await api.getOne({ id: id });\r\n\r\n if (isHttpOk(response) && response.data) {\r\n mergeState({\r\n model: response.data,\r\n isNew: false,\r\n });\r\n\r\n openModal();\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n const deleteBlogPost = async () => {\r\n const onConfirm = async () => {\r\n const config = getApiConfig();\r\n const api = new BlogPostsApi(config);\r\n\r\n try {\r\n var result = await api._delete({ id: id });\r\n\r\n if (isHttpOk(result)) {\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n\r\n return Result.Ok;\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n confirmDialog(\"Delete Blog Post?\", onConfirm);\r\n };\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n const saveBlogPost = async (model: BlogPostModel) => {\r\n const config = getApiConfig();\r\n const api = new BlogPostsApi(config);\r\n\r\n try {\r\n let message: string;\r\n let result: AxiosResponse>;\r\n\r\n if (!model.id) {\r\n message = `New Blog Post created.`;\r\n\r\n result = await api.create({\r\n blogPostModel: model,\r\n });\r\n } else {\r\n message = `Blog Post updated.`;\r\n\r\n result = await api.update({\r\n id: model.id,\r\n blogPostModel: model,\r\n });\r\n }\r\n\r\n if (isHttpOk(result)) {\r\n closeModalAndReset();\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Invalid();\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n mergeState({ totalCount: count })}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default BlogPosts;\r\n","import * as df from \"date-fns\";\r\nimport { MouseEventHandler } from \"react\";\r\nimport { useHistory } from \"react-router\";\r\nimport { CampaignStatus, CampaignView } from \"../../api\";\r\nimport { stringToDate } from \"../../services/date\";\r\nimport { HighlightColor } from \"../../services/types\";\r\nimport { highlight } from \"../widgets/HighlightedString\";\r\nimport Card from \"./Card\";\r\n\r\nimport \"./CampaignCard.scss\";\r\n\r\ninterface ComponentProps extends CampaignView {\r\n highlightedText?: string;\r\n onEditClick?: MouseEventHandler;\r\n onDeleteClick?: MouseEventHandler;\r\n onAddMessageClick?: MouseEventHandler;\r\n}\r\n\r\nexport function CampaignCard(props: ComponentProps) {\r\n const history = useHistory();\r\n\r\n function getExpires() {\r\n if (props.validTo) {\r\n const validTo = stringToDate(props.validTo, false);\r\n const word = props.status === CampaignStatus.Expired ? \"Expired \" : \"Expires \";\r\n return word + df.format(validTo, \"MMM dd, yyyy\");\r\n }\r\n return \"Never expires\";\r\n }\r\n\r\n function getStatusText() {\r\n switch (props.status) {\r\n case CampaignStatus.Deleted:\r\n return \"DELETED\";\r\n case CampaignStatus.Expired:\r\n return \"EXPIRED\";\r\n case CampaignStatus.Live:\r\n return \"LIVE\";\r\n case CampaignStatus.Paused:\r\n return \"PAUSED\";\r\n default:\r\n return \"SCHEDULED\";\r\n }\r\n }\r\n\r\n function getStatusColor(): HighlightColor {\r\n switch (props.status) {\r\n case CampaignStatus.Deleted:\r\n return \"black\";\r\n case CampaignStatus.Expired:\r\n return \"red\";\r\n case CampaignStatus.Live:\r\n return \"green\";\r\n case CampaignStatus.Paused:\r\n return \"orange\";\r\n default:\r\n return \"blue\";\r\n }\r\n }\r\n\r\n const getImageUrl = () => {\r\n if (props.status === CampaignStatus.Expired) {\r\n return props.grayImageUrl;\r\n } else {\r\n return props.imageUrl;\r\n }\r\n };\r\n\r\n const imageUrl = getImageUrl();\r\n const imageNode = imageUrl && \"campaign\";\r\n\r\n return (\r\n \r\n
{imageNode}
\r\n
\r\n {getStatusText()}\r\n

{highlight(props.name, props.highlightedText)}

\r\n

{highlight(props.description, props.highlightedText)}

\r\n {getExpires()}\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","import { isArray } from \"lodash\";\r\nimport { forwardRef, Ref } from \"react\";\r\nimport ReactDatePicker, { ReactDatePickerProps } from \"react-datepicker\";\r\nimport { FieldError, FieldValues, Path, useController, UseFormReturn } from \"react-hook-form\";\r\nimport { stringFromDate, stringToDate } from \"../../../services/date\";\r\nimport { AddNew, Calendar, PageNext, PagePrevious } from \"../../icons/Icons\";\r\nimport { ValidationError } from \"../../widgets/ValidationError\";\r\n\r\nimport \"./DatePicker.Calendar.scss\";\r\nimport \"./DatePicker.scss\";\r\n\r\ntype Props = {\r\n name: Path;\r\n control: UseFormReturn[\"control\"];\r\n className?: string;\r\n withTime?: boolean;\r\n placeholder?: string;\r\n required?: boolean;\r\n errorLabel?: string;\r\n readOnly?: boolean;\r\n minimumDate?: Date;\r\n};\r\n\r\nexport function FormDatePicker(props: Props) {\r\n const renderErrors = (error?: FieldError) => {\r\n if (!error) {\r\n return null;\r\n }\r\n\r\n const fieldName = props.errorLabel || \"Field\";\r\n let message: string;\r\n switch (error.type) {\r\n case \"required\":\r\n message = error.message || `${fieldName} is required`;\r\n break;\r\n default:\r\n message = error.message || `${fieldName} is invalid`;\r\n break;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n const InputWithIcon = forwardRef(({ value, onClick, onClear }: any, ref: Ref) => {\r\n const className = fieldState.invalid ? \"invalid\" : \"\";\r\n return (\r\n <>\r\n \r\n {value === \"\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {renderErrors(fieldState.error)}\r\n \r\n );\r\n });\r\n\r\n const { field, fieldState } = useController({\r\n name: props.name,\r\n control: props.control,\r\n rules: {\r\n required: props.required,\r\n },\r\n });\r\n\r\n const getDate = (value: [Date | null, Date | null] | Date | null) => {\r\n if (value == null) {\r\n return null;\r\n } else if (isArray(value)) {\r\n return value.length > 0 ? value[0] : null;\r\n } else {\r\n return value;\r\n }\r\n };\r\n\r\n const tryClearValue = () => {\r\n if (props.required || props.readOnly) return;\r\n field.onChange(null);\r\n };\r\n\r\n const handleChange: ReactDatePickerProps[\"onChange\"] = (value) => {\r\n const date = getDate(value);\r\n if (date === null) {\r\n field.onChange(null);\r\n } else {\r\n field.onChange(stringFromDate(date, !!props.withTime));\r\n }\r\n };\r\n\r\n const placeholder = props.placeholder || (props.withTime ? \"Enter date and time\" : \"Enter date\");\r\n const dateFormat = props.withTime ? \"dd.MM.yyyy HH:mm\" : \"dd.MM.yyyy\";\r\n const className = [props.className, \"date-picker\", \"form-input\"].join(\" \");\r\n const value = stringToDate(field.value as string, true);\r\n\r\n return (\r\n }\r\n disabledKeyboardNavigation={true}\r\n nextMonthButtonLabel={}\r\n previousMonthButtonLabel={}\r\n minDate={props.minimumDate}\r\n />\r\n );\r\n}\r\n","import { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { useCallback, useRef } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { MapLike } from \"typescript\";\r\nimport { CampaignDetails, CampaignStatus } from \"../../api\";\r\nimport { CampaignValidator } from \"../../services/validators\";\r\nimport { FormDatePicker } from \"../forms/date-picker/FormDatePicker\";\r\nimport { FormInput } from \"../forms/Input\";\r\nimport { FormSelect, Option } from \"../forms/Select\";\r\nimport { FormModalProps, showErrors } from \"./utils\";\r\n\r\nimport \"./EditCampaign.scss\";\r\n\r\nconst ScheduledOption = {\r\n label: \"Scheduled\",\r\n value: CampaignStatus.Scheduled,\r\n};\r\nconst LiveOption = { label: \"Live\", value: CampaignStatus.Live };\r\nconst ExpiredOption = {\r\n label: \"Expired\",\r\n value: CampaignStatus.Expired,\r\n};\r\nconst PausedOption = {\r\n label: \"Paused\",\r\n value: CampaignStatus.Paused,\r\n};\r\nconst DeletedOption = {\r\n label: \"Deleted\",\r\n value: CampaignStatus.Deleted,\r\n};\r\n\r\nconst ValidStatuses: MapLike = {\r\n [CampaignStatus.Scheduled]: [ScheduledOption, PausedOption, DeletedOption],\r\n [CampaignStatus.Paused]: [PausedOption, LiveOption, DeletedOption],\r\n [CampaignStatus.Live]: [LiveOption, PausedOption, DeletedOption],\r\n [CampaignStatus.Expired]: [ExpiredOption, DeletedOption],\r\n [CampaignStatus.Deleted]: [DeletedOption],\r\n};\r\n\r\nexport function EditCampaign(props: FormModalProps) {\r\n const initialModel = props.initial || { id: 0, name: \"\", status: CampaignStatus.Scheduled };\r\n const headerTitle = props.initial === null ? \"New Campaign\" : \"Edit Campaign\";\r\n const submitTitle = props.initial === null ? \"Add Campaign\" : \"Save Changes\";\r\n const onChangeRef = useRef(props.onChange);\r\n onChangeRef.current = props.onChange;\r\n const { register, control, handleSubmit, formState, setError, watch } = useForm({\r\n defaultValues: { ...initialModel },\r\n resolver: yupResolver(CampaignValidator),\r\n });\r\n\r\n const statusEnabled = props.initial !== null;\r\n const statusOptions = statusEnabled ? ValidStatuses[props.initial!.status] : [];\r\n\r\n watch(\r\n useCallback(() => {\r\n if (onChangeRef.current) {\r\n onChangeRef.current();\r\n }\r\n }, [onChangeRef])\r\n );\r\n\r\n const onSubmit = async (data: CampaignDetails) => {\r\n data.id = initialModel.id;\r\n if (!statusEnabled) {\r\n data.status = initialModel.status;\r\n }\r\n const result = await props?.onSave(data);\r\n if (!result.success) {\r\n showErrors(result, setError);\r\n }\r\n };\r\n\r\n const errors = formState.errors;\r\n\r\n return (\r\n
\r\n
\r\n

{headerTitle}

\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 {statusEnabled && (\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","import { AxiosResponse } from \"axios\";\r\nimport { useCallback, useRef } from \"react\";\r\nimport { useHistory } from \"react-router\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { CampaignDetails, CampaignModel, CampaignsApi, CampaignSort, CampaignStatus, CampaignView } from \"../api\";\r\nimport { CampaignCard } from \"../app/cards/CampaignCard\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { Select } from \"../app/forms/Select\";\r\nimport { Download } from \"../app/icons/Icons\";\r\nimport { EditCampaign } from \"../app/modals/EditCampaign\";\r\nimport { Modal, useModal } from \"../app/modals/Modal\";\r\nimport { Result } from \"../app/modals/utils\";\r\nimport { AlertContent, ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport Loading from \"../app/widgets/Loading\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { PaginatedCards, PaginatedCardsApi } from \"../app/widgets/PaginatedCards\";\r\nimport { confirmDialog } from \"../services/alerts\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { ServiceResult } from \"../services/types\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useGlobalSearch } from \"../state/globalSearch\";\r\n\r\nimport \"./Campaigns.scss\";\r\n\r\ntype State = {\r\n formModified: boolean;\r\n model: CampaignDetails | null;\r\n isNew: boolean;\r\n sortOrder: CampaignSort;\r\n totalCount: number;\r\n};\r\n\r\nfunction Campaigns() {\r\n const sortOptions = [\r\n { label: \"Sort: Newest\", value: CampaignSort.Newest },\r\n { label: \"Sort: Oldest\", value: CampaignSort.Oldest },\r\n ];\r\n\r\n const pageApi = useRef(null);\r\n const history = useHistory();\r\n const { search } = useGlobalSearch();\r\n const { openModal, closeModal } = useModal();\r\n const { state, mergeState } = useStateEx({\r\n formModified: false,\r\n totalCount: 0,\r\n model: null,\r\n isNew: true,\r\n sortOrder: sortOptions[0].value,\r\n });\r\n\r\n const openAddModal = () => {\r\n mergeState({ isNew: true });\r\n openModal();\r\n };\r\n\r\n const handleCancel = () => {\r\n if (state.formModified) confirmDialog(\"Form has unsaved changes. Discard all?\", closeModalAndReset);\r\n else closeModalAndReset();\r\n };\r\n\r\n const closeModalAndReset = () => {\r\n mergeState({ model: null, formModified: false });\r\n closeModal();\r\n };\r\n\r\n const load = useCallback(\r\n (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new CampaignsApi(config);\r\n return api.get({\r\n search: search,\r\n sort: state.sortOrder,\r\n skip: skip,\r\n limit: limit,\r\n });\r\n },\r\n [search, state.sortOrder]\r\n );\r\n\r\n const loadingCardFactory = (key: number) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const loadedCardFactory = (model: CampaignView, key: number) => {\r\n const id = model.id;\r\n\r\n const editCampaign = async () => {\r\n const config = getApiConfig();\r\n const api = new CampaignsApi(config);\r\n try {\r\n const response = await api.getOne({ id: id });\r\n mergeState({\r\n model: response.data,\r\n isNew: false,\r\n });\r\n openModal();\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n const deleteCampaign = async () => {\r\n const config = getApiConfig();\r\n const api = new CampaignsApi(config);\r\n const deletedMessage = `Deleted campaign: ${model.name}`;\r\n try {\r\n await api._delete({ id: id });\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n alert.success();\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n const handleDeleteCampaign = async () => {\r\n const onConfirm = async () => await deleteCampaign();\r\n confirmDialog(\"Are you sure you want to delete this campaign? Once deleted you cannot restore it.\", onConfirm);\r\n };\r\n\r\n const addMessage = () => {\r\n history.push(`/campaign/${id}/messages/new`);\r\n };\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n const saveCampaign = async (model: CampaignDetails) => {\r\n const config = getApiConfig();\r\n const api = new CampaignsApi(config);\r\n\r\n try {\r\n let message: string;\r\n let result: AxiosResponse>;\r\n\r\n if (model.id === 0) {\r\n message = `Campaign '${model.name}' created.`;\r\n result = await api.create({\r\n createCampaignCommand: model,\r\n });\r\n } else {\r\n if (model.status === CampaignStatus.Deleted) {\r\n message = `Campaign '${model.name}' deleted.`;\r\n result = await api._delete({\r\n id: model.id,\r\n });\r\n } else {\r\n message = `Campaign '${model.name}' saved.`;\r\n result = await api.update({\r\n id: model.id,\r\n updateCampaignCommand: model,\r\n });\r\n }\r\n }\r\n\r\n if (isHttpOk(result)) {\r\n closeModalAndReset();\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Invalid();\r\n };\r\n\r\n return (\r\n
\r\n \r\n {\r\n mergeState({ formModified: true });\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n {\r\n var valueNumber = value?.valueOf();\r\n if (typeof valueNumber === \"number\" && valueNumber in CampaignSort) {\r\n mergeState({ sortOrder: valueNumber });\r\n }\r\n if (pageApi.current) {\r\n pageApi.current.loadPage(0, true);\r\n }\r\n }}\r\n />\r\n \r\n
\r\n
\r\n mergeState({ totalCount: count })}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default Campaigns;\r\n","import { useCallback } from \"react\";\r\nimport { ChangeLogApi, PropertyChangeView } from \"../../api\";\r\nimport { logErrorSilently } from \"../../services/alerts\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { addSpaces } from \"../../services/string\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport Card from \"../cards/Card\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./PropertyChanges.scss\";\r\n\r\ntype Props = {\r\n entityChangeId: number;\r\n description: string;\r\n};\r\n\r\nexport function PropertyChanges(props: Props) {\r\n const dataSource = useCallback(\r\n async (offset: number, limit: number) => {\r\n const api = new ChangeLogApi(getApiConfig());\r\n const result = await api.getPropertyChanges({ skip: offset, limit: limit, entityChangeId: props.entityChangeId });\r\n\r\n if (isHttpOk(result)) return result.data;\r\n else {\r\n logErrorSilently(result);\r\n return {\r\n count: 0,\r\n items: [],\r\n };\r\n }\r\n },\r\n [props.entityChangeId]\r\n );\r\n\r\n const tableHeaders = [{ title: \"NAME\" }, { title: \"OLD VALUE\" }, { title: \"NEW VALUE\" }];\r\n\r\n const renderRow = (item: PropertyChangeView) => {\r\n return [addSpaces(item.name || \"\"), item.originalValue, item.newValue];\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

{\"Changed Properties\"}

\r\n

{props.description}

\r\n
\r\n
\r\n \r\n }\r\n tableClassName=\"with-image\"\r\n minLoadingTimeMs={200}\r\n initialPageSize={10}\r\n tableDataSource={dataSource}\r\n tableHeaders={tableHeaders}\r\n tableRowFactory={renderRow}\r\n >\r\n
\r\n );\r\n}\r\n","import { isArray } from \"lodash\";\r\nimport { useCallback, useRef } from \"react\";\r\nimport { ChangeAction, ChangeLogApi, EntityChangeView, Table } from \"../api\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { Select } from \"../app/forms/Select\";\r\nimport { Modal, useModal } from \"../app/modals/Modal\";\r\nimport { PropertyChanges } from \"../app/tables/PropertyChanges\";\r\nimport { highlight } from \"../app/widgets/HighlightedString\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { PaginatedTable, PaginatedTableApi } from \"../app/widgets/PaginatedTable\";\r\nimport { utcToLocal } from \"../services/date\";\r\nimport { formatDateTime } from \"../services/format\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { addSpaces } from \"../services/string\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useGlobalSearch } from \"../state/globalSearch\";\r\n\r\nimport \"./ChangeLog.scss\";\r\n\r\ntype State = {\r\n totalCount: number;\r\n selectedAction: ActionFilter;\r\n selectedTables: Table[];\r\n selectedId?: number;\r\n selectedEntityDescription?: string;\r\n};\r\n\r\nenum FilterOption {\r\n All = -1,\r\n}\r\n\r\ntype ActionFilter = ChangeAction | FilterOption;\r\n\r\nexport function ChangeLog() {\r\n const apiRef = useRef(null);\r\n const { search } = useGlobalSearch();\r\n const { state, mergeState } = useStateEx({\r\n totalCount: 0,\r\n selectedAction: FilterOption.All,\r\n selectedTables: [],\r\n });\r\n const { openModal, closeModal } = useModal();\r\n\r\n const actionOptions = [\r\n { label: \"Action: All\", value: FilterOption.All },\r\n { label: \"Action: Added\", value: ChangeAction.Added },\r\n { label: \"Action: Updated\", value: ChangeAction.Updated },\r\n { label: \"Action: Deleted\", value: ChangeAction.Deleted },\r\n ];\r\n const isAction = (val: ActionFilter): val is ChangeAction => val !== FilterOption.All;\r\n const action = isAction(state.selectedAction) ? state.selectedAction : undefined;\r\n\r\n const tableOptions = Object.values(Table)\r\n .filter((v) => typeof v === \"number\")\r\n .map((value) => ({\r\n label: addSpaces(Table[value as number]),\r\n value: value as number,\r\n }));\r\n\r\n const loadPage = useCallback(\r\n (offset: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new ChangeLogApi(config);\r\n return api.getAll({\r\n search: search,\r\n skip: offset,\r\n limit: limit,\r\n action: action,\r\n tables: state.selectedTables,\r\n });\r\n },\r\n [search, action, state.selectedTables]\r\n );\r\n\r\n const renderCells = (model: EntityChangeView, index: number) => {\r\n const color =\r\n model.action === ChangeAction.Added ? \"green\" : model.action === ChangeAction.Deleted ? \"red\" : \"yellow\";\r\n const actioned = {highlight(ChangeAction[model.action], search)};\r\n\r\n const entityId = highlight(model.entityId, search);\r\n\r\n const title = highlight(model.title, search);\r\n const table = addSpaces(Table[model.table]);\r\n const nameOrId = highlight(model.userNameOrId, search);\r\n const localDate = formatDateTime(utcToLocal(model.utcDate), \"dd.MM.yyyy hh:mm a\");\r\n\r\n const clickable = model.action === ChangeAction.Updated;\r\n const onClick = () => {\r\n const entityIdDes = `Entity Id(s): ${model.entityId},`;\r\n const titleDes = `Entity Title: ${model.title || \"\"}, `;\r\n const userDes = `User: ${model.userNameOrId}`;\r\n const description = `Properties that were changed for ${entityIdDes} ${titleDes} by ${userDes}`;\r\n mergeState({ selectedId: model.id, selectedEntityDescription: description });\r\n openModal();\r\n };\r\n const className = clickable ? \"clickable\" : \"\";\r\n const event = (\r\n \r\n {nameOrId}\r\n {\" has \"}\r\n {actioned}\r\n {` an entry in ${table} table`}\r\n \r\n );\r\n return [localDate, table, entityId, title, event];\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {\r\n if (isArray(e)) mergeState({ selectedTables: e as Table[] });\r\n }}\r\n />\r\n {\r\n if (typeof v === \"number\") mergeState({ selectedAction: v });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n mergeState({ totalCount: count })}\r\n />\r\n \r\n \r\n {state.selectedId && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { useEffect } from \"react\";\r\nimport { Frequency, StoreVisitsStatistic, VisitorStatisticsApi } from \"../api\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { Graph, GraphMouseEvent } from \"../app/widgets/Graph\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../state/globalFilters\";\r\n\r\nimport \"./CustomerVisitsGraph.scss\";\r\n\r\ninterface State {\r\n visitStatistics: StoreVisitsStatistic[];\r\n frequency: Frequency;\r\n}\r\n\r\nexport function CustomerVisitsGraph(props: { onclick?: (event: GraphMouseEvent) => void }) {\r\n const filters = useTimeLocationFilters();\r\n const { config } = useDeploymentConfig();\r\n const { state, mergeState } = useStateEx({\r\n visitStatistics: [],\r\n frequency: Frequency.Daily,\r\n });\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const api = new VisitorStatisticsApi(config);\r\n\r\n api.getVisitStatistics(filters).then((result) => {\r\n if (isHttpOk(result)) {\r\n mergeState({\r\n visitStatistics: result.data.storeVisitsStatistics || [],\r\n frequency: result.data.frequency ?? Frequency.Daily,\r\n });\r\n }\r\n });\r\n }, [filters, mergeState]);\r\n\r\n const title = !config.disablePurchaseHistories ? \"Customer Visits\" : \"Visitors\";\r\n const tooltip = \"Frequency chart of the number of store visits vs date\";\r\n const dateFormat = state.frequency === Frequency.Hourly ? \"haa d/M\" : \"dd.MM.yyyy\";\r\n const chartData =\r\n state.visitStatistics?.map((item) => {\r\n return { x: format(new Date(item.date), dateFormat), y: item.nmOfVisits };\r\n }) ?? [];\r\n\r\n var manualDateTicks: string[] | undefined;\r\n const nmOfDatapoints = state.visitStatistics?.length ?? 0;\r\n // If more than 3 months of Daily data, set ticks to first day of month\r\n const useManualDateTicks = nmOfDatapoints > 90 && state.frequency === Frequency.Daily;\r\n if (useManualDateTicks) {\r\n manualDateTicks = state.visitStatistics\r\n ?.filter((item) => new Date(item.date).getDate() === 1)\r\n .map((item) => format(new Date(item.date), dateFormat));\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { AnalyticsApi, VisitorStatisticsApi } from \"../../api\";\r\nimport StatsCardSimple from \"../../app/cards/StatsCardSimple\";\r\nimport { ConversionStats, LoyalCustom, NewAppCustomers, VipCustom } from \"../../app/icons/Icons\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { formatPercentage } from \"../../services/format\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\n\r\nexport function InteractionBasedStatistics() {\r\n type State = {\r\n isLoading: boolean;\r\n newVisitors?: number;\r\n visitors?: number;\r\n convertedVisits?: number;\r\n convertedVisitRate?: number;\r\n };\r\n\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx({\r\n isLoading: true,\r\n });\r\n\r\n useEffect(() => {\r\n mergeState({ isLoading: true });\r\n\r\n const apiConfig = getApiConfig();\r\n const analyticsApi = new AnalyticsApi(apiConfig);\r\n const visitorStatsApi = new VisitorStatisticsApi(apiConfig);\r\n\r\n const promises = [\r\n visitorStatsApi.getNewVisitorsCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ newVisitors: result.data });\r\n }),\r\n\r\n visitorStatsApi.getVisitorsCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ visitors: result.data });\r\n }),\r\n\r\n analyticsApi.getConversionStatistics(filters).then((result) => {\r\n if (isHttpOk(result))\r\n mergeState({\r\n convertedVisits: result.data.total,\r\n convertedVisitRate: result.data.conversionRate,\r\n });\r\n }),\r\n ];\r\n\r\n Promise.all(promises).finally(() => {\r\n mergeState({ isLoading: false });\r\n });\r\n }, [filters, mergeState]);\r\n\r\n return (\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","import { useEffect } from \"react\";\r\nimport { AnalyticsApi, CustomerFilter } from \"../../api\";\r\nimport StatsCardSimple from \"../../app/cards/StatsCardSimple\";\r\nimport { LoyalCustom, NewAppCustomers, Prospect, VipCustom } from \"../../app/icons/Icons\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { useLocalizedText } from \"../../services/localization\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../../state/globalFilters\";\r\n\r\ntype Props = {\r\n selectedFilter?: CustomerFilter;\r\n onCustomerCardClick?: (filter?: CustomerFilter) => void;\r\n};\r\n\r\nexport function RevenueBasedStatistics(props: Props) {\r\n type State = {\r\n isLoading: boolean;\r\n newCustomers?: number;\r\n vipCustomers?: number;\r\n mostActiveCustomers?: number;\r\n loyalCustomers?: number;\r\n };\r\n\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { state, mergeState } = useStateEx({\r\n isLoading: true,\r\n });\r\n\r\n useEffect(() => {\r\n mergeState({ isLoading: true });\r\n\r\n const apiConfig = getApiConfig();\r\n const analyticsApi = new AnalyticsApi(apiConfig);\r\n\r\n const promises = [\r\n analyticsApi.getNewCustomersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ newCustomers: result.data });\r\n }),\r\n\r\n analyticsApi.getVipCustomersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ vipCustomers: result.data });\r\n }),\r\n\r\n analyticsApi.getMostActiveCustomersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ mostActiveCustomers: result.data });\r\n }),\r\n\r\n analyticsApi.getLoyalCustomersCount(filters).then((result) => {\r\n if (isHttpOk(result)) mergeState({ loyalCustomers: result.data });\r\n }),\r\n ];\r\n\r\n Promise.all(promises).finally(() => {\r\n mergeState({ isLoading: false });\r\n });\r\n }, [filters, mergeState]);\r\n\r\n const handleClick = (filter: CustomerFilter) => {\r\n if (!props.onCustomerCardClick) return;\r\n // reset if the same filter is selected again\r\n var selectedFilter = filter !== props.selectedFilter ? filter : undefined;\r\n props.onCustomerCardClick(selectedFilter);\r\n };\r\n\r\n return (\r\n
\r\n }\r\n onClick={() => handleClick(CustomerFilter.New)}\r\n selected={props.selectedFilter === CustomerFilter.New}\r\n />\r\n }\r\n onClick={() => handleClick(CustomerFilter.Vip)}\r\n selected={props.selectedFilter === CustomerFilter.Vip}\r\n />\r\n }\r\n onClick={() => handleClick(CustomerFilter.MostActive)}\r\n selected={props.selectedFilter === CustomerFilter.MostActive}\r\n />\r\n }\r\n onClick={() => handleClick(CustomerFilter.Loyal)}\r\n selected={props.selectedFilter === CustomerFilter.Loyal}\r\n />\r\n
\r\n );\r\n}\r\n","import { useCallback, useState } from \"react\";\r\nimport { CustomerFilter, TimeframeType } from \"../api\";\r\nimport { CustomerDataTable } from \"../app/tables/CustomerDataTable\";\r\nimport { GraphMouseEvent } from \"../app/widgets/Graph\";\r\nimport { AnalyticsPageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { parseDate } from \"../services/date\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { useGlobalFilters, useTimeLocationFilters } from \"../state/globalFilters\";\r\nimport { CustomerVisitsGraph } from \"./CustomerVisitsGraph\";\r\nimport { InteractionBasedStatistics } from \"./customer-data/InteractionBasedStatistics\";\r\nimport { RevenueBasedStatistics } from \"./customer-data/RevenueBasedStatistics\";\r\n\r\nimport \"./CustomerData.scss\";\r\n\r\nfunction CustomerData() {\r\n const filters = useTimeLocationFilters();\r\n const { selectTime: changeTimeFilter } = useGlobalFilters();\r\n const deployment = useDeploymentConfig();\r\n const title = !deployment.config.disablePurchaseHistories ? \"Customer Tracking\" : \"User Tracking\";\r\n const [selectedFilter, setFilter] = useState(undefined);\r\n\r\n const onCustomerCardClick = (filter?: CustomerFilter) => {\r\n setFilter(filter);\r\n };\r\n const onGraphClick = useCallback(\r\n (event: GraphMouseEvent) => {\r\n const { rangeStart, rangeEnd, rangeType } = filters;\r\n if (rangeType === TimeframeType.CustomRange && rangeStart === rangeEnd) return;\r\n\r\n const dateLabel = event.activeLabel;\r\n if (dateLabel) {\r\n const selectedDate = parseDate(dateLabel, \"dd.MM.yyyy\");\r\n if (selectedDate) {\r\n setFilter(undefined);\r\n changeTimeFilter({\r\n timeframeType: TimeframeType.CustomRange,\r\n startDate: selectedDate,\r\n endDate: selectedDate,\r\n });\r\n }\r\n }\r\n },\r\n [filters, changeTimeFilter]\r\n );\r\n\r\n const customerWidgets = !deployment.config.disablePurchaseHistories ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n \r\n {customerWidgets}\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CustomerData;\r\n","import { differenceInYears } from \"date-fns\";\r\nimport { useCallback, useEffect } from \"react\";\r\nimport { Redirect, useRouteMatch } from \"react-router\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { CustomerDetailsView, CustomerStatisticsView, CustomersApi, Gender } from \"../api\";\r\nimport Card from \"../app/cards/Card\";\r\nimport StatsCardWithTrend from \"../app/cards/StatsCardWithTrend\";\r\nimport { ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport Loading from \"../app/widgets/Loading\";\r\nimport { AnalyticsPageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { PaginatedTable } from \"../app/widgets/PaginatedTable\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { stringToDate, utcToLocal } from \"../services/date\";\r\nimport { formatDateTime, formatDecimal, formatDurationBetweenDates, useMoneyFormatter } from \"../services/format\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { useLocalizedText } from \"../services/localization\";\r\nimport { isProvided } from \"../services/objects\";\r\nimport { extractInitials } from \"../services/string\";\r\nimport { getImageTooltip } from \"../services/tooltip\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { useTimeLocationFilters } from \"../state/globalFilters\";\r\n\r\nimport \"./CustomerDetails.scss\";\r\n\r\ninterface State {\r\n missing: boolean;\r\n details?: CustomerDetailsView;\r\n statistics?: CustomerStatisticsView;\r\n}\r\n\r\nexport function CustomerDetails(props: {}) {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters();\r\n const { formatMoney } = useMoneyFormatter();\r\n const { config } = useDeploymentConfig();\r\n const { state, mergeState } = useStateEx({ missing: false });\r\n const {\r\n params: { customerId },\r\n } = useRouteMatch<{ customerId: string }>();\r\n\r\n const loadPurchaseData = useCallback(\r\n (offset: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new CustomersApi(config);\r\n return api.getDailyPurchases({\r\n ...filters,\r\n customerId: customerId,\r\n skip: offset,\r\n limit: limit,\r\n });\r\n },\r\n [customerId, filters]\r\n );\r\n\r\n const loadMessageData = useCallback(\r\n async (offset: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new CustomersApi(config);\r\n const messages = api.getMessages({\r\n ...filters,\r\n customerId: customerId,\r\n skip: offset,\r\n limit: limit,\r\n });\r\n\r\n window.setTimeout(() => {\r\n ReactTooltip.rebuild();\r\n }, 500);\r\n\r\n return messages;\r\n },\r\n [customerId, filters]\r\n );\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const api = new CustomersApi(config);\r\n api\r\n .get({\r\n customerId: customerId,\r\n })\r\n .then((result) => {\r\n if (isHttpOk(result) && isProvided(result.data)) {\r\n mergeState({ details: result.data });\r\n } else if (result.status === 404) {\r\n mergeState({ missing: true });\r\n } else {\r\n alert.error();\r\n }\r\n });\r\n\r\n api\r\n .getStatistics({\r\n ...filters,\r\n customerId: customerId,\r\n })\r\n .then((result) => {\r\n if (isHttpOk(result) && isProvided(result.data)) {\r\n mergeState({ statistics: result.data });\r\n } else if (result.status === 404) {\r\n mergeState({ missing: true });\r\n } else {\r\n alert.error();\r\n }\r\n });\r\n }, [customerId, mergeState, filters]);\r\n\r\n if (state.missing) {\r\n return ;\r\n } else if (!state.details) {\r\n return ;\r\n } else {\r\n const languages = {\r\n da: \"Danish\",\r\n de: \"German\",\r\n en: \"English\",\r\n fr: \"French\",\r\n hu: \"Hungarian\",\r\n it: \"Italian\",\r\n };\r\n const language = isProvided(state.details.language)\r\n ? languages[state.details.language as keyof typeof languages]\r\n : \"\";\r\n const fullName = (state.details.firstName || \"\") + \" \" + (state.details.lastName || \"\");\r\n const birthDay = stringToDate(state.details.birthDate, false);\r\n const ageGender = [];\r\n if (isProvided(birthDay)) {\r\n ageGender.push(differenceInYears(new Date(), birthDay) + \" years old\");\r\n }\r\n if (state.details.gender === Gender.Male) {\r\n ageGender.push(\"male\");\r\n } else if (state.details.gender === Gender.Female) {\r\n ageGender.push(\"female\");\r\n }\r\n\r\n const renderAvatar = () => {\r\n if (state.details?.avatarUrl && state.details.avatarUrl.length > 0) {\r\n return (\r\n \r\n );\r\n } else {\r\n const initials = extractInitials(fullName);\r\n return
{initials}
;\r\n }\r\n };\r\n\r\n const getTotalVisits = () => {\r\n const visits = state.statistics?.storeVisits;\r\n if (!visits) return 0;\r\n\r\n return visits.reduce((partialSum, visit) => partialSum + visit.nmOfVisits, 0);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {renderAvatar()}\r\n
\r\n

{fullName}

\r\n
\r\n
{ageGender.join(\", \")}
\r\n\r\n
\r\n
\r\n
Email
\r\n
{state.details.email || \"-\"}
\r\n
\r\n
\r\n
Country
\r\n
{state.details.country || \"-\"}
\r\n
\r\n
\r\n
City
\r\n
{state.details.city || \"-\"}
\r\n
\r\n
\r\n
Zip
\r\n
{state.details.zipCode || \"-\"}
\r\n
\r\n
\r\n
Street
\r\n
{state.details.street || \"-\"}
\r\n
\r\n
\r\n
House Number
\r\n
{state.details.houseNumber || \"-\"}
\r\n
\r\n
\r\n
Language
\r\n
{language}
\r\n
\r\n
\r\n
Phone
\r\n
{state.details.landlinePhone || \"-\"}
\r\n
\r\n
\r\n
Favorite {config.translations.store.singular}
\r\n
{state.details.favoriteStore?.name || \"-\"}
\r\n
\r\n
\r\n
Loyalty No.
\r\n
{state.details.externalId || \"-\"}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Logs

\r\n
\r\n
\r\n
\r\n
Created
\r\n
{state.details.joinDate || \"-\"}
\r\n
\r\n
\r\n
Modified
\r\n
-
\r\n
\r\n
\r\n
Disabled push
\r\n
{state.details.disablePushNotifications ? \"Yes\" : \"No\"}
\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 {!config.disablePurchaseHistories && (\r\n \r\n {\r\n return [model.label, model.nmPurchases, model.quantity, formatMoney(model.revenue)];\r\n }}\r\n minLoadingTimeMs={200}\r\n hidePagination={false}\r\n initialPageSize={5}\r\n />\r\n \r\n )}\r\n\r\n \r\n {\r\n return [\r\n \r\n {item.thumbnailUrl && \"thumbnail\"}\r\n {item.label || `[${item.id}] ${item.offerTitle ?? \"\"}`};\r\n ,\r\n \r\n {formatDateTime(utcToLocal(item.utcSent))}\r\n ,\r\n \r\n {formatDurationBetweenDates(item.utcSent, item.utcReceived)}\r\n ,\r\n \r\n {formatDurationBetweenDates(item.utcSent, item.utcRead)}\r\n ,\r\n \r\n {formatDurationBetweenDates(item.utcSent, item.utcClicked)}\r\n ,\r\n \r\n {formatDurationBetweenDates(item.utcSent, item.utcRedeemed)}\r\n ,\r\n ];\r\n }}\r\n minLoadingTimeMs={200}\r\n hidePagination={false}\r\n initialPageSize={5}\r\n />\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { useLayoutEffect, useMemo, useState, useCallback, useDebugValue } from \"react\";\r\n\r\nexport type Config = Record;\r\n\r\nexport type Breakpoint = {\r\n breakpoint: keyof C;\r\n maxWidth?: number | null;\r\n minWidth: C[keyof C];\r\n};\r\n\r\nexport type MediaQuery = {\r\n breakpoint: keyof C;\r\n maxWidth: number | null;\r\n minWidth: C[keyof C];\r\n query: string;\r\n};\r\n\r\n/**\r\n * Create media query objects\r\n * @param breakpoints the list of configured breakpoint names and their pixel values\r\n */\r\nconst createMediaQueries = (breakpoints: Config): MediaQuery[] => {\r\n const sortedBreakpoints = Object.keys(breakpoints).sort((a, b) => breakpoints[b] - breakpoints[a]);\r\n\r\n return sortedBreakpoints.map((breakpoint, index) => {\r\n let query = \"\";\r\n const minWidth = breakpoints[breakpoint];\r\n const nextBreakpoint = sortedBreakpoints[index - 1] as string | undefined;\r\n const maxWidth = nextBreakpoint ? breakpoints[nextBreakpoint] : null;\r\n\r\n if (minWidth >= 0) {\r\n query = `(min-width: ${minWidth}px)`;\r\n }\r\n\r\n if (maxWidth !== null) {\r\n if (query) {\r\n query += \" and \";\r\n }\r\n query += `(max-width: ${maxWidth - 1}px)`;\r\n }\r\n\r\n const mediaQuery: MediaQuery = {\r\n breakpoint,\r\n maxWidth: maxWidth ? maxWidth - 1 : null,\r\n minWidth,\r\n query,\r\n };\r\n\r\n return mediaQuery;\r\n });\r\n};\r\n\r\nconst EMPTY_BREAKPOINT = {\r\n breakpoint: undefined,\r\n minWidth: undefined,\r\n maxWidth: undefined,\r\n} as const;\r\n\r\n/**\r\n * A React hook to use the current responsive breakpoint.\r\n * Will listen to changes using the window.matchMedia API.\r\n * @param {*} config the list of configured breakpoint names and their pixel values\r\n * @param {*} [defaultBreakpoint] the optional default breakpoint\r\n * @param {*} [hydrateInitial] whether to return the default breakpoint on first render. Set to `false` if the real breakpoint should be returned instead. Only applies to the browser, not server-side.\r\n *\r\n * @example\r\n * const breakpoints = { mobile: 0, tablet: 768, desktop: 1280 }\r\n * ...\r\n * const result = useBreakpoint(breakpoints)\r\n * // { breakpoint: string; minWidth: number; maxWidth: number | null } | { breakpoint: undefined; minWidth: undefined; maxWidth: undefined }\r\n *\r\n * @example With default value\r\n * const breakpoints = { mobile: 0, tablet: 768, desktop: 1280 }\r\n * ...\r\n * const result = useBreakpoint(breakpoints, 'mobile')\r\n * // breakpoint: { breakpoint: string; minWidth: number; maxWidth: number | null }\r\n *\r\n * @example With default value, but not hydrated. This means the breakpoint might be different on the initial render.\r\n * const breakpoints = { mobile: 0, tablet: 768, desktop: 1280 }\r\n * ...\r\n * const result = useBreakpoint(breakpoints, 'mobile', false)\r\n * // breakpoint: { breakpoint: string; minWidth: number; maxWidth: number | null }\r\n */\r\nfunction useBreakpoint(config: C): Breakpoint | typeof EMPTY_BREAKPOINT;\r\nfunction useBreakpoint(config: C, defaultBreakpoint: keyof C, hydrateInitial: boolean): Breakpoint;\r\nfunction useBreakpoint(config: C, defaultBreakpoint?: keyof C, hydrateInitial?: boolean) {\r\n /** Memoize list of calculated media queries from config */\r\n const mediaQueries = useMemo(() => createMediaQueries(config), [config]);\r\n\r\n /** Get initial breakpoint value */\r\n const [currentBreakpoint, setCurrentBreakpoint] = useState | typeof EMPTY_BREAKPOINT>(() => {\r\n /** Loop through all media queries */\r\n for (const { query, ...breakpoint } of mediaQueries) {\r\n /**\r\n * If we're in the browser and there's no default value,\r\n * try to match actual breakpoint. If the default value\r\n * should not be hydrated, use the actual breakpoint.\r\n */\r\n if (typeof window !== \"undefined\" && !(defaultBreakpoint && hydrateInitial)) {\r\n const mediaQuery = window.matchMedia(query);\r\n if (mediaQuery.matches) {\r\n return breakpoint as Breakpoint;\r\n }\r\n } else if (breakpoint.breakpoint === defaultBreakpoint) {\r\n /** Otherwise, try to match default value */\r\n return breakpoint as Breakpoint;\r\n }\r\n }\r\n\r\n return EMPTY_BREAKPOINT;\r\n });\r\n\r\n /** If there's a match, update the current breakpoint */\r\n const updateBreakpoint = useCallback(\r\n ({ matches }: MediaQueryList | MediaQueryListEvent, breakpoint: Breakpoint) => {\r\n if (matches) {\r\n setCurrentBreakpoint((current) => {\r\n if (current.breakpoint === breakpoint.breakpoint) {\r\n return current;\r\n }\r\n return breakpoint;\r\n });\r\n }\r\n },\r\n []\r\n );\r\n\r\n useLayoutEffect(() => {\r\n const subscribers = mediaQueries.map(({ query, ...breakpoint }) => {\r\n const list = window.matchMedia(query);\r\n updateBreakpoint(list, breakpoint as Breakpoint);\r\n\r\n const handleChange = (event: MediaQueryListEvent) => {\r\n updateBreakpoint(event, breakpoint as Breakpoint);\r\n };\r\n\r\n list.addEventListener(\"change\", handleChange);\r\n\r\n return () => list.removeEventListener(\"change\", handleChange);\r\n });\r\n\r\n return () => subscribers.forEach((unsubscribe) => unsubscribe());\r\n }, [mediaQueries, updateBreakpoint]);\r\n\r\n useDebugValue(currentBreakpoint, (c) =>\r\n typeof c.breakpoint === \"string\"\r\n ? `${c.breakpoint} (${c.minWidth} ≤ x${c.maxWidth ? ` < ${c.maxWidth + 1}` : \"\"})`\r\n : \"\"\r\n );\r\n\r\n return currentBreakpoint;\r\n}\r\n\r\nexport default useBreakpoint;\r\n","import React from \"react\";\r\nimport { Bar, BarChart, ResponsiveContainer, XAxis } from \"recharts\";\r\nimport { SegmentGroupView } from \"../../api\";\r\nimport { useCachedInstance } from \"../../services/hooks\";\r\nimport { highlight } from \"../widgets/HighlightedString\";\r\nimport Card from \"./Card\";\r\n\r\nimport \"./CustomerSegmentCard.scss\";\r\n\r\ntype Props = {\r\n model: SegmentGroupView;\r\n highlightText?: string;\r\n onClickEdit?: () => void;\r\n onClickDelete?: () => void;\r\n};\r\n\r\nexport function CustomerSegmentCard(props: Props) {\r\n const segments = useCachedInstance(props.model.segments || []);\r\n\r\n return (\r\n \r\n
\r\n

{highlight(props.model.title || \"No title\", props.highlightText)}

\r\n \r\n \r\n \r\n value.toString() + \"%\" }}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { ChangeEventHandler, useState } from \"react\";\r\nimport { useController, useForm } from \"react-hook-form\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { cloneDeep, isNaN } from \"lodash\";\r\nimport { Bar, BarChart, XAxis } from \"recharts\";\r\nimport { SegmentGroupModel, SegmentModel } from \"../../api\";\r\nimport { SegmentGroupValidator } from \"../../services/validators\";\r\nimport { FormInput } from \"../forms/Input\";\r\nimport { Select } from \"../forms/Select\";\r\nimport { ValidationError } from \"../widgets/ValidationError\";\r\nimport { FormModalProps, showErrors } from \"./utils\";\r\n\r\nimport \"./EditCustomerSegment.scss\";\r\n\r\nconst SegmentationOptions = [\r\n { label: \"2 groups\", value: 2 },\r\n { label: \"3 groups\", value: 3 },\r\n { label: \"4 groups\", value: 4 },\r\n];\r\n\r\nfunction getSegments(nmParts: number): SegmentModel[] {\r\n switch (nmParts) {\r\n case 3:\r\n return [\r\n { name: \"Group A\", size: 33 },\r\n { name: \"Group B\", size: 34 },\r\n { name: \"Group C\", size: 33 },\r\n ];\r\n case 4:\r\n return [\r\n { name: \"Group A\", size: 25 },\r\n { name: \"Group B\", size: 25 },\r\n { name: \"Group C\", size: 25 },\r\n { name: \"Group D\", size: 25 },\r\n ];\r\n default:\r\n case 2:\r\n return [\r\n { name: \"Group A\", size: 50 },\r\n { name: \"Group B\", size: 50 },\r\n ];\r\n }\r\n}\r\n\r\ninterface Props extends FormModalProps {\r\n isNew: boolean;\r\n}\r\n\r\nexport default function EditCustomerSegment(props: Props) {\r\n const initial = cloneDeep(props.initial || {});\r\n\r\n const { register, control, handleSubmit, formState, setError, watch } = useForm({\r\n defaultValues: initial,\r\n resolver: yupResolver(SegmentGroupValidator),\r\n });\r\n watch(() => {\r\n if (props.onChange) props.onChange();\r\n });\r\n\r\n const { field: segmentsField, fieldState: segmentsFieldState } = useController({\r\n control: control,\r\n name: \"segments\",\r\n defaultValue: getSegments(2),\r\n });\r\n\r\n const handleSave = async (model: SegmentGroupModel) => {\r\n const result = await props.onSave({ ...model });\r\n if (!result.success) {\r\n showErrors(result, setError);\r\n }\r\n };\r\n\r\n const errors = formState.errors;\r\n\r\n const ReadonlyLabel = {\r\n formatter: (value: number) => value.toString() + \"%\",\r\n };\r\n\r\n function EditableLabel(props: {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n index: number;\r\n name: string;\r\n offset: number;\r\n value: number;\r\n viewBox: any;\r\n content: any;\r\n parentViewBox: any;\r\n textBreakAll: any;\r\n }) {\r\n const [state, setState] = useState(props.value.toString());\r\n\r\n const y = props.y + (props.height - 34) / 2;\r\n\r\n const handleChange: ChangeEventHandler = (e) => {\r\n setState(e.target.value);\r\n };\r\n\r\n const handleBlur: ChangeEventHandler = (e) => {\r\n const valueAsNumber = parseInt(state);\r\n const values = cloneDeep(segmentsField.value!);\r\n if (!isNaN(valueAsNumber) && valueAsNumber > 0 && valueAsNumber < 100) {\r\n if (values[props.index].size !== valueAsNumber) {\r\n values[props.index].size = valueAsNumber;\r\n segmentsField.onChange(values);\r\n }\r\n } else {\r\n setState(values[props.index].size.toString());\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n %\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

{props.isNew ? \"New Customer Segment\" : \"Edit Customer Segment\"}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n if (typeof value === \"number\") segmentsField.onChange(getSegments(value));\r\n }}\r\n value={segmentsField.value?.length || 2}\r\n readOnly={!props.isNew}\r\n hint={!props.isNew ? \"Changing number of groups is not possible on existing customer segments.\" : undefined}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {segmentsFieldState.error ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useCallback, useRef, useState } from \"react\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport useBreakpoint from \"../services/useBreakpoint\";\r\nimport { Modal, useModal } from \"../app/modals/Modal\";\r\nimport { PaginatedCards, PaginatedCardsApi } from \"../app/widgets/PaginatedCards\";\r\nimport { SegmentGroupModel, SegmentGroupsApi, SegmentGroupView } from \"../api\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useGlobalSearch } from \"../state/globalSearch\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ServiceResult } from \"../services/types\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { AlertContent, ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport { Result } from \"../app/modals/utils\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { CustomerSegmentCard } from \"../app/cards/CustomerSegmentCard\";\r\nimport Card from \"../app/cards/Card\";\r\nimport Loading from \"../app/widgets/Loading\";\r\nimport EditCustomerSegment from \"../app/modals/EditCustomerSegment\";\r\nimport { confirmDialog } from \"../services/alerts\";\r\n\r\nimport \"./CustomerSegments.scss\";\r\n\r\ninterface State {\r\n segmentId: number | null;\r\n model: SegmentGroupModel | null;\r\n totalCount: number;\r\n}\r\n\r\nconst breakpoints = { \"columns-1\": 0, \"columns-2\": 700, \"columns-3\": 1200 };\r\n\r\nexport function CustomerSegments(props: {}) {\r\n const { search } = useGlobalSearch();\r\n const { openModal, closeModal } = useModal();\r\n const breakpoint = useBreakpoint(breakpoints).breakpoint;\r\n const { state, mergeState } = useStateEx({\r\n totalCount: 0,\r\n model: null,\r\n segmentId: null,\r\n });\r\n const pageApi = useRef(null);\r\n const pageSize = breakpoint === \"columns-3\" ? 9 : breakpoint === \"columns-2\" ? 6 : 4;\r\n\r\n const [formModified, setFormModified] = useState(false);\r\n const changed = () => setFormModified(true);\r\n\r\n const loadData = useCallback(\r\n (offset: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new SegmentGroupsApi(config);\r\n return api.getAll({\r\n skip: offset,\r\n limit: limit,\r\n search: search,\r\n });\r\n },\r\n [search]\r\n );\r\n\r\n const editSegment = async (id: number) => {\r\n try {\r\n const config = getApiConfig();\r\n const api = new SegmentGroupsApi(config);\r\n const response = await api.getOne({\r\n segmentGroupId: id,\r\n });\r\n if (isHttpOk(response)) {\r\n mergeState({ model: response.data.data, segmentId: id });\r\n openModal();\r\n } else if (response.status === 404) {\r\n alert.error();\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n const newSegment = () => {\r\n mergeState({\r\n model: {\r\n id: 0,\r\n segments: [\r\n {\r\n size: 50,\r\n name: \"Group A\",\r\n },\r\n {\r\n size: 50,\r\n name: \"Group B\",\r\n },\r\n ],\r\n },\r\n segmentId: null,\r\n });\r\n openModal();\r\n };\r\n\r\n const saveSegment = async (model: SegmentGroupModel) => {\r\n let message: string;\r\n let result: AxiosResponse>;\r\n const config = getApiConfig();\r\n const api = new SegmentGroupsApi(config);\r\n\r\n try {\r\n if (state.segmentId === null) {\r\n message = `Customer segment '${model.title}' created.`;\r\n result = await api.create({\r\n segmentGroupModel: model,\r\n });\r\n } else {\r\n message = `Customer segment '${model.title}' saved.`;\r\n result = await api.update({\r\n segmentGroupId: state.segmentId,\r\n segmentGroupModel: model,\r\n });\r\n }\r\n\r\n if (isHttpOk(result)) {\r\n mergeState({ model: null });\r\n closeModal();\r\n setFormModified(false);\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Invalid();\r\n };\r\n\r\n const handleDelete = async (id: number, title?: string | null) => {\r\n const onConfirm = () => deleteSegment(id, title);\r\n confirmDialog(\"Delete this segment?\", onConfirm);\r\n };\r\n\r\n const deleteSegment = async (id: number, title?: string | null) => {\r\n try {\r\n const config = getApiConfig();\r\n const api = new SegmentGroupsApi(config);\r\n const result = await api._delete({\r\n segmentGroupId: id,\r\n });\r\n if (isHttpOk(result)) {\r\n const message = `Customer segment '${title}' deleted.`;\r\n mergeState({ model: null });\r\n closeModal();\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Invalid();\r\n };\r\n\r\n const handleCancel = () => {\r\n if (formModified) confirmDialog(\"Form has unsaved changes. Discard all?\", closeModalAndReset);\r\n else closeModalAndReset();\r\n };\r\n\r\n const closeModalAndReset = () => {\r\n setFormModified(false);\r\n mergeState({ model: null, segmentId: null });\r\n closeModal();\r\n };\r\n\r\n const loadingCardFactory = (index: number) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const cardFactory = (item: SegmentGroupView, index: number) => {\r\n return (\r\n editSegment(item.id)}\r\n onClickDelete={() => handleDelete(item.id, item.title)}\r\n highlightText={search}\r\n />\r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n mergeState({ totalCount: count })}\r\n />\r\n
\r\n );\r\n}\r\n","import { MouseEventHandler } from \"react\";\r\nimport * as api from \"../../api\";\r\nimport Card from \"./Card\";\r\nimport { highlight } from \"../widgets/HighlightedString\";\r\n\r\nimport \"./FeaturedItemCard.scss\";\r\n\r\ninterface ComponentProps extends api.FeaturedItemView {\r\n highlightedText?: string;\r\n onEditClick?: MouseEventHandler;\r\n onDeleteClick?: MouseEventHandler;\r\n}\r\n\r\nexport function FeaturedItemCard(props: ComponentProps) {\r\n const text = props.text;\r\n const imageUrl = props.imageUrl;\r\n const imageNode = imageUrl && \"featured-item\";\r\n\r\n return (\r\n \r\n
{imageNode}
\r\n
\r\n \r\n

{highlight(text, props.highlightedText)}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { cloneDeep, set } from \"lodash\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DeepMap, ErrorOption, FieldError, FieldPath, useForm, useFormState } from \"react-hook-form\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { FeaturedItemModel } from \"../../api\";\r\nimport { useStateEx } from \"../../services/hooks\";\r\nimport { checkErrors } from \"../../services/localization\";\r\nimport { FeaturedItemValidator } from \"../../services/validators\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { AlertMissingValidationErrors } from \"../forms/AlertMissingValidationErrors\";\r\nimport { ImageUploadButton } from \"../forms/ImageUpload\";\r\nimport { FormInput as Input } from \"../forms/Input\";\r\nimport LanguagePicker from \"../forms/LanguagePicker\";\r\nimport { ValidationMessage } from \"../widgets/Alerts\";\r\nimport { FormModalProps, showErrors } from \"./utils\";\r\n\r\nimport \"./EditFeaturedItem.scss\";\r\n\r\ninterface Props extends FormModalProps {\r\n existingItem: boolean;\r\n}\r\n\r\ntype State = {\r\n model: Partial;\r\n backendErrors: DeepMap, FieldError>;\r\n};\r\n\r\nfunction EditFeaturedItem(props: Props) {\r\n const model: Partial = props.initial || {\r\n textLocalizations: [],\r\n };\r\n const { state, mergeState } = useStateEx({\r\n model: model,\r\n backendErrors: {},\r\n });\r\n\r\n const defaultModel = cloneDeep(state.model);\r\n const languageList = useDeploymentConfig().config.allowedLanguages || [];\r\n if (!defaultModel.textLocalizations || defaultModel.textLocalizations.length === 0) {\r\n defaultModel.textLocalizations = languageList.map((l) => {\r\n return { languageCode: l, text: \"\" };\r\n });\r\n }\r\n\r\n const [selectedLanguage, setSelectedLanguage] = useState(languageList[0]);\r\n const { handleSubmit, formState, control, getValues, watch } = useForm({\r\n defaultValues: defaultModel,\r\n resolver: yupResolver(FeaturedItemValidator(languageList)),\r\n });\r\n useEffect(() => {\r\n var subscription = watch(() => {\r\n if (props.onChange) props.onChange();\r\n });\r\n return () => subscription.unsubscribe();\r\n }, [watch, props]);\r\n\r\n const { errors } = useFormState({ control });\r\n\r\n const translationIndex = defaultModel.textLocalizations.findIndex((t) => t.languageCode === selectedLanguage);\r\n const textField = `textLocalizations.${translationIndex}.text` as \"textLocalizations.0.text\";\r\n\r\n const cancel = () => {\r\n if (props.onCancel) props.onCancel();\r\n };\r\n\r\n const trySaveModel = async (model: FeaturedItemModel) => {\r\n if (props.onSave) {\r\n model = cloneDeep(model);\r\n const result = await props?.onSave(model);\r\n if (!result.success) {\r\n const errors = {};\r\n showErrors(result, (path: FieldPath, error: ErrorOption) => {\r\n alert.error();\r\n set(errors, path, error);\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getLanguageErrors = (): string[] => (errors ? checkErrors(languageList, errors.textLocalizations) : []);\r\n\r\n const getTitle = () => (props.existingItem ? \"Edit Featured Item\" : \"New Featured Item\");\r\n\r\n const getImageUrl = () => state.model.imageUrl || \"/images/image-placeholder.svg\";\r\n\r\n const updateImageUrl = () => {\r\n mergeState({\r\n model: { ...state.model, imageUrl: getValues().imageUrl },\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{getTitle()}

\r\n
\r\n
\r\n {\r\n setSelectedLanguage(value);\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\nexport default EditFeaturedItem;\r\n","import React, { useRef, useCallback } from \"react\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport Loading from \"../app/widgets/Loading\";\r\nimport { Result } from \"../app/modals/utils\";\r\nimport { Modal, useModal } from \"../app/modals/Modal\";\r\nimport { ServiceResult } from \"../services/types\";\r\nimport { AlertContent, ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport Card from \"../app/cards/Card\";\r\nimport { Download } from \"../app/icons/Icons\";\r\nimport { PaginatedCards, PaginatedCardsApi } from \"../app/widgets/PaginatedCards\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { FeaturedItemsApi, FeaturedItemModel, FeaturedItemView } from \"../api\";\r\nimport { useGlobalSearch } from \"../state/globalSearch\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { confirmDialog } from \"../services/alerts\";\r\nimport { FeaturedItemCard } from \"../app/cards/FeaturedItemCard\";\r\nimport EditFeaturedItem from \"../app/modals/EditFeaturedItem\";\r\nimport { isProvided } from \"../services/objects\";\r\n\r\nimport \"./FeaturedItems.scss\";\r\n\r\ntype State = {\r\n model: FeaturedItemModel | null;\r\n isNew: boolean;\r\n totalCount: number;\r\n formModified: boolean;\r\n};\r\n\r\nfunction FeaturedItems() {\r\n const pageApi = useRef(null);\r\n const { search } = useGlobalSearch();\r\n const { openModal, closeModal } = useModal();\r\n const { state, mergeState } = useStateEx({\r\n totalCount: 0,\r\n model: null,\r\n isNew: true,\r\n formModified: false,\r\n });\r\n const changed = () => mergeState({ formModified: true });\r\n\r\n const openAddModal = () => {\r\n mergeState({ isNew: true });\r\n openModal();\r\n };\r\n\r\n const handleCancel = () => {\r\n if (state.formModified) confirmDialog(\"Form has unsaved changes. Discard all?\", closeModalAndReset);\r\n else closeModalAndReset();\r\n };\r\n\r\n const closeModalAndReset = () => {\r\n mergeState({ model: null, formModified: false });\r\n closeModal();\r\n };\r\n\r\n const load = useCallback(\r\n (skip: number, limit: number) => {\r\n const config = getApiConfig();\r\n const api = new FeaturedItemsApi(config);\r\n return api.get({\r\n search: search,\r\n skip: skip,\r\n limit: limit,\r\n });\r\n },\r\n [search]\r\n );\r\n\r\n const loadingCardFactory = (key: number) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const loadedCardFactory = (model: FeaturedItemView, key: number) => {\r\n const id = model.id;\r\n\r\n const editItem = async () => {\r\n const config = getApiConfig();\r\n const api = new FeaturedItemsApi(config);\r\n\r\n try {\r\n const response = await api.getOne({ id: id });\r\n\r\n if (isHttpOk(response) && response.data) {\r\n mergeState({\r\n model: response.data,\r\n isNew: false,\r\n });\r\n\r\n openModal();\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n const deleteItem = async () => {\r\n const onConfirm = async () => {\r\n const config = getApiConfig();\r\n const api = new FeaturedItemsApi(config);\r\n\r\n try {\r\n var result = await api._delete({ id: id });\r\n\r\n if (isHttpOk(result)) {\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n\r\n return Result.Ok;\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n };\r\n\r\n confirmDialog(\"Delete Featured Item?\", onConfirm);\r\n };\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n const saveItem = async (model: FeaturedItemModel) => {\r\n const config = getApiConfig();\r\n const api = new FeaturedItemsApi(config);\r\n\r\n try {\r\n let message: string;\r\n let result: AxiosResponse>;\r\n\r\n if (!model.id) {\r\n message = `New Featured Item created.`;\r\n\r\n result = await api.create({\r\n featuredItemModel: model,\r\n });\r\n } else {\r\n message = `Featured Item updated.`;\r\n\r\n result = await api.update({\r\n id: model.id,\r\n featuredItemModel: model,\r\n });\r\n }\r\n\r\n if (isHttpOk(result)) {\r\n closeModalAndReset();\r\n alert.success();\r\n if (pageApi.current) pageApi.current.refreshPage();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Invalid();\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n mergeState({ totalCount: count })}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default FeaturedItems;\r\n","import { useEffect } from \"react\";\r\nimport { HealthChecksApi, HealthChecksView, TotalAndRateView } from \"../api\";\r\nimport StatsCardSimple from \"../app/cards/StatsCardSimple\";\r\nimport {\r\n Accuracy,\r\n BluetoothEnabled,\r\n LocationGreen,\r\n LocationLightGreen,\r\n NewAppCustomers,\r\n PermissionsGranted,\r\n PushNotificationEnabled,\r\n UserLocation,\r\n} from \"../app/icons/Icons\";\r\nimport { AnalyticsPageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { useStateEx } from \"../services/hooks\";\r\nimport { LocalizedText, useLocalizedText } from \"../services/localization\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { useTimeLocationFilters } from \"../state/globalFilters\";\r\n\r\nimport \"./HealthCheck.scss\";\r\n\r\nenum Widgets {\r\n totalAppUsers = \"totalAppUsers\",\r\n allPermissionsEnabled = \"allPermissionsEnabled\",\r\n pushNotificationEnabled = \"pushNotificationEnabled\",\r\n bluetoothEnabled = \"bluetoothEnabled\",\r\n locationAlwaysAllowed = \"locationAlwaysAllowed\",\r\n locationAllowedWhileUsing = \"locationAllowedWhileUsing\",\r\n locationFullPrecision = \"locationFullPrecision\",\r\n locationEnabled = \"locationEnabled\",\r\n}\r\n\r\nfunction createWidget(texts: LocalizedText, model: HealthChecksView, widget: Widgets, onClick?: () => void) {\r\n const renderRateSubItem = (rate: number) => ({ label: \"Rate\", percentage: Math.round(rate * 100) });\r\n switch (widget) {\r\n case Widgets.totalAppUsers:\r\n return (\r\n }\r\n />\r\n );\r\n case Widgets.allPermissionsEnabled:\r\n var rateItem = renderRateSubItem(model.allPermissionsEnabled!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n case Widgets.pushNotificationEnabled:\r\n rateItem = renderRateSubItem(model.pushNotificationEnabled!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n case Widgets.bluetoothEnabled:\r\n rateItem = renderRateSubItem(model.bluetoothEnabled!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n case Widgets.locationAlwaysAllowed:\r\n rateItem = renderRateSubItem(model.locationAlwaysAllowed!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n case Widgets.locationAllowedWhileUsing:\r\n rateItem = renderRateSubItem(model.locationAllowedWhileUsing!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n case Widgets.locationFullPrecision:\r\n rateItem = renderRateSubItem(model.locationFullPrecision!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n case Widgets.locationEnabled:\r\n rateItem = renderRateSubItem(model.locationEnabled!.rate);\r\n return (\r\n }\r\n items={[rateItem]}\r\n />\r\n );\r\n }\r\n}\r\n\r\nconst empty = (): TotalAndRateView => ({ total: 0, rate: 0 });\r\n\r\nexport function HealthCheck() {\r\n const texts = useLocalizedText();\r\n const filters = useTimeLocationFilters(\"HealthCheck\");\r\n\r\n const topWidgets: Widgets[] = [\r\n Widgets.totalAppUsers,\r\n Widgets.allPermissionsEnabled,\r\n Widgets.pushNotificationEnabled,\r\n Widgets.bluetoothEnabled,\r\n ];\r\n const bottomWidgets: Widgets[] = [\r\n Widgets.locationAlwaysAllowed,\r\n Widgets.locationAllowedWhileUsing,\r\n Widgets.locationFullPrecision,\r\n Widgets.locationEnabled,\r\n ];\r\n\r\n const { state, mergeState } = useStateEx({\r\n totalUsers: 0,\r\n allPermissionsEnabled: empty(),\r\n pushNotificationEnabled: empty(),\r\n bluetoothEnabled: empty(),\r\n locationAlwaysAllowed: empty(),\r\n locationAllowedWhileUsing: empty(),\r\n locationFullPrecision: empty(),\r\n locationEnabled: empty(),\r\n });\r\n\r\n useEffect(() => {\r\n const api = new HealthChecksApi(getApiConfig());\r\n api.getHealthChecks({ ...filters }).then((result) => {\r\n if (isHttpOk(result)) mergeState(result.data);\r\n });\r\n }, [filters, mergeState]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n {topWidgets.map((item, index) => (\r\n
\r\n {createWidget(texts, state, item)}\r\n
\r\n ))}\r\n
\r\n
\r\n {bottomWidgets.map((item, index) => (\r\n
\r\n {createWidget(texts, state, item)}\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n}\r\n","import { StoresApi, StoreView } from \"../../api\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./LocationOverviewStores.scss\";\r\n\r\nexport default function LocationOverviewStores() {\r\n const { config } = useDeploymentConfig();\r\n const apiConfig = getApiConfig();\r\n\r\n const loadPage = (offset: number, limit: number) => {\r\n const api = new StoresApi(apiConfig);\r\n return api.get({ skip: offset, limit });\r\n };\r\n\r\n const renderCells = (store: StoreView, index: number) => {\r\n const status = store.status || \"\";\r\n const classNames = [\"store-status\", status.toLowerCase()];\r\n\r\n return [\r\n store.name,\r\n store.country,\r\n store.city,\r\n store.street,\r\n store.zipCode,\r\n {status},\r\n ];\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

\r\n All {config.translations.store.plural}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { format } from \"date-fns\";\r\nimport { BeaconsApi, BeaconView } from \"../../api\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { PaginatedTable } from \"../widgets/PaginatedTable\";\r\n\r\nimport \"./LocationOverviewBeacons.scss\";\r\n\r\nexport default function LocationOverviewBeacons() {\r\n const { config } = useDeploymentConfig();\r\n const apiConfig = getApiConfig();\r\n\r\n const loadPage = (offset: number, limit: number) => {\r\n const api = new BeaconsApi(apiConfig);\r\n return api.getAll({ skip: offset, limit });\r\n };\r\n\r\n const renderCells = (model: BeaconView, index: number) => {\r\n return [\r\n model.name,\r\n model.storeName,\r\n model.lastContact ? (\r\n {format(new Date(model.lastContact), \"dd.MM - HH:mm\")}\r\n ) : (\r\n Never\r\n ),\r\n ];\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

\r\n Beacon Activity\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { AuthenticationOptions } from \"./Types\";\r\n\r\n// Add authentication details for connecting to Azure Maps.\r\nexport const AuthOptions: AuthenticationOptions = {\r\n // Alternatively, use an Azure Maps key. Get an Azure Maps key at https://azure.com/maps. NOTE: The primary key should be used as the key.\r\n clientId: \"deddb22d-d837-430c-9f82-eb8227d1acba\",\r\n subscriptionKey: \"QJ_aQZTpA5X6zA6ymUWPLq7Xbp2ehtxS6dc1dMmAR0g\",\r\n};\r\n\r\nexport const Constants = {\r\n events: {\r\n tokenAcquired: \"tokenacquired\",\r\n },\r\n tokenExpiresIn: 3599,\r\n tokenRefreshClockSkew: 300,\r\n errors: {\r\n tokenExpired: \"Token Expired, Try again\",\r\n },\r\n AUTHORIZATION: \"authorization\",\r\n AUTHORIZATION_SCHEME: \"Bearer\",\r\n MAP_AGENT: \"Map-Agent\",\r\n MS_AM_REQUEST_ORIGIN: \"Ms-Am-Request-Origin\",\r\n MS_AM_REQUEST_ORIGIN_VALUE: \"MapControl\",\r\n X_MS_CLIENT_ID: \"x-ms-client-id\",\r\n SESSION_ID: \"Session-Id\",\r\n SHORT_DOMAIN: \"atlas.microsoft.com\",\r\n DEFAULT_DOMAIN: \"https://atlas.microsoft.com/\",\r\n SDK_VERSION: \"0.0.1\",\r\n TARGET_SDK: \"Leaflet\",\r\n};\r\n","/* eslint-disable no-bitwise */\r\n\r\nexport class Helpers {\r\n /** Generates a unique GUID. */\r\n public static uuid(): string {\r\n // @ts-ignore\r\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\r\n (c ^ (window.crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16)\r\n );\r\n }\r\n}\r\n","import { AuthenticationOptions, RequestParameters } from \"./Types\";\r\nimport { Constants } from \"./Constants\";\r\nimport { Helpers } from \"./Helpers\";\r\n\r\nfunction cleanDomain(domain?: string) {\r\n // Remove any domain that might be in the domain.\r\n if (domain && /^\\w+:\\/\\//.test(domain)) {\r\n // If the provided url includes a protocol don't change it.\r\n return domain.replace(/^\\w+:\\/\\//, \"\");\r\n }\r\n return domain;\r\n}\r\n\r\n/**\r\n * A manager for the map control's authentication.\r\n * Exposed through the authentication property of the atlas.Map class.\r\n * Cannot be instantiated by the user.\r\n */\r\n\r\nexport class RequestAuthenticator {\r\n private readonly options: AuthenticationOptions;\r\n private readonly sessionId;\r\n private static instance: RequestAuthenticator;\r\n\r\n public static getInstance(authOptions: AuthenticationOptions): RequestAuthenticator {\r\n const options = { ...authOptions, azMapsDomain: cleanDomain(authOptions.azMapsDomain) };\r\n\r\n if (RequestAuthenticator.instance && RequestAuthenticator.instance.compareOptions(options)) {\r\n return RequestAuthenticator.instance;\r\n }\r\n\r\n const newInstance = new RequestAuthenticator(options);\r\n\r\n // Cache the instance for faster processing of additional layers and allow reuse of the same instance.\r\n if (!RequestAuthenticator.instance) {\r\n RequestAuthenticator.instance = newInstance;\r\n }\r\n\r\n return newInstance;\r\n }\r\n\r\n public compareOptions(authOptions: AuthenticationOptions): boolean {\r\n const opt = this.options;\r\n return (\r\n authOptions.azMapsDomain === opt.azMapsDomain &&\r\n authOptions.clientId === opt.clientId &&\r\n authOptions.subscriptionKey === opt.subscriptionKey\r\n );\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(authOptions: AuthenticationOptions) {\r\n this.options = authOptions;\r\n this.sessionId = Helpers.uuid();\r\n }\r\n\r\n public signRequest(request: RequestParameters): RequestParameters {\r\n const opt = this.options;\r\n const h = Constants;\r\n\r\n request.url = request.url.replace(\"{azMapsDomain}\", opt.azMapsDomain || \"\");\r\n\r\n // Add the headers used for identifying a request is from the map control.\r\n const headers = request.headers || {};\r\n headers[h.SESSION_ID] = this.sessionId;\r\n headers[h.MS_AM_REQUEST_ORIGIN] = h.MS_AM_REQUEST_ORIGIN_VALUE;\r\n headers[h.MAP_AGENT] = `MapControl/${h.SDK_VERSION} (${h.TARGET_SDK})`;\r\n\r\n if (\"url\" in request) {\r\n let prefix = \"?\";\r\n if (request.url.indexOf(\"?\") !== -1) {\r\n prefix = \"&\";\r\n }\r\n request.url += `${prefix}subscription-key=${this.options.subscriptionKey}`;\r\n } else {\r\n throw new Error(\"No URL specified in request.\");\r\n }\r\n\r\n request.headers = headers;\r\n\r\n return request;\r\n }\r\n\r\n public getRequest(url: string): Promise {\r\n const request = this.signRequest({ url: url });\r\n\r\n // Process the request.\r\n return fetch(request.url!, {\r\n method: \"GET\",\r\n mode: \"cors\",\r\n headers: new Headers(request.headers),\r\n });\r\n }\r\n}\r\n","import L from \"leaflet\";\r\nimport { AzureMapsTileLayerOptions } from \"./Types\";\r\nimport { RequestAuthenticator } from \"./RequestAuthenticator\";\r\nimport { Constants } from \"./Constants\";\r\n\r\nconst renderV2TileUrl =\r\n \"https://{azMapsDomain}/map/tile?api-version=2.0&tilesetId={tilesetId}&zoom={z}&x={x}&y={y}&tileSize={tileSize}&language={language}&view={view}\";\r\nconst trafficFlowTileUrl =\r\n \"https://{azMapsDomain}/traffic/flow/tile/png?api-version=1.0&style={style}&zoom={z}&x={x}&y={y}\";\r\nconst trafficIncidentTileUrl =\r\n \"https://{azMapsDomain}/traffic/incident/tile/png?api-version=1.0&style={style}&zoom={z}&x={x}&y={y}\";\r\n\r\n/**\r\n * A tile layer that connects to the Azure Maps Render V2 service.\r\n */\r\nexport class AzureMapsTiles extends L.TileLayer {\r\n /************************\r\n * Private properties\r\n ***********************/\r\n\r\n private exOptions: AzureMapsTileLayerOptions;\r\n private authManager: RequestAuthenticator;\r\n private baseUrl: string = renderV2TileUrl;\r\n\r\n /************************\r\n * Constructor\r\n ***********************/\r\n\r\n /**\r\n * A tile layer that connects to the Azure Maps Render V2 service.\r\n * @param options Azure Maps Tile layer options.\r\n */\r\n constructor(options: AzureMapsTileLayerOptions) {\r\n super(renderV2TileUrl, {\r\n tileSize: 256,\r\n language: \"en-US\",\r\n view: \"Auto\",\r\n tilesetId: \"microsoft.base.road\",\r\n trafficFlowThickness: 5,\r\n ...options,\r\n });\r\n\r\n this.exOptions = this.options as AzureMapsTileLayerOptions;\r\n const au = this.exOptions.authOptions || {};\r\n\r\n if (!au.azMapsDomain) {\r\n au.azMapsDomain = Constants.SHORT_DOMAIN;\r\n }\r\n\r\n const am = RequestAuthenticator.getInstance(au);\r\n this.authManager = am;\r\n\r\n this.setTilesetId(this.exOptions.tilesetId);\r\n }\r\n\r\n /**\r\n * Gets the attributions for the tile layer.\r\n */\r\n public getAttribution(): string {\r\n if (this.exOptions.hideAttribution) return \"\";\r\n const attr = this.exOptions.attribution;\r\n const id = this.exOptions.tilesetId;\r\n if (id) {\r\n let partner: string | undefined;\r\n if (id.startsWith(\"microsoft.base.\") || id.startsWith(\"microsoft.traffic.\")) {\r\n partner = \"TomTom\";\r\n } else if (id.startsWith(\"microsoft.weather.\")) {\r\n partner = \"AccuWeather\";\r\n } else if (id === \"microsoft.imagery\") {\r\n partner = \"DigitalGlobe\";\r\n }\r\n if (partner) {\r\n return `© ${new Date().getFullYear()} ${partner}, Microsoft`;\r\n } else if (!attr) {\r\n return `© ${new Date().getFullYear()} Microsoft`;\r\n }\r\n }\r\n return attr || \"\";\r\n }\r\n\r\n /**\r\n * Gets the tile URL for the specified map tile coordinates.\r\n * @param coords Map tile coordinates.\r\n */\r\n public getTileUrl(coords: L.Coords): string {\r\n return this.getFormattedUrl()\r\n .replace(\"{x}\", coords.x.toString())\r\n .replace(\"{y}\", coords.y.toString())\r\n .replace(\"{z}\", this._getZoomForUrl().toString());\r\n }\r\n\r\n /**\r\n * Creates a map tile for the layer.\r\n * @param coords Map tile coordinates.\r\n * @param done Callback function for when the map tile has finished loading.\r\n */\r\n public createTile(coords: L.Coords, done: L.DoneCallback) {\r\n const img = document.createElement(\"img\");\r\n img.setAttribute(\"role\", \"presentation\");\r\n\r\n if (this.exOptions.tilesetId) {\r\n this.authManager.getRequest(this.getTileUrl(coords)).then((result) => {\r\n result.blob().then((blobResponse) => {\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n img.src = reader.result as string;\r\n img.style.visibility = \"visible\";\r\n done();\r\n };\r\n reader.readAsDataURL(blobResponse);\r\n });\r\n });\r\n }\r\n\r\n return img;\r\n }\r\n\r\n /** Gets the geopolitical view setting of the layer. */\r\n public getView() {\r\n return this.exOptions.view;\r\n }\r\n\r\n /** Sets the geopolitical view setting of the layer. */\r\n public setView(view: string): void {\r\n this.exOptions.view = view;\r\n }\r\n\r\n /** Gets the language code used by the layer. */\r\n public getLanguage() {\r\n return this.exOptions.language;\r\n }\r\n\r\n /**\r\n * Sets the language code to append to the request.\r\n * @param language The language code to set.\r\n */\r\n public setLanguage(language: string): void {\r\n // @ts-ignore\r\n this.options.language = language;\r\n this.refresh();\r\n }\r\n\r\n /** Gets the tileset ID of the layer. */\r\n public getTilesetId() {\r\n return this.exOptions.tilesetId;\r\n }\r\n\r\n /**\r\n * Sets the tileset ID of the layer.\r\n * @param tilesetId The tileset to change to.\r\n */\r\n public setTilesetId(tilesetId?: string): void {\r\n this.exOptions.tilesetId = tilesetId;\r\n this.baseUrl = renderV2TileUrl;\r\n if (tilesetId) {\r\n if (tilesetId.startsWith(\"microsoft.traffic.flow\")) {\r\n this.baseUrl = trafficFlowTileUrl;\r\n } else if (tilesetId.startsWith(\"microsoft.traffic.incident\")) {\r\n this.baseUrl = trafficIncidentTileUrl;\r\n }\r\n }\r\n\r\n this.refresh();\r\n }\r\n\r\n /**\r\n * Gets the time stamp value setting.\r\n */\r\n public getTimeStamp() {\r\n return this.exOptions.timeStamp;\r\n }\r\n\r\n /**\r\n * Sets the time stamp option of the request.\r\n * @param timeStamp Time stamp value.\r\n */\r\n public setTimeStamp(timeStamp: string | Date): void {\r\n this.exOptions.timeStamp = timeStamp;\r\n this.refresh();\r\n }\r\n\r\n /**\r\n * Gets the traffic flow thickness setting.\r\n */\r\n public getTrafficFlowThickness() {\r\n return this.exOptions.trafficFlowThickness;\r\n }\r\n\r\n /**\r\n * sets the traffic flow thickness setting.\r\n */\r\n public setTrafficFlowThickness(thickness: number): void {\r\n this.exOptions.trafficFlowThickness = thickness;\r\n this.refresh();\r\n }\r\n\r\n private refresh(): void {\r\n super.setUrl(this.getFormattedUrl());\r\n }\r\n\r\n private getFormattedUrl(): string {\r\n const opt = this.exOptions;\r\n\r\n let url = this.baseUrl\r\n .replace(\"{tileSize}\", this.getAzureTileSize())\r\n .replace(\"{language}\", opt.language || \"\")\r\n .replace(\"{view}\", opt.view || \"\")\r\n .replace(\"{tilesetId}\", opt.tilesetId || \"\");\r\n\r\n if (opt.tilesetId && opt.tilesetId.startsWith(\"microsoft.traffic\")) {\r\n url = url.replace(\"{style}\", this.getTrafficStyle() || \"\");\r\n\r\n if (opt.tilesetId.indexOf(\"flow\") > 0) {\r\n url += \"&thickness=\" + opt.trafficFlowThickness;\r\n }\r\n }\r\n\r\n if (opt.timeStamp) {\r\n let ts = opt.timeStamp as string;\r\n if (opt.timeStamp instanceof Date) {\r\n // Create an ISO 8601 timestamp string.\r\n // JavaScripts format for ISO string includes decimal seconds and the letter \"Z\" at the end that is not supported. Use slice to remove this.\r\n ts = opt.timeStamp.toISOString().slice(0, 19);\r\n }\r\n url = url.replace(\"{timeStamp}\", ts);\r\n }\r\n\r\n return url;\r\n }\r\n\r\n private getAzureTileSize(): string {\r\n const ts = this.options.tileSize;\r\n return !!ts ? (typeof ts === \"number\" ? ts : ts.x).toString() : \"\";\r\n }\r\n\r\n private getTrafficStyle(): string | null {\r\n const ts = this.exOptions.tilesetId;\r\n if (ts && ts.indexOf(\"microsoft.traffic.\") > -1) {\r\n return ts.replace(\"microsoft.traffic.incident.\", \"\").replace(\"microsoft.traffic.flow.\", \"\");\r\n }\r\n return null;\r\n }\r\n}\r\n","import clsx from \"clsx\";\r\nimport { divIcon, LatLngExpression, LeafletMouseEvent, map, marker, point, svg } from \"leaflet\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { Coordinates } from \"../../api\";\r\nimport { useEventHandler } from \"../../services/hooks\";\r\nimport { AzureMapsTiles } from \"../world-map/AzureMapsTiles\";\r\nimport { AuthOptions, Constants } from \"../world-map/Constants\";\r\nimport { RequestAuthenticator } from \"../world-map/RequestAuthenticator\";\r\nimport { ErrorResponse, SearchResult } from \"../world-map/Types\";\r\n\r\n// eslint-disable-next-line import/no-internal-modules\r\nimport \"leaflet/dist/leaflet.css\";\r\nimport \"./LocationPicker.scss\";\r\n\r\ntype Map = ReturnType;\r\n\r\nexport async function searchAddress(address: string) {\r\n const auth = RequestAuthenticator.getInstance(AuthOptions);\r\n const url = `${Constants.DEFAULT_DOMAIN}/search/address/json?api-version=1.0&query=${encodeURI(address)}`;\r\n const response = await auth.getRequest(url);\r\n if (response.status === 200) {\r\n const data: SearchResult = await response.json();\r\n return data;\r\n } else {\r\n const data: ErrorResponse = await response.json();\r\n return data;\r\n }\r\n}\r\n\r\nexport function LocationPicker(props: { value: Coordinates | null; onChange: (position: Coordinates) => void }) {\r\n const mapRef = useRef();\r\n const divRef = useRef(null);\r\n const onChange = useEventHandler(props.onChange);\r\n const [hasView, setHasView] = useState(false);\r\n const value = props.value;\r\n\r\n const setInitialView = useCallback(\r\n (map: Map) => {\r\n if (!value) return;\r\n const ll: LatLngExpression = [value.latitude, value.longitude];\r\n map.setView(ll, 15, { animate: false });\r\n setHasView(true);\r\n },\r\n [value, setHasView]\r\n );\r\n\r\n useEffect(() => {\r\n if (!divRef.current) return;\r\n\r\n const instance = map(divRef.current, {\r\n renderer: svg(),\r\n minZoom: 1,\r\n });\r\n\r\n const layer = new AzureMapsTiles({\r\n authOptions: AuthOptions,\r\n tilesetId: \"microsoft.base.road\",\r\n language: \"en-US\",\r\n hideAttribution: true,\r\n });\r\n instance.addLayer(layer);\r\n\r\n if (value) {\r\n setInitialView(instance);\r\n }\r\n instance.addEventListener(\"click\", (e: LeafletMouseEvent) => {\r\n onChange.current({\r\n latitude: e.latlng.lat,\r\n longitude: e.latlng.lng,\r\n });\r\n });\r\n\r\n mapRef.current = instance;\r\n return () => {\r\n instance.remove();\r\n mapRef.current = undefined;\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [onChange]);\r\n\r\n const hasValue = value !== null;\r\n useEffect(() => {\r\n if (!mapRef.current || !hasValue) return;\r\n const map = mapRef.current;\r\n const ll: LatLngExpression = [value.latitude, value.longitude];\r\n const instance = marker(ll, {\r\n icon: divIcon({\r\n html: ``,\r\n className: \"marker\",\r\n iconSize: point(24, 24),\r\n }),\r\n });\r\n instance.addTo(map);\r\n\r\n if (!hasView) {\r\n setInitialView(map);\r\n } else if (!map.getBounds().contains(ll)) {\r\n map.flyTo(ll, undefined, { animate: true });\r\n }\r\n\r\n return () => {\r\n instance.removeFrom(map);\r\n };\r\n }, [hasValue, value?.latitude, value?.longitude, hasView, setHasView, setInitialView]);\r\n\r\n return
;\r\n}\r\n","/**\r\n * Options for specifying how the map control should authenticate with the Azure Maps services.\r\n */\r\nexport interface AuthenticationOptions {\r\n /** A URL string pointing to the domain of the Azure Maps service, default is `\"atlas.microsoft.com\"`. */\r\n azMapsDomain?: string;\r\n\r\n /**\r\n * Subscription key from your Azure Maps account.\r\n * Must be specified for subscription key authentication type.\r\n */\r\n subscriptionKey?: string;\r\n\r\n /**\r\n * The Azure Maps client ID, This is an unique identifier used to identify the maps account.\r\n * Preferred to always be specified, but must be specified for AAD and anonymous authentication types.\r\n */\r\n clientId?: string;\r\n}\r\n\r\n/** Options for an Azure Maps tile layer. */\r\nexport interface AzureMapsTileLayerOptions extends L.TileLayerOptions {\r\n /** Required. Authentication options for connecting to Azure Maps. */\r\n authOptions: AuthenticationOptions;\r\n\r\n /** The tile set ID layer to load from the Azure Maps Render V2 service. Custom tileset ID's that return raster tiles that are 256x256 pixels in size can also be specified as a string. Default `'microsoft.base.road'` */\r\n tilesetId?: string;\r\n\r\n /** Geopolitical view of the map. [Supported views](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages#sdks) Default: `'Auto'` */\r\n view?: string;\r\n\r\n /** Language code. [Supported languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) Default: `'en-US'` */\r\n language?: string;\r\n\r\n /** The desired date and time of the requested tile. This parameter must be specified in the standard date-time format (e.g. 2019-11-14T16:03:00-08:00), as defined by ISO 8601. This parameter is only supported when tilesetId parameter is set to `microsoft.weather.infrared.main` or `microsoft.weather.radar.main`. */\r\n timeStamp?: string | Date;\r\n\r\n /** The thickness of lines when using the traffic flow tilesets. Default: `5` */\r\n trafficFlowThickness?: number;\r\n\r\n hideAttribution?: boolean;\r\n}\r\n\r\n/**\r\n * This is the object type expected to be returned by the transformRequest callback.\r\n */\r\nexport class RequestParameters {\r\n /**\r\n * Used to specify the cross-origin request (CORs) credentials setting. Can be `'same-origin'` or `'include'`.\r\n */\r\n public credentials?: string = undefined;\r\n\r\n /**\r\n * The headers to be sent with the request.\r\n */\r\n public headers?: Record = undefined;\r\n\r\n /**\r\n * The url to be requested.\r\n */\r\n public url: string;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(credentials?: string, headers?: Record, url?: string) {\r\n this.credentials = credentials;\r\n this.headers = headers;\r\n this.url = url || \"\";\r\n }\r\n}\r\n\r\nexport interface SearchResult {\r\n results: SearchAddressResultItem[];\r\n summary: SearchSummary;\r\n}\r\n\r\nexport interface ErrorResponse {\r\n error: ErrorDetail;\r\n}\r\n\r\nexport function isError(arg: any | ErrorResponse): arg is ErrorResponse {\r\n return arg.error && arg.error.code && arg.error.message && arg.error.target;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n /** The error additional info. */\r\n additionalInfo?: { info: any; type: string }[];\r\n\r\n /** The error code. */\r\n code: string;\r\n\r\n /** The error details. */\r\n details?: ErrorDetail[];\r\n\r\n /** The error message. */\r\n message: string;\r\n\r\n /** The error target. */\r\n target: string;\r\n}\r\n\r\nexport interface EntryPoint {\r\n position: LatLongPairAbbreviated;\r\n type: \"main\" | \"minor\";\r\n}\r\n\r\nexport enum GeographicEntityType {\r\n /** Country name */\r\n Country = \"Country\",\r\n /** County */\r\n CountrySecondarySubdivision = \"CountrySecondarySubdivision\",\r\n /** State or Province */\r\n CountrySubdivision = \"CountrySubdivision\",\r\n /** Named Area */\r\n CountryTertiarySubdivision = \"CountryTertiarySubdivision\",\r\n /** City / Town */\r\n Municipality = \"Municipality\",\r\n /** Sub / Super City */\r\n MunicipalitySubdivision = \"MunicipalitySubdivision\",\r\n /** Neighbourhood */\r\n Neighbourhood = \"Neighbourhood\",\r\n /** Postal Code / Zip Code */\r\n PostalCodeArea = \"PostalCodeArea\",\r\n}\r\n\r\nexport interface Address {\r\n /** //The bounding box of the location. */\r\n /** boundingBox: BoundingBoxCompassNotation; */\r\n\r\n /** The building number on the street. DEPRECATED, use streetNumber instead. */\r\n buildingNumber: string;\r\n\r\n /** Country name */\r\n country: string;\r\n\r\n /** Country (Note: This is a two-letter code, not a country name.) */\r\n countryCode: string;\r\n\r\n /** ISO alpha-3 country code */\r\n countryCodeISO3: string;\r\n\r\n /** County */\r\n countrySecondarySubdivision: string;\r\n\r\n /** State or Province */\r\n countrySubdivision: string;\r\n\r\n /** The full name of a first level of country administrative hierarchy. This field appears only in case countrySubdivision is presented in an abbreviated form. Only supported for USA, Canada, and United Kingdom. */\r\n countrySubdivisionName: string;\r\n\r\n /** Named Area */\r\n countryTertiarySubdivision: string;\r\n\r\n /** The name of the street being crossed. */\r\n crossStreet: string;\r\n\r\n /** Extended postal code (availability is dependent on the region). */\r\n extendedPostalCode: string;\r\n\r\n /** An address line formatted according to the formatting rules of a Result's country of origin, or in the case of a country, its full country name. */\r\n freeformAddress: string;\r\n\r\n /** An address component which represents the name of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unit. This field is used to build the freeformAddress property. */\r\n localName: string;\r\n\r\n /** City / Town */\r\n municipality: string;\r\n\r\n /** Sub / Super City */\r\n municipalitySubdivision: string;\r\n\r\n /** Postal Code / Zip Code */\r\n postalCode: string;\r\n\r\n /** The codes used to unambiguously identify the street */\r\n routeNumbers: string[];\r\n\r\n /** The street name. DEPRECATED, use streetName instead. */\r\n street: string;\r\n\r\n /** The street name. */\r\n streetName: string;\r\n\r\n /** The street name and number. */\r\n streetNameAndNumber: string;\r\n\r\n /** The building number on the street. */\r\n streetNumber: string;\r\n}\r\n\r\nexport interface AddressRanges {\r\n from: LatLongPairAbbreviated;\r\n to: LatLongPairAbbreviated;\r\n rangeLeft: string;\r\n rangeRight: string;\r\n}\r\n\r\nexport interface SearchAddressResultItem {\r\n /** The address of the result */\r\n address: Address;\r\n\r\n /** Describes the address range on both sides of the street for a search result. Coordinates for the start and end locations of the address range are included. */\r\n addressRanges: AddressRanges;\r\n\r\n /** //Optional section. Reference geometry id for use with the Get Search Polygon API. */\r\n /** dataSources: DataSources; */\r\n\r\n /** Detour time in seconds. Only returned for calls to the Search Along Route API. */\r\n detourTime: number;\r\n\r\n /** Straight line distance between the result and geobias location in meters. */\r\n dist: number;\r\n\r\n /** Geography entity type. Present only when entityType was requested and is available. */\r\n entityType: GeographicEntityType;\r\n\r\n /** Array of EntryPoints. Those describe the types of entrances available at the location. The type can be \"main\" for main entrances such as a front door, or a lobby, and \"minor\", for side and back doors. */\r\n entryPoints: EntryPoint[];\r\n\r\n /** Id property */\r\n id: string;\r\n\r\n /** Information about the original data source of the Result. Used for support requests. */\r\n info: string;\r\n\r\n /**\r\n * Information on the type of match.\r\n * One of:\r\n * AddressPoint\r\n * HouseNumberRange\r\n * Street\r\n */\r\n matchType: \"AddressPoint\" | \"HouseNumberRange\" | \"Street\";\r\n\r\n /** // Details of the returned POI including information such as the name, phone, url address, and classifications. */\r\n /** poi: PointOfInterest; */\r\n\r\n /** A location represented as a latitude and longitude using short names 'lat' & 'lon'. */\r\n position: LatLongPairAbbreviated;\r\n\r\n /** The value within a result set to indicate the relative matching score between results. You can use this to determine that result x is twice as likely to be as relevant as result y if the value of x is 2x the value of y. The values vary between queries and is only meant as a relative value for one result set. */\r\n score: number;\r\n\r\n /** One of:\r\n * POI\r\n * Street\r\n * Geography\r\n * Point Address\r\n * Address Range\r\n * Cross Street\r\n */\r\n type: SearchAddressResultType;\r\n\r\n /** The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport. */\r\n viewport: BoundingBox;\r\n}\r\n\r\nexport interface BoundingBox {\r\n btmRightPoint: LatLongPairAbbreviated;\r\n topLeftPoint: LatLongPairAbbreviated;\r\n}\r\n\r\nexport enum SearchAddressResultType {\r\n POI = \"POI\",\r\n Street = \"Street\",\r\n Geography = \"Geography\",\r\n PointAddress = \"Point Address\",\r\n AddressRange = \"Address Range\",\r\n CrossStreet = \"Cross Street\",\r\n}\r\n\r\nexport interface LatLongPairAbbreviated {\r\n lat: number;\r\n lon: number;\r\n}\r\n\r\nexport enum QueryType {\r\n NEARBY = \"NEARBY\",\r\n NON_NEAR = \"NON_NEAR\",\r\n}\r\n\r\nexport interface SearchSummary {\r\n /** The maximum fuzzy level required to provide Results. */\r\n fuzzyLevel: number;\r\n /** Indication when the internal search engine has applied a geospatial bias to improve the ranking of results. In some methods, this can be affected by setting the lat and lon parameters where available. In other cases it is purely internal. */\r\n geoBias: LatLongPairAbbreviated;\r\n /** Maximum number of responses that will be returned */\r\n limit: number;\r\n /** Number of results in the response. */\r\n numResults: number;\r\n /** The starting offset of the returned Results within the full Result set. */\r\n offset: number;\r\n /** The query parameter that was used to produce these search results. */\r\n query: string;\r\n /** Time spent resolving the query, in milliseconds. */\r\n queryTime: number;\r\n /** The type of query being returned: NEARBY or NON_NEAR. */\r\n queryType: QueryType;\r\n /** The total number of Results found. */\r\n totalResults: number;\r\n}\r\n","import { useCallback, useMemo, useRef } from \"react\";\r\nimport { useController, useForm } from \"react-hook-form\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport pDebounce from \"p-debounce\";\r\nimport { LocationsApi, StoreModel } from \"../../api\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { useEventHandler } from \"../../services/hooks\";\r\nimport { StoreValidator } from \"../../services/validators\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../state/deployment\";\r\nimport { ImageUploadButton } from \"../forms/ImageUpload\";\r\nimport { FormInput } from \"../forms/Input\";\r\nimport { LocationPicker, searchAddress } from \"../forms/LocationPicker\";\r\nimport { FormSelectAsync } from \"../forms/Select\";\r\nimport { FormDatePicker } from \"../forms/date-picker/FormDatePicker\";\r\nimport { isError } from \"../world-map/Types\";\r\nimport { FormModalProps, showErrors } from \"./utils\";\r\n\r\nimport \"./EditStore.scss\";\r\n\r\ninterface Props extends FormModalProps {}\r\n\r\nexport default function EditStore(props: Props) {\r\n const initial = { ...props.initial };\r\n\r\n const addressRef = useRef(\"\");\r\n const { config } = useDeploymentConfig();\r\n const { register, control, handleSubmit, formState, setError, setValue, getValues, watch } = useForm({\r\n defaultValues: initial,\r\n resolver: yupResolver(StoreValidator),\r\n });\r\n const { field: coordinatesField } = useController({\r\n name: \"coordinates\",\r\n control: control,\r\n });\r\n const onDeleteHandler = useEventHandler(props.onDelete);\r\n\r\n const updateBasedOnAddress = useMemo(() => {\r\n return pDebounce((address: string) => {\r\n searchAddress(address).then((result) => {\r\n if (!isError(result) && result.results.length > 0) {\r\n coordinatesField.onChange({\r\n latitude: result.results[0].position.lat,\r\n longitude: result.results[0].position.lon,\r\n });\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.error(result);\r\n }\r\n });\r\n }, 400);\r\n }, [coordinatesField]);\r\n\r\n watch(() => {\r\n if (props.onChange) props.onChange();\r\n }, initial);\r\n\r\n watch((model) => {\r\n if (model && model.street && model.city?.label && model.country?.label) {\r\n const address = `${model.street}, ${model.city.label}, ${model.country.label}`;\r\n if (addressRef.current !== address) {\r\n addressRef.current = address;\r\n updateBasedOnAddress(address);\r\n }\r\n }\r\n }, initial);\r\n\r\n const resetCityHandler = () => {\r\n setValue(\"city\", null!);\r\n };\r\n\r\n const loadCountries = async (input: string) => {\r\n const config = getApiConfig();\r\n const api = new LocationsApi(config);\r\n try {\r\n const response = await api.getCountries({\r\n search: input,\r\n limit: 20,\r\n });\r\n if (isHttpOk(response)) {\r\n return response.data.map((c) => ({ label: c.name || \"\", value: c.id }));\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.error(\"Country lookup returned\", response);\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n return [];\r\n };\r\n\r\n const loadCities = async (input: string) => {\r\n const config = getApiConfig();\r\n const api = new LocationsApi(config);\r\n const selectedCountry = getValues(\"country.value\") || initial.country?.value;\r\n if (selectedCountry) {\r\n try {\r\n const response = await api.getCitiesForCountry({\r\n countryId: selectedCountry,\r\n search: input,\r\n limit: 20,\r\n });\r\n if (isHttpOk(response)) {\r\n return response.data.map((c) => ({ label: c.name || \"\", value: c.id }));\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.error(\"Country lookup returned\", response);\r\n }\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n }\r\n return [];\r\n };\r\n\r\n const handleSave = async (model: StoreModel) => {\r\n const result = await props.onSave({ ...model });\r\n if (!result.success) {\r\n showErrors(result, setError);\r\n }\r\n };\r\n\r\n const errors = formState.errors;\r\n\r\n const getImageUrl = useCallback(() => {\r\n return getValues().imageUrl || \"/images/image-placeholder.svg\";\r\n }, [getValues]);\r\n\r\n const handleDelete = async () => {\r\n if (!onDeleteHandler.current) return;\r\n if (props.initial === null) return;\r\n const result = await onDeleteHandler.current(props.initial);\r\n if (!result.success) {\r\n showErrors(result, setError);\r\n }\r\n };\r\n const title = props.initial?.id ? `Edit ${config.translations.store.singular}` : \"New Store\";\r\n\r\n return (\r\n
\r\n
\r\n

{title}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Contact

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

Location

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

Image

\r\n
\r\n \r\n

Social Media

\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 {onDeleteHandler.current && props.initial?.id && (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import { divIcon, latLngBounds, LatLngExpression, map, Marker, marker, svg } from \"leaflet\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { StoresApi, StoreView } from \"../../api\";\r\nimport { isHttpOk } from \"../../services/api\";\r\nimport { getTooltip } from \"../../services/tooltip\";\r\nimport { getApiConfig } from \"../../state/configuration\";\r\nimport { AzureMapsTiles } from \"../world-map/AzureMapsTiles\";\r\nimport { AuthOptions } from \"../world-map/Constants\";\r\n\r\n// eslint-disable-next-line import/no-internal-modules\r\nimport \"leaflet/dist/leaflet.css\";\r\nimport \"./StoreLocationMap.scss\";\r\n\r\nexport function StoreLocationMap(props: { classNames?: string[] }) {\r\n const [stores, setStores] = useState([]);\r\n const divRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!divRef.current) return;\r\n\r\n const mapObj = map(divRef.current, {\r\n renderer: svg(),\r\n minZoom: 1,\r\n });\r\n\r\n (async () => {\r\n const layer = new AzureMapsTiles({\r\n authOptions: AuthOptions,\r\n tilesetId: \"microsoft.base.road\",\r\n language: \"en-US\",\r\n hideAttribution: true,\r\n });\r\n mapObj.addLayer(layer);\r\n })();\r\n\r\n const coords: LatLngExpression[] = [];\r\n const markers: { item: StoreView; marker: Marker }[] = [];\r\n for (const item of stores) {\r\n const latLong: LatLngExpression = [item.coordinates?.latitude!, item.coordinates?.longitude!];\r\n coords.push(latLong);\r\n const markerObj = marker(latLong, {\r\n icon: divIcon({\r\n html: ``,\r\n className: \"marker \" + item.status?.toLowerCase(),\r\n }),\r\n });\r\n markerObj.addTo(mapObj);\r\n markers.push({ item, marker: markerObj });\r\n }\r\n\r\n if (coords.length > 0) {\r\n mapObj.fitBounds(latLngBounds(coords), {\r\n animate: false,\r\n padding: [0.1, 0.1],\r\n });\r\n }\r\n\r\n const rebuildTooltips = () => {\r\n for (const { item, marker } of markers) {\r\n const markerEl = marker.getElement();\r\n if (markerEl) {\r\n markerEl.setAttribute(\"data-for\", \"appTooltip\");\r\n markerEl.setAttribute(\"data-tip\", getTooltip(item.street || \"\", item.name || \"\"));\r\n }\r\n }\r\n ReactTooltip.rebuild();\r\n };\r\n\r\n mapObj.addEventListener(\"load\", rebuildTooltips);\r\n mapObj.addEventListener(\"zoomend\", rebuildTooltips);\r\n mapObj.addEventListener(\"moveend\", rebuildTooltips);\r\n rebuildTooltips();\r\n\r\n return () => {\r\n mapObj.remove();\r\n };\r\n }, [stores]);\r\n\r\n useEffect(() => {\r\n const config = getApiConfig();\r\n const storesApi = new StoresApi(config);\r\n storesApi\r\n .get({\r\n onlyActive: false,\r\n skip: 0,\r\n limit: 100,\r\n })\r\n .then((r) => {\r\n if (isHttpOk(r) && r.data.items) {\r\n setStores(r.data.items);\r\n }\r\n });\r\n }, []);\r\n\r\n const classNames = props.classNames?.slice() || [];\r\n classNames.push(\"full-world-map\");\r\n\r\n return
;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Download } from \"../app/icons/Icons\";\r\nimport Card from \"../app/cards/Card\";\r\nimport LocationOverviewStores from \"../app/tables/LocationOverviewStores\";\r\nimport LocationOverviewBeacons from \"../app/tables/LocationOverviewBeacons\";\r\nimport { useModal, Modal } from \"../app/modals/Modal\";\r\nimport EditStore from \"../app/modals/EditStore\";\r\nimport { Result } from \"../app/modals/utils\";\r\nimport { getApiConfig } from \"../state/configuration\";\r\nimport { toast as alert } from \"react-toastify\";\r\nimport { StoresApi, StoreModel } from \"../api\";\r\nimport { AlertContent, ServerUnavailable } from \"../app/widgets/Alerts\";\r\nimport { reloadFilters } from \"../state/globalFilters\";\r\nimport { StoreLocationMap } from \"../app/widgets/StoreLocationMap\";\r\nimport { PageHeader } from \"../app/widgets/PageHeaders\";\r\nimport { isHttpOk } from \"../services/api\";\r\nimport { useDeploymentConfig } from \"../state/deployment\";\r\nimport { confirmDialog } from \"../services/alerts\";\r\n\r\nimport \"./LocationOverview.scss\";\r\n\r\nexport default function LocationOverview() {\r\n const { config } = useDeploymentConfig();\r\n const { openModal, closeModal } = useModal();\r\n const apiConfig = getApiConfig();\r\n const [formModified, setFormModified] = useState(false);\r\n const changed = () => setFormModified(true);\r\n const handleCancel = () => {\r\n if (formModified) confirmDialog(\"Form has unsaved changes. Discard all?\", closeModalAndReset);\r\n else closeModalAndReset();\r\n };\r\n const closeModalAndReset = () => {\r\n setFormModified(false);\r\n closeModal();\r\n };\r\n\r\n const saveStore = async (model: StoreModel) => {\r\n const api = new StoresApi(apiConfig);\r\n\r\n try {\r\n const result = await api.create({\r\n storeModel: model,\r\n });\r\n if (isHttpOk(result)) {\r\n alert.success();\r\n closeModalAndReset();\r\n reloadFilters();\r\n return Result.Ok;\r\n } else {\r\n return Result.Invalid(result);\r\n }\r\n } catch (error) {\r\n alert.error();\r\n }\r\n\r\n return Result.Ok;\r\n };\r\n\r\n return (\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","import { FieldErrors } from \"react-hook-form\";\r\nimport { RuleSentence } from \"../../../../api\";\r\nimport { Option } from \"../../../forms/Select\";\r\n\r\nexport type EditorProps = {\r\n description: string;\r\n currency: string;\r\n brands: Option[];\r\n beacons: Option[];\r\n error?: FieldErrors;\r\n value: RuleSentence;\r\n onChange: (value: RuleSentence) => void;\r\n};\r\n\r\nexport function editorClassName(props: EditorProps, additional: string) {\r\n if (props.error) return \"editor invalid \" + additional;\r\n return \"editor \" + additional;\r\n}\r\n\r\nexport function closestValue(value: number, predefined: Option[]) {\r\n let minDistance = Infinity;\r\n let selected = value;\r\n for (const option of predefined) {\r\n if (typeof option.value !== \"number\") continue;\r\n const currentDistance = Math.abs(option.value - value);\r\n if (currentDistance < minDistance) {\r\n minDistance = currentDistance;\r\n selected = option.value;\r\n }\r\n }\r\n return selected;\r\n}\r\n","import { AgeGroup } from \"../../../../api\";\r\nimport { isProvided } from \"../../../../services/objects\";\r\nimport { Option, OptionValueType, Select } from \"../../../forms/Select\";\r\nimport { editorClassName, EditorProps } from \"./common\";\r\n\r\nexport function AgeEditor(props: EditorProps) {\r\n const selectOptions: (AgeGroup & Option)[] = [\r\n { from: 18, to: 24, label: \"18-24\", value: 1 },\r\n { from: 25, to: 34, label: \"25-34\", value: 2 },\r\n { from: 35, to: 44, label: \"35-44\", value: 3 },\r\n { from: 45, to: 54, label: \"45-54\", value: 4 },\r\n { from: 55, to: 64, label: \"55-64\", value: 5 },\r\n { from: 65, to: undefined, label: \"65+\", value: 6 },\r\n { from: -1, to: undefined, label: \"Unknown\", value: 7 },\r\n ];\r\n\r\n const ageGroups = props.value.specificAge?.ageGroups || [];\r\n const selectValues = ageGroups\r\n .map((ag) => selectOptions.find((g) => g.from === ag.from))\r\n .filter(isProvided)\r\n .map((g) => g.value);\r\n\r\n const setAgeGroups = (values: OptionValueType[]) => {\r\n const groups = selectOptions.filter((ag) => values.includes(ag.value)).map((ag) => ({ from: ag.from, to: ag.to }));\r\n props.onChange({\r\n specificAge: {\r\n ageGroups: groups,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n
\r\n

{props.description}

\r\n
\r\n Age falls in\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { editorClassName, EditorProps } from \"./common\";\r\n\r\nexport function BirthdayEditor(props: EditorProps) {\r\n return (\r\n
\r\n

{props.description}

\r\n
\r\n );\r\n}\r\n","import { editorClassName, EditorProps } from \"./common\";\r\n\r\nexport function ClickAndCollectEditor(props: EditorProps) {\r\n return (\r\n
\r\n

{props.description}

\r\n
\r\n );\r\n}\r\n","import { useCallback } from \"react\";\r\nimport { FieldError } from \"react-hook-form\";\r\nimport { MultiValue } from \"react-select\";\r\nimport { Location, LocationsApi, LocationView } from \"../../../../../api\";\r\nimport { isHttpOk } from \"../../../../../services/api\";\r\nimport { useEventHandler } from \"../../../../../services/hooks\";\r\nimport { getApiConfig } from \"../../../../../state/configuration\";\r\nimport { useDeploymentConfig } from \"../../../../../state/deployment\";\r\nimport { Option, SelectAsync } from \"../../../../forms/Select\";\r\n\r\nexport function LocationInput(props: {\r\n error?: FieldError;\r\n prefix?: string;\r\n value?: Location[];\r\n includeBeacons?: boolean;\r\n onChange: (value: Location[]) => void;\r\n}) {\r\n const { config } = useDeploymentConfig();\r\n const onChange = useEventHandler(props.onChange);\r\n\r\n const toOptions = useCallback(\r\n (item: Location | LocationView): Option => {\r\n const typeName =\r\n typeof item.cityId === \"number\"\r\n ? \"City\"\r\n : typeof item.areaId === \"number\"\r\n ? \"Area\"\r\n : typeof item.beaconId === \"string\"\r\n ? \"Beacon\"\r\n : typeof item.countryId === \"number\"\r\n ? \"Country\"\r\n : typeof item.storeId === \"number\"\r\n ? config.translations.store.singular\r\n : \"\";\r\n return {\r\n label: item.name || \"\",\r\n description: typeName,\r\n value: JSON.stringify(item, [\"name\", \"areaId\", \"beaconId\", \"cityId\", \"countryId\", \"storeId\"], \"\"),\r\n };\r\n },\r\n [config.translations.store.singular]\r\n );\r\n\r\n const locations = (props.value || []).map(toOptions);\r\n\r\n const loadOptions = useCallback(\r\n async (input: string) => {\r\n const config = getApiConfig();\r\n const api = new LocationsApi(config);\r\n const response = await api.getLocations({\r\n search: input,\r\n excludeBeacons: !props.includeBeacons,\r\n });\r\n if (isHttpOk(response)) {\r\n return response.data.map(toOptions);\r\n }\r\n return [];\r\n },\r\n [toOptions, props.includeBeacons]\r\n );\r\n\r\n const handleChange = useCallback(\r\n (values: MultiValue