{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/promotion.js","webpack:///./src/api/order-validator.js","webpack:///./src/common/log.js","webpack:///./src/common/validation-error-handler.js","webpack:///./src/modules/account/routes.js","webpack:///./src/modules/checkout/routes.js","webpack:///./src/modules/hoteldisplay/routes.js","webpack:///./src/routes/adac.js","webpack:///./src/routes/limango.js","webpack:///./src/routes/ooesb.js","webpack:///./src/routes/piratinviaggio.js","webpack:///./src/routes/watitaly.js","webpack:///./src/routes/urlaubsguru.js","webpack:///./src/routes/sbscom.js","webpack:///./src/routes/default.js","webpack:///./src/common/routes-loader.js","webpack:///./src/router.js","webpack:///./src/store/index.js","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/App.vue?27df","webpack:///./src/components/Navigation.vue?b96a","webpack:///./src/components/Navigation/_Navigation.vue?5398","webpack:///./src/components/MainSearch.vue?c8d7","webpack:///src/components/MainSearch.vue","webpack:///./src/components/MainSearch.vue?4308","webpack:///./src/components/MainSearch.vue","webpack:///src/components/Navigation/_Navigation.vue","webpack:///./src/components/Navigation/_Navigation.vue?4bc1","webpack:///./src/components/Navigation/_Navigation.vue","webpack:///./src/components/Navigation/Adac.vue?5809","webpack:///src/components/Navigation/Adac.vue","webpack:///./src/components/Navigation/Adac.vue?ed4a","webpack:///./src/components/Navigation/Adac.vue","webpack:///src/components/Navigation.vue","webpack:///./src/components/Navigation.vue?e071","webpack:///./src/components/Navigation.vue","webpack:///./src/components/HeroInfoStandalone.vue?a73c","webpack:///src/components/HeroInfoStandalone.vue","webpack:///./src/components/HeroInfoStandalone.vue?c743","webpack:///./src/components/HeroInfoStandalone.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/registerServiceWorker.js","webpack:///./src/api/interceptors.js","webpack:///./src/filters/currency-filter.js","webpack:///./src/filters/iso-country-filter.js","webpack:///./src/filters/theme-filter.js","webpack:///./src/filters/gender-filter.js","webpack:///./src/filters/amount-filter.js","webpack:///./src/filters/capitalize-filter.js","webpack:///./src/filters/remove-special-chars.js","webpack:///./src/filters/promotion-filter.js","webpack:///./src/filters/price-prefix-abbrevation.js","webpack:///./src/api/affiliate-api.js","webpack:///./src/common/awin-plugin/index.js","webpack:///./src/common/adcell-plugin/index.js","webpack:///./src/common/event-dispatcher.js","webpack:///./src/common/google-tag-manager.js","webpack:///./src/common/gtm-subscriber.js","webpack:///./src/common/gtag-subscriber.js","webpack:///./src/common/ga-subscriber.js","webpack:///./src/common/fbpixel-subscriber.js","webpack:///./src/main.js","webpack:///./src/App.vue?c650","webpack:///./src/api/checkout-api.js","webpack:///./src/components/Navigation/Adac.vue?d53c","webpack:///./src/api/offer-api.js","webpack:///./config/urlaubsguru.js","webpack:///./src/api/account-api.js","webpack:///./src/i18n.js","webpack:///./src/components/HeroBadge.vue?6f90","webpack:///src/components/HeroBadge.vue","webpack:///./src/components/HeroBadge.vue?2241","webpack:///./src/components/HeroBadge.vue","webpack:///./src/api/auth-api.js","webpack:///./src/store.js","webpack:///./src/components/HeroBadge.vue?3872","webpack:///./src/components/Navigation/_Navigation.vue?d0fe","webpack:///./src/components/HeroInfoStandalone.vue?a2f2","webpack:///./src/api/backend.js","webpack:///./src/api/content-api.js","webpack:///./src/components/MainSearch.vue?beaa"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","prefetchChunks","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","deferredPrefetch","apply","shift","deferredModules","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","forEach","undefined","link","document","createElement","nc","setAttribute","rel","as","href","jsonpScriptSrc","head","appendChild","installedModules","installedCssChunks","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","fullhref","existingLinkTags","getElementsByTagName","tag","dataHref","getAttribute","existingStyleTags","linkTag","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","error","clearTimeout","chunk","errorType","realSrc","message","name","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","startupResult","hasActivePromotion","promotionName","obj","promotions","findIndex","f","promotionType","active","getEndDateForPromotion","item","find","to","Date","getEndDateForPromotionOnly","hasAnyPromotion","count","getFirstEnddateOfPromotions","activePromotions","filter","promotion","earliestDate","reduce","prev","curr","hasAnyActivePromotion","validateOrder","a","validateApi","id","localStorage","getItem","invalidOrderHandler","validationResult","stringToDisplay","i18n","itemQuantityChanged","itemSoldOut","reductionInvalidated","Notification","open","duration","position","hasIcon","store","dispatch","createLogger","prefix","timestamp","warn","process","info","debug","print","log","this","handle","response","status","errors","detail","split","map","handled","AccountChildRoutes","path","component","CheckoutChildRoutes","HotelChildRoutes","AdacRoutes","meta","breadcrumb","LimangoRoutes","OoesbRoutes","PiratInViaggioRoutes","WatItalyRoutes","UrlaubsguruRoutes","SbscomRoutes","DefaultRoutes","config","require","shop","whitelabelConfig","short","toLowerCase","getAdditionalRoutes","Vue","use","Router","base","scrollBehavior","from","savedPosition","x","y","routes","alias","children","label","parent","RouterLoader","beforeEnter","next","page","getters","pages","slug","params","pendingContent","accessTokenIndex","referalIndex","logger","analyticsDeactivated","acceptAllCookies","Vuex","Store","state","cart","itemCount","isGuardActive","disableSite","sidebarVisible","invalidPromotion","storeCurrency","isAnalyticsDeactivated","menu","themes","countries","footer","content","pending","home","isoCountries","iso","country","displayReduction","hasActiveReduction","activeReductionName","reductionFx","user","showLoginWindow","accessToken","locale","productsInCart","orderItems","currentOrderId","currentOrderKey","token","cartSubTotal","summary","subtotal","cartShipping","shippingTotal","cartDiscount","discountTotal","cartTotal","total","cartFees","fees","cartPrepaid","prepaid","cartCurrency","currency","cartPaymentType","paymentType","activeReduction","reduction","drawer","displayReductionActive","isGuarded","hasUser","userName","localeIso","toUpperCase","mutations","CART_ITEMS_MODIFIED","payload","PRODUCT_ADDED","product","replacingIndex","quantity","PRODUCT_REMOVED","PRODUCT_UPDATED","CART_UPDATED","PAYMENT_METHOD_UPDATED","paymentMethod","FLASH_MESSAGE_CREATED","_","REDUCTION_INFO_UPDATED","valid","capped","val","org","operation","amount","CART_CLEARED","INVALID_PROMOTION","INVALID_PROMOTION_RESET","SITE_LOCKED","SITE_UNLOCKED","DRAWER_CHANGED","visible","MENU_LOADED","CONTENT_RECEIVED","extensionPoints","footerMenu","title","TOGGLE_GUARD","DEACTIVATE_ANALYTICS","analyticstype","$whitelabel","analyticsType","$gtag","optOut","$ga","disable","tagManager","gtm","enabled","enable","ACTIVATE_ANALYTICS","bootstrap","optIn","fbPixelEnabled","analytics","fbq","init","fbPixelId","ACCESS_TOKEN_UPDATED","jwt","AuthApi","parseJwt","sub","ACCESS_TOKEN_DELETED","TOGGLE_LOGIN_WINDOW","show","LOCALE_CHANGED","PROMOTIONS_RECEIVED","actions","modifyCartProduct","context","modified","commit","added","removed","addProduct","variant","Checkout","createOrderIfNeeded","order","addItem","res","addGiftCard","tan","addGiftCardToOrder","removeGiftCard","removeGiftCardFromOrder","removeProduct","removeItem","changeQuantityOfProduct","changeQuantity","itemId","refreshCart","checkOpenOrder","delegateCustomer","customer","reductionId","refreshPayment","refreshPaymentType","updatePayment","prepareForCheckout","OrderValidator","validForSale","clearCart","updateCart","lockSite","unlockSite","showDrawer","hideDrawer","setGuardActive","unlockGuard","loadMenuEntires","Offer","getMenu","clearInvalidReduction","flashMessageDanger","applyReduction","removeReduction","updateReductionInfo","getReductionInfo","deactivateAnalytics","activateAnalytics","login","usr","pwd","expiresOn","expiry","setSeconds","getSeconds","expiresIn","setItem","JSON","stringify","orderId","updateCurrentOrder","success","logout","resetOrderStorage","router","storeInit","contentApi","getOverview","site","getCurrentPromotions","setReferalToken","stored","referal","parse","newReferal","loadAccesToken","storageToken","refreshToken","refresh","showLogin","passwordForgotten","AccountApi","email","validationError","ValidationErrorHandler","changeLocale","webpackContext","req","webpackContextResolve","keys","_vm","_h","$createElement","_c","_self","staticStyle","$route","_e","emptyLayout","class","isDevMode","attrs","isStandalone","heroHomeOnly","directives","rawName","expression","staticClass","scopedSlots","_u","fn","props","_v","_s","$t","on","$event","accept","allowCookies","decline","declineCookies","ref","displayLoading","domProps","snippedData","staticRenderFns","fixedNavbar","nativeOn","resetSearchAndLoadProducts","logoHeader","storeName","showHeaderLogo","handleToggleDrawer","showMobileNav","toggleMobileNav","toggleSubNavItem","_l","resetSearch","$options","filters","removeSpecialChars","hasPromotionDeal","supportPhone","supportMail","devMode","locales","_g","model","callback","$$v","selectedLocale","set","option","text","isComponentModalActive","closeSearchModal","indexOf","_k","keyCode","submit","searchInput","computed","methods","components","MainSearch","options","selected","$store","$i18n","newValue","innerWidth","el","classList","toggle","openSearchModal","onResize","items","add","remove","beforeDestroy","removeEventListener","location","mounted","addEventListener","Navigation","AdacNavigation","style","heroTitle","poweredByText","heroInfoText","HeroBadge","metaInfo","cssProps","backgroundImage","width","created","CartDisplay","FooterProxy","ScrollToTop","HeroInfoStandalone","CookieLaw","LoginWindow","Drawer","Awin","Adcell","url","origin","logo","drawerWidth","refreshing","cookiesEnabled","beforeCreate","swUpdated","reg","waiting","postMessage","$buefy","toast","reload","handleSlideEnd","mainContent","handleMaskClick","$gtm","htmlAttrs","lang","titleTemplate","register","ready","registered","registration","RUNNING_VERSION","setInterval","update","cached","updatefound","updated","dispatchEvent","CustomEvent","offline","setup","errorResponseHandler","originalRequest","isRetry","_retry","Toast","responseURL","includes","variantId","extensions","errorCode","_reject","unsubscribe","subscribe","mutation","headers","Authorization","axios","interceptors","_silent","startsWith","getDomain","expiryDate","setMinutes","getMinutes","toString","parseFloat","isNaN","Intl","NumberFormat","maximumSignificantDigits","minimalSignificantDigits","format","replace","charAt","trim","cdDate","dealEndtime","affiliateSummary","aff","getTime","awinScript","awinId","awinObject","loadScript","defer","async","rerunScript","internal","Tracking","run","sendUsingImgFallback","awinFallbackImg","border","height","body","mapProducts","products","price","identifier","unitPrice","knownVars","redeclare","vars","known","v","awinOperations","awin","setConversionTag","cartId","Api","summaryData","parts","usedReduction","Sale","toFixed","channel","orderRef","test","setConfirmation","zxParams","pagetype","language","transaction","total_amount","total_currency","setCart","setHome","setSearch","query","search_query","setOffer","template","minPriceVariant","variants","subtitle","description","category","image1","image","install","windowObject","AWIN","$awin","adcellScript","adcellObject","adcellFallbackImg","adcellOperations","adcell","adcellConversion","pid","eventid","track","$adcell","EventTypes","freeze","STORE","ROUTE","MANUAL","StoreEvents","SEARCH_PRODUCTS_UPDATED","HOTEL_OFFER_LOADED","CHECKOUT_PAYMENT_STARTED","CHECKOUT_USER_DATA_UPDATED","CHECKOUT_ORDER_CLOSED","CHECKOUT_PAYMENT_SESSION_UPDATED","ManualEvents","CLICKED","dispatcher","subscribers","storeUnsubscriber","routeUnsubscriber","action","st","afterEach","destroy","_register","subscriber","$type","String","Array","isArray","storeEventLister","ev","routeEventListener","manualEventListener","getNights","nights","min","max","getPersons","persons","getProductList","brand","productList","gtmItems","display","list","item_name","item_id","item_list_name","item_brand","item_variant","item_category","index","getProduct","getProductView","getCartList","cartList","parameter","item_description","getPurchasedList","purchasedList","item_price","item_quantity","createGTMListeners","trackEvent","pageCategory","visitorType","ecommerce","currencyCode","impressions","GtmHelper","click","actionField","offer","cartItem","cartItems","checkout","purchase","revenue","transaction_id","createGTAGListeners","gtag","results","searchItems","element","contact","vendor","list_name","list_position","event_category","event_label","content_type","purchasedItems","createGAListeners","ga","addImpression","setAction","send","createFBPListeners","fbp","Sentry","dsn","VUE_APP_SENTRY_DSN","integrations","Integrations","BrowserTracing","tracesSampleRate","VUE_APP_SENTRY_SAMPLERATE","environment","logErrors","tracingOptions","trackComponents","setDomain","setShopCurrency","productionTip","hasCookieConsent","Buefy","defaultIconPack","defaultTooltipAnimated","defaultDayNames","defaultMonthNames","defaultFirstDayOfWeek","VueGoogleMaps","load","VueContentPlaceholders","VueGtag","analyticsId","anonymize_ip","VueAnalytics","analyticsId_ua","enhanced","disabled","beforeFirstHit","trace","sendHitTask","VueGtm","VueMeta","refreshOnceOnNavigation","b","callMethod","arguments","queue","_fbq","loaded","version","insertBefore","VueFacebookPixel","VueFilterDateFormat","extend","required","values","numeric","oneOf","confirmed","validate","match","VueScrollTo","container","easing","offset","force","cancelable","onStart","onDone","onCancel","vueDebounce","VueObserveVisibility","VueLazyload","ValidationProvider","ValidationObserver","documentElement","querySelector","$promotions","anyActiveFor","getMinStartFor","getMaxEndFor","getOfferCountFor","styleOverride","render","h","App","destroyed","urlParams","URLSearchParams","search","has","hostname","pathname","referer","gtmSubscribers","gtagSubscribers","gaSubscribers","fbpSubscribers","$eventDispatcher","$mount","defaultCurrency","createOrder","oc","cmd","closeOrder","close","or","metaData","Order_MetaData","refPath","refPayload","refUsed","oac","oar","oca","updateUserData","userData","tmp","uc","setWireTransfer","pd","retriveSelectedPayment","completePayPalTransaction","paypalOrderId","pp","payPalOrderId","remReduction","reductionInfo","prepare","createAmazonCheckoutSession","amaCheckout","authorizeAmazonCheckoutSession","session","amaAuth","amazonCheckoutSessionId","createAmazonPayRedirect","amaRedirect","completeAmazonPayPayment","amaComplete","setOptinOptions","phone","newsletter","optinOptions","optinEmail","optinPhone","optinNewsletter","getOrderNotifications","notifications","claimOrder","claim","getOffer","os","getOfferByVariantId","obyv","getOfferForContact","pageSize","getOfferBySlug","offerBySlug","getOffersWithDealPromotion","deals","getOffersWithCustomPromotion","prom","getOfferData","offerData","$config","texts","sort","getThemesForMenu","getCountriesForMenu","assetUrl","company","logoFooter","showHeader","showFooterLogo","hasHeroSubtitle","heroSubtitle","hasHeroAddition","showPromoNotification","showReduction","hasNewsletterOptin","heroImageResolution","xl","crop","xs","hasOfferCta","hide5sup","iconUrl","hasBackToOverviewBtn","campaignsEnabled","homepage","advantages","dealName","dealCountdownTitle","dealButton","firstNameBasis","getOrderForUser","orderForUser","updateUser","userdata","getUser","changeUserPassword","oldpwd","newpwd","changePw","oldPassword","newPassword","resetPassword","reset","forgotten","loadLocaleMessages","messages","matched","VueI18n","fallbackLocale","heroBadge","extUrl","logIn","password","withCredentials","registerCustomerUser","base64Url","base64","jsonPayload","decodeURIComponent","atob","charCodeAt","join","domain","$domain","method","queryParameters","form","queryUrl","qs","Account_Register","parameters","$queryParameters","parameterName","Account_PasswordForgotten","Account_PasswordForgotten2","Account_ChangePassword","Account_GetUserData","Account_UpdateUserData","Auth_Login","Auth_Refresh","Guard_VerifyAlphaNumericGuard","Hotel_CloseTo","Hotel_List","Hotel_Hotel","Insurance_BookInsurance","Invoice_DownloadInvoiceURL","encodeURIComponent","Offer_Offer","Offer_OfferByVariantId","Offer_OfferBySlug","Offer_OfferByContactSlug","Offer_OfferData","Offer_Search","Offer_TravelDeals","Offer_Promotions","Offer_Promotion","Offer_Suggest","Offer_GetAvailableThemes","Offer_GetAvailableCountries","Offer_OfferGroups","Order_Retrive","Order_SelectedPayment","Order_Validate","Order_PrepareForCheckout","Order_OrderNotifications","Order_Create","Order_AddArticle","Order_ChangeArticle","Order_RemoveArticle","Order_AddGiftCard","Order_RemoveGiftCard","Order_SetOrderToWireTransfer","Order_UpdateCustomer","Order_AddReduction","Order_RemoveReduction","Order_PayPalCreateOrder","Order_PayPalTransactionComplete","Order_CloseOrder","Order_OptinOptions","Order_Reduction","Order_ClaimOrder","Order_ClosedOrdersForUser","Order_AmazonPayCreateCheckoutSession","Order_AmazonPayProcessCheckoutSession","Order_AmazonPayCreateRedirect","Order_AmazonPayCompletePayment","Voucher_RetriveVoucherCustomer","Voucher_UpdateVoucherCustomer","Voucher_DownloadVoucherURL","Order_AffiliateSummary","responseType","resp"],"mappings":"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","file":"js/app.f9386eb2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n \t\tvar prefetchChunks = data[3] || [];\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n \t\tdeferredPrefetch.push.apply(deferredPrefetch, prefetchChunks);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\tif(deferredModules.length === 0) {\n \t\t\t// chunk prefetching for javascript\n \t\t\tdeferredPrefetch.forEach(function(chunkId) {\n \t\t\t\tif(installedChunks[chunkId] === undefined) {\n \t\t\t\t\tinstalledChunks[chunkId] = null;\n \t\t\t\t\tvar link = document.createElement('link');\n\n \t\t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\t\tlink.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t\t}\n \t\t\t\t\tlink.rel = \"prefetch\";\n \t\t\t\t\tlink.as = \"script\";\n \t\t\t\t\tlink.href = jsonpScriptSrc(chunkId);\n \t\t\t\t\tdocument.head.appendChild(link);\n \t\t\t\t}\n \t\t\t});\n \t\t\tdeferredPrefetch.length = 0;\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [], deferredPrefetch = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"account\":\"account\",\"adcell\":\"adcell\",\"awin\":\"awin\",\"cartdisplay\":\"cartdisplay\",\"checkout~home~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valenti~c8ca36e9\":\"checkout~home~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valenti~c8ca36e9\",\"checkout\":\"checkout\",\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\":\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\",\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\":\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\",\"home~start\":\"home~start\",\"home\":\"home\",\"start\":\"start\",\"lp-limango\":\"lp-limango\",\"lp-ooesb\":\"lp-ooesb\",\"lp-piratinviaggio\":\"lp-piratinviaggio\",\"lp-urlaubsguru\":\"lp-urlaubsguru\",\"lp-watitaly\":\"lp-watitaly\",\"lp-adac\":\"lp-adac\",\"lp-blackfriday\":\"lp-blackfriday\",\"lp-valentine\":\"lp-valentine\",\"drawer\":\"drawer\",\"footer\":\"footer\",\"hotel~static\":\"hotel~static\",\"hotel\":\"hotel\",\"static\":\"static\",\"loginwindow\":\"loginwindow\",\"order\":\"order\",\"pagenotfound\":\"pagenotfound\",\"scrolltotop\":\"scrolltotop\",\"blackfriday\":\"blackfriday\",\"christmas\":\"christmas\",\"easter\":\"easter\",\"italia\":\"italia\",\"italy\":\"italy\",\"mothersday\":\"mothersday\",\"summersale\":\"summersale\",\"valentine\":\"valentine\",\"nooffer\":\"nooffer\",\"offerblock\":\"offerblock\",\"banners\":\"banners\",\"googlemaps\":\"googlemaps\",\"membershipmodal\":\"membershipmodal\",\"richsnippet\":\"richsnippet\",\"slider\":\"slider\"}[chunkId]||chunkId) + \".\" + {\"account\":\"ceff4bce\",\"adcell\":\"5c4ae04d\",\"awin\":\"509f895f\",\"cartdisplay\":\"922d8079\",\"checkout~home~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valenti~c8ca36e9\":\"ea10baf2\",\"checkout\":\"03a9e17c\",\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\":\"fecfe766\",\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\":\"2e7a6b00\",\"home~start\":\"c642b595\",\"home\":\"34355cfd\",\"start\":\"91ad10a7\",\"lp-limango\":\"a62c614e\",\"lp-ooesb\":\"6d89da13\",\"lp-piratinviaggio\":\"4114c219\",\"lp-urlaubsguru\":\"0307516e\",\"lp-watitaly\":\"9fc9e78d\",\"lp-adac\":\"0ddf59d9\",\"lp-blackfriday\":\"e8a437e6\",\"lp-valentine\":\"8034a898\",\"chunk-76e9e861\":\"66ec513c\",\"drawer\":\"f85ee62e\",\"footer\":\"ffd76b94\",\"hotel~static\":\"08c3bf89\",\"hotel\":\"3aef35fa\",\"static\":\"b01572e0\",\"loginwindow\":\"7983556c\",\"order\":\"85f15e02\",\"pagenotfound\":\"20055a09\",\"scrolltotop\":\"bea624f7\",\"blackfriday\":\"1b9d7b37\",\"christmas\":\"89b68290\",\"easter\":\"4b888e2a\",\"italia\":\"0b21dda3\",\"italy\":\"0bed5da8\",\"mothersday\":\"20220121\",\"summersale\":\"1c784ce2\",\"valentine\":\"9b111168\",\"nooffer\":\"d09eec98\",\"offerblock\":\"89a16418\",\"banners\":\"8518466c\",\"googlemaps\":\"dec738ac\",\"membershipmodal\":\"3ca077ca\",\"richsnippet\":\"3a016cc3\",\"slider\":\"271861a0\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"account\":1,\"cartdisplay\":1,\"checkout\":1,\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\":1,\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\":1,\"home~start\":1,\"start\":1,\"lp-limango\":1,\"lp-piratinviaggio\":1,\"lp-urlaubsguru\":1,\"lp-watitaly\":1,\"lp-adac\":1,\"lp-blackfriday\":1,\"lp-valentine\":1,\"chunk-76e9e861\":1,\"drawer\":1,\"footer\":1,\"hotel\":1,\"loginwindow\":1,\"order\":1,\"pagenotfound\":1,\"scrolltotop\":1,\"blackfriday\":1,\"christmas\":1,\"easter\":1,\"italia\":1,\"italy\":1,\"mothersday\":1,\"summersale\":1,\"valentine\":1,\"offerblock\":1,\"banners\":1,\"membershipmodal\":1,\"slider\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"account\":\"account\",\"adcell\":\"adcell\",\"awin\":\"awin\",\"cartdisplay\":\"cartdisplay\",\"checkout~home~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valenti~c8ca36e9\":\"checkout~home~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valenti~c8ca36e9\",\"checkout\":\"checkout\",\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\":\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\",\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\":\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\",\"home~start\":\"home~start\",\"home\":\"home\",\"start\":\"start\",\"lp-limango\":\"lp-limango\",\"lp-ooesb\":\"lp-ooesb\",\"lp-piratinviaggio\":\"lp-piratinviaggio\",\"lp-urlaubsguru\":\"lp-urlaubsguru\",\"lp-watitaly\":\"lp-watitaly\",\"lp-adac\":\"lp-adac\",\"lp-blackfriday\":\"lp-blackfriday\",\"lp-valentine\":\"lp-valentine\",\"drawer\":\"drawer\",\"footer\":\"footer\",\"hotel~static\":\"hotel~static\",\"hotel\":\"hotel\",\"static\":\"static\",\"loginwindow\":\"loginwindow\",\"order\":\"order\",\"pagenotfound\":\"pagenotfound\",\"scrolltotop\":\"scrolltotop\",\"blackfriday\":\"blackfriday\",\"christmas\":\"christmas\",\"easter\":\"easter\",\"italia\":\"italia\",\"italy\":\"italy\",\"mothersday\":\"mothersday\",\"summersale\":\"summersale\",\"valentine\":\"valentine\",\"nooffer\":\"nooffer\",\"offerblock\":\"offerblock\",\"banners\":\"banners\",\"googlemaps\":\"googlemaps\",\"membershipmodal\":\"membershipmodal\",\"richsnippet\":\"richsnippet\",\"slider\":\"slider\"}[chunkId]||chunkId) + \".\" + {\"account\":\"659cd54e\",\"adcell\":\"31d6cfe0\",\"awin\":\"31d6cfe0\",\"cartdisplay\":\"5056458b\",\"checkout~home~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valenti~c8ca36e9\":\"31d6cfe0\",\"checkout\":\"eeed09d2\",\"home~hotel~lp-adac~lp-blackfriday~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-valentine~~7cf5c8b6\":\"90707b7c\",\"home~lp-limango~lp-ooesb~lp-piratinviaggio~lp-urlaubsguru~lp-watitaly~start\":\"1bf04e00\",\"home~start\":\"6bb06870\",\"home\":\"31d6cfe0\",\"start\":\"9dd16785\",\"lp-limango\":\"bd621a9e\",\"lp-ooesb\":\"31d6cfe0\",\"lp-piratinviaggio\":\"bd621a9e\",\"lp-urlaubsguru\":\"b7b62d9d\",\"lp-watitaly\":\"bd621a9e\",\"lp-adac\":\"ab702cbf\",\"lp-blackfriday\":\"22671977\",\"lp-valentine\":\"d72c5421\",\"chunk-76e9e861\":\"60151b06\",\"drawer\":\"b57d681f\",\"footer\":\"8e663963\",\"hotel~static\":\"31d6cfe0\",\"hotel\":\"2573b925\",\"static\":\"31d6cfe0\",\"loginwindow\":\"3f7c1aad\",\"order\":\"b84b6480\",\"pagenotfound\":\"f7ab759e\",\"scrolltotop\":\"fa745412\",\"blackfriday\":\"e481c241\",\"christmas\":\"2ca23725\",\"easter\":\"82e82f14\",\"italia\":\"c8eaaa4f\",\"italy\":\"714d8468\",\"mothersday\":\"96b0c10c\",\"summersale\":\"11fbf417\",\"valentine\":\"35d20dfd\",\"nooffer\":\"31d6cfe0\",\"offerblock\":\"4bcc5323\",\"banners\":\"76e1b5db\",\"googlemaps\":\"31d6cfe0\",\"membershipmodal\":\"e0b556a4\",\"richsnippet\":\"31d6cfe0\",\"slider\":\"45583cf6\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \tvar startupResult = (function() {\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n \t})();\n\n \twebpackJsonpCallback([[], {}, 0, [\"chunk-76e9e861\"]]);\n \treturn startupResult;\n","const hasActivePromotion = (promotionName, obj) => {\r\n if (obj && obj.promotions && obj.promotions.length > 0) {\r\n return (\r\n obj.promotions.findIndex(\r\n f => f.promotionType == promotionName && f.active,\r\n ) > -1\r\n )\r\n }\r\n return false\r\n}\r\n\r\nconst getEndDateForPromotion = (promotionName, obj) => {\r\n if (obj && obj.promotions && obj.promotions.length > 0) {\r\n const item = obj.promotions.find(\r\n f => f.promotionType == promotionName && f.active && f.to,\r\n )\r\n if (item) {\r\n return new Date(item.to)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nconst getEndDateForPromotionOnly = (promotionName, promotions) => {\r\n if (promotions && promotions.length > 0) {\r\n const item = promotions.find(f => f.type == promotionName)\r\n if (item) {\r\n return new Date(item.to)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nconst hasAnyPromotion = obj => {\r\n return obj.promotions.length > 0\r\n}\r\n\r\nconst count = obj => {\r\n return obj.promotions.length\r\n}\r\n\r\nconst getFirstEnddateOfPromotions = promotions => {\r\n let activePromotions = promotions.filter(promotion => {\r\n return promotion.active\r\n })\r\n\r\n if (activePromotions.length > 0) {\r\n let earliestDate = activePromotions.reduce(function(prev, curr) {\r\n return prev.to < curr.to ? prev : curr\r\n })\r\n\r\n return new Date(earliestDate.to)\r\n } else {\r\n return false\r\n }\r\n}\r\n\r\nconst hasAnyActivePromotion = promotions => {\r\n let activePromotions = promotions.filter(promotion => {\r\n return promotion.active\r\n })\r\n\r\n return activePromotions.length > 0\r\n}\r\n\r\nexport default {\r\n hasActivePromotion,\r\n getEndDateForPromotion,\r\n getEndDateForPromotionOnly,\r\n hasAnyPromotion,\r\n hasAnyActivePromotion,\r\n count,\r\n getFirstEnddateOfPromotions,\r\n}\r\n","import {\r\n Order_Validate as validateApi\r\n} from \"./backend\"\r\nimport { NotificationProgrammatic as Notification } from 'buefy'\r\nimport store from '@/store/index'\r\nimport i18n from '@/i18n'\r\nconst validateOrder = async () => {\r\n let { data } = await validateApi({\r\n\r\n id: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n \r\n });\r\n return data;\r\n};\r\n\r\nconst invalidOrderHandler = (validationResult) => {\r\n let stringToDisplay = i18n.t('errors.order-errors.order-adjusted');\r\n if (validationResult.itemQuantityChanged) {\r\n stringToDisplay += i18n.t('errors.order-errors.quantity-adjusted');\r\n }\r\n if (validationResult.itemSoldOut) {\r\n stringToDisplay += i18n.t('errors.order-errors.article-removed');\r\n }\r\n if (validationResult.reductionInvalidated) {\r\n stringToDisplay += i18n.t('errors.order-errors.code-not-valid');\r\n }\r\n stringToDisplay += i18n.t('general.check-order');\r\n Notification.open({\r\n duration: 5000,\r\n message: stringToDisplay,\r\n position: 'is-bottom-right',\r\n type: 'is-danger',\r\n hasIcon: true\r\n });\r\n store.dispatch('refreshCart');\r\n}\r\n\r\nexport default {\r\n validateOrder,\r\n invalidOrderHandler\r\n}","const format = (message, prefix, name, timestamp) => {\n let msg = ''\n if (prefix) {\n msg = `${prefix} `\n }\n if (timestamp) {\n msg += `${new Date().toLocaleDateString('de-de', { year:\"numeric\", month:\"numeric\", day:\"numeric\", hour: \"2-digit\", minute:\"2-digit\", second: \"2-digit\"}) } `\n }\n if (name) {\n msg += `[${name}] `\n }\n return `${msg}${message}`\n}\n\nconst createLogger = (name, prefix, timestamp) => {\n return {\n warn(message, data) {\n if (process.env.NODE_ENV !== 'production') {\n if(data !== undefined){\n console.warn(format(message, prefix, name, timestamp), data)\n }else {\n console.warn(format(message, prefix, name, timestamp))\n }\n }\n },\n info(message, data) {\n if (process.env.NODE_ENV !== 'production') {\n if(data !== undefined){\n console.info(format(message, prefix, name, timestamp), data)\n }else {\n console.info(format(message, prefix, name, timestamp))\n }\n }\n },\n error(message, data) {\n if (process.env.NODE_ENV !== 'production') {\n if(data !== undefined){\n console.error(format(message, prefix, name, timestamp), data)\n }else {\n console.error(format(message, prefix, name, timestamp))\n }\n }\n },\n debug(message, data) {\n if (process.env.NODE_ENV !== 'production') {\n if(data !== undefined){\n console.debug(format(message, prefix, name, timestamp), data)\n }else {\n console.debug(format(message, prefix, name, timestamp))\n }\n }\n },\n print(message, data) {\n if (process.env.NODE_ENV !== 'production') {\n if(data !== undefined){\n console.log(format(message, prefix, name, timestamp), data)\n }else {\n console.log(format(message, prefix, name, timestamp))\n }\n }\n },\n log(message, data) {\n this.print(message, data)\n }\n }\n}\n\nconst log = createLogger('', '', false)\n\nexport {createLogger, log}\n","\n\nconst handle = (e) => {\n if (e && e.response && e.response.data && e.response.data.status == 400 && e.response.data.type === \"https://touristik-vertrieb.at/validation-error\") {\n let errors = e.response.data.detail.split(';')\n .map(m => { return { key: \"validation-error\", value: m } });\n return { handled: true, errors: errors };\n }\n return { handled: false };\n}\n\n\nexport default {\n handle\n}","export const AccountChildRoutes = [\n {\n path: 'orders',\n name: 'userorders',\n component: () =>\n import(/* webpackChunkName: \"account\" */ '@/modules/account/_components/UserOrdersView.vue'),\n },\n {\n name: 'user-change-password',\n path: 'change-password',\n component: () =>\n import(/* webpackChunkName: \"account\" */ '@/modules/account/_components/ChangePasswordView.vue'),\n },\n {\n name: 'user-edit-data',\n path: 'edit',\n component: () =>\n import(/* webpackChunkName: \"account\" */ '@/modules/account/_components/ChangeUserDataView.vue'),\n },\n]\n","export const CheckoutChildRoutes =\n [\n {\n path: '/',\n name: 'checkout',\n component: () =>\n import(/* webpackChunkName: \"checkout\" */ '@/modules/checkout/_components/CheckoutProcess.vue'),\n },\n {\n name: 'authorize',\n path: 'authorize',\n component: () =>\n import(/* webpackChunkName: \"checkout\" */ '@/modules/checkout/_components/AuthorizingPayment.vue'),\n }\n ];","export const HotelChildRoutes = [\r\n {\r\n path: ':contact/:slug',\r\n name: 'urlaub',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hotel\" */ '@/modules/hoteldisplay/_views/Offer.vue'\r\n ),\r\n },\r\n {\r\n path: 'karte',\r\n name: 'hotel-map',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hotel\" */ '@/modules/hoteldisplay/_views/Map.vue'\r\n ),\r\n },\r\n {\r\n path: ':contact',\r\n name: 'hotel-overview',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hotel\" */ '@/modules/hoteldisplay/_views/Hotel.vue'\r\n ),\r\n },\r\n]\r\n","export const AdacRoutes = [\r\n {\r\n path: '/blackfriday',\r\n name: 'blackfriday',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-blackfriday\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/BlackFriday.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Black Friday',\r\n },\r\n },\r\n {\r\n path: '/valentinstag',\r\n name: 'valentine',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-valentine\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/Valentine.vue'\r\n ),\r\n\r\n meta: {\r\n breadcrumb: 'Valentinstag',\r\n },\r\n },\r\n {\r\n path: '/ostern',\r\n name: 'easter',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-adac\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/Easter.vue'\r\n ),\r\n\r\n meta: {\r\n breadcrumb: 'Ostern',\r\n },\r\n },\r\n {\r\n path: '/muttertag',\r\n name: 'mothersday',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-adac\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/MothersDay.vue'\r\n ),\r\n\r\n meta: {\r\n breadcrumb: 'Muttertag',\r\n },\r\n },\r\n {\r\n path: '/ssv',\r\n name: 'ssv',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-adac\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/SummerSale.vue'\r\n ),\r\n\r\n meta: {\r\n breadcrumb: 'SSV',\r\n },\r\n },\r\n {\r\n path: '/motorwelt',\r\n name: 'motorwelt',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-adac\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/Motorwelt.vue'\r\n ),\r\n\r\n meta: {\r\n breadcrumb: 'Motorwelt',\r\n },\r\n },\r\n {\r\n path: '/weihnachten',\r\n name: 'christmas',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-adac\" */ /* webpackPreload: true */ '../views/Landingpages/Adac/Christmas.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Weihnachten',\r\n },\r\n },\r\n]\r\n","export const LimangoRoutes = [\r\n {\r\n path: '/suedtirol',\r\n name: 'suedtirol',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Suedtirol.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Südtirol',\r\n },\r\n },\r\n {\r\n path: '/deutschland',\r\n name: 'germany',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Germany.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Deutschland',\r\n },\r\n },\r\n {\r\n path: '/gardasee',\r\n name: 'gardasee',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Gardasee.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Gardasee',\r\n },\r\n },\r\n {\r\n path: '/chalet',\r\n name: 'chalet',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Chalet.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Chalet',\r\n },\r\n },\r\n {\r\n path: '/city',\r\n name: 'city',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/City.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'City',\r\n },\r\n },\r\n {\r\n path: '/wellness',\r\n name: 'wellness',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Wellness.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Wellness',\r\n },\r\n },\r\n {\r\n path: '/wien',\r\n name: 'vienna',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Vienna.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Wien',\r\n },\r\n },\r\n {\r\n path: '/replerhof',\r\n name: 'replerhof',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-limango\" */ /* webpackPreload: true */ '../views/Landingpages/Limango/Replerhof.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Replerhof',\r\n },\r\n },\r\n]\r\n","export const OoesbRoutes = [\r\n {\r\n path: '/schnaeppchen',\r\n name: 'bargain',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-ooesb\" */ /* webpackPreload: true */ '../views/Landingpages/Ooesb/Bargain.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Deutschland',\r\n },\r\n },\r\n]\r\n","export const PiratInViaggioRoutes = [\r\n {\r\n path: '/italia',\r\n name: 'italia',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-piratinviaggio\" */ /* webpackPreload: true */ '../views/Landingpages/PiratInViaggio/Italia.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Italia',\r\n },\r\n },\r\n]\r\n","export const WatItalyRoutes = [\r\n {\r\n path: '/italia',\r\n name: 'italia',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-watitaly\" */ /* webpackPreload: true */ '../views/Landingpages/WatItaly/Italia.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Italia',\r\n },\r\n },\r\n]\r\n","export const UrlaubsguruRoutes = [\r\n {\r\n path: '/deals',\r\n name: 'Deals',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-urlaubsguru\" */ /* webpackPreload: true */ '../views/Landingpages/Urlaubsguru/Deals.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Deals',\r\n },\r\n },\r\n]\r\n","export const SbscomRoutes = [\r\n {\r\n path: '/deals',\r\n name: 'Deals',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"lp-urlaubsguru\" */ /* webpackPreload: true */ '../views/Landingpages/Sbscom/Deals.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Deals',\r\n },\r\n },\r\n]\r\n","export const DefaultRoutes = [\r\n {\r\n path: '/willkommen/:promotion',\r\n name: 'promotion-redirect',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"home\" */ /* webpackPreload: true */ '../views/Search.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Home',\r\n },\r\n },\r\n]\r\n","import {AdacRoutes} from '@/routes/adac'\r\nimport {LimangoRoutes} from '@/routes/limango'\r\nimport {OoesbRoutes} from '@/routes/ooesb'\r\nimport {PiratInViaggioRoutes} from '@/routes/piratinviaggio'\r\nimport {WatItalyRoutes} from '@/routes/watitaly'\r\nimport {UrlaubsguruRoutes} from '@/routes/urlaubsguru'\r\nimport {SbscomRoutes} from '@/routes/sbscom'\r\nimport {DefaultRoutes} from '@/routes/default'\r\n\r\nconst config = require(process.env.CONFIG_LOCATION)\r\nlet shop = config.whitelabelConfig.short.toLowerCase()\r\n\r\nconst getAdditionalRoutes = () => {\r\n switch (shop) {\r\n case 'adac':\r\n return AdacRoutes\r\n case 'limango':\r\n return LimangoRoutes\r\n case 'ooesb':\r\n return OoesbRoutes\r\n case 'piratinviaggio':\r\n return PiratInViaggioRoutes\r\n case 'watitaly':\r\n return WatItalyRoutes\r\n case 'urlaubsguru':\r\n return UrlaubsguruRoutes\r\n case 'sbscom':\r\n return SbscomRoutes\r\n default:\r\n return DefaultRoutes\r\n }\r\n}\r\n\r\nexport default {\r\n getAdditionalRoutes,\r\n}\r\n","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\nimport {AccountChildRoutes} from '@/modules/account/routes'\r\nimport {CheckoutChildRoutes} from '@/modules/checkout/routes'\r\nimport {HotelChildRoutes} from '@/modules/hoteldisplay/routes'\r\n// import {BannerChildRoutes} from '@/modules/banner/routes'\r\n\r\nimport RouterLoader from '@/common/routes-loader'\r\n\r\n// import {AdacRoutes} from '@/routes/adac'\r\n// import {LimangoRoutes} from '@/routes/limango'\r\n// import {OoesbRoutes} from '@/routes/ooesb'\r\n// import {DefaultRoutes} from '@/routes/default'\r\n\r\nimport store from './store'\r\n\r\nVue.use(Router)\r\n\r\n//get current shop\r\n// const config = require(process.env.CONFIG_LOCATION)\r\n// let shop = config.whitelabelConfig.short.toLowerCase()\r\n\r\n// const getAdditionalRoutes = shop => {\r\n// switch (shop) {\r\n// case 'adac':\r\n// return AdacRoutes\r\n// case 'limango':\r\n// return LimangoRoutes\r\n// case 'ooesb':\r\n// return OoesbRoutes\r\n// default:\r\n// return DefaultRoutes\r\n// }\r\n// }\r\n\r\nexport default new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n scrollBehavior(to, from, savedPosition) {\r\n if (savedPosition) {\r\n return savedPosition\r\n } else {\r\n //prevent scroll to top when inputs (for example searchfields) are clicked and only url query params (from.fullPath != to.fullPath but from.pa) change\r\n if (to.path !== from.path) {\r\n return {x: 0, y: 0}\r\n }\r\n }\r\n },\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"start\" */ /* webpackPreload: true */ './views/Home.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Home',\r\n },\r\n },\r\n {\r\n path: '/urlaub-finden',\r\n name: 'search',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"home\" */ /* webpackPreload: true */ './views/Search.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Home',\r\n },\r\n },\r\n {\r\n alias: '/checkout/*',\r\n path: '/checkout',\r\n component: () =>\r\n import(/* webpackChunkName: \"checkout\" */ './views/Checkout.vue'),\r\n children: CheckoutChildRoutes,\r\n meta: {\r\n breadcrumb: {\r\n label: 'Checkout',\r\n parent: 'search',\r\n },\r\n },\r\n },\r\n {\r\n path: '/account',\r\n name: 'account',\r\n component: () =>\r\n import(/* webpackChunkName: \"account\" */ './views/Account.vue'),\r\n children: AccountChildRoutes,\r\n },\r\n // {\r\n // path: '/banner',\r\n // name: 'banner',\r\n // component: () =>\r\n // import(/* webpackChunkName: \"banner\" */ './views/BannerAds.vue'),\r\n // children: BannerChildRoutes,\r\n // },\r\n {\r\n path: '/password-forgotten',\r\n name: 'reset-password',\r\n component: () =>\r\n import(/* webpackChunkName: \"account\" */ './views/Account.vue'),\r\n },\r\n {\r\n path: '/search/:keyword',\r\n name: 'search-keyword',\r\n component: () =>\r\n import(/* webpackChunkName: \"home\" */ './views/Search.vue'),\r\n },\r\n {\r\n path: '/reiseziel/:iso/:country',\r\n alias: '/reiseziel/:iso',\r\n name: 'search-by-country',\r\n component: () =>\r\n import(/* webpackChunkName: \"home\" */ './views/Search.vue'),\r\n },\r\n {\r\n path: '/thema/:name/:id',\r\n alias: '/thema/:id',\r\n name: 'search-by-theme',\r\n component: () =>\r\n import(/* webpackChunkName: \"home\" */ './views/Search.vue'),\r\n },\r\n {\r\n path: '/view/:id/:key',\r\n name: 'order-detail',\r\n component: () =>\r\n import(/* webpackChunkName: \"order\" */ './views/Order.vue'),\r\n },\r\n {\r\n path: '/complete/:id/:key',\r\n name: 'order-complete',\r\n component: () =>\r\n import(/* webpackChunkName: \"order\" */ './views/Order.vue'),\r\n },\r\n // {\r\n // alias: '/hotel/:id',\r\n // path: '/hotel/:name/:id',\r\n // name: 'hotel',\r\n // children: HotelChildRoutes,\r\n // component: () =>\r\n // import(/* webpackChunkName: \"hotel\" */ './views/Hotel.vue'),\r\n // },\r\n {\r\n alias: '/urlaub/*',\r\n path: '/urlaub',\r\n name: 'urlaub-main',\r\n children: HotelChildRoutes,\r\n component: () =>\r\n import(/* webpackChunkName: \"hotel\" */ './views/Hotel.vue'),\r\n },\r\n // {\r\n // path: '/hotel/:id',\r\n // name: 'foo',\r\n // component: () =>\r\n // import(/* webpackChunkName: \"hotel\" */ './views/Hotel.vue'),\r\n // //import(/* webpackChunkName: \"home\" */ './views/Home.vue'),\r\n // },\r\n\r\n {\r\n path: '/willkommen/:promotion',\r\n name: 'promotion-redirect',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"home\" */ /* webpackPreload: true */ './views/Search.vue'\r\n ),\r\n meta: {\r\n breadcrumb: 'Home',\r\n },\r\n },\r\n //...getAdditionalRoutes(shop),\r\n ...RouterLoader.getAdditionalRoutes(),\r\n // {\r\n // path: '/blackfriday',\r\n // name: 'blackfriday',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-blackfriday\" */ /* webpackPreload: true */ './views/Landingpages/BlackFriday.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Black Friday',\r\n // },\r\n // },\r\n // {\r\n // path: '/valentinstag',\r\n // name: 'valentine',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-valentine\" */ /* webpackPreload: true */ './views/Landingpages/Valentine.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Valentinstag',\r\n // },\r\n // },\r\n // {\r\n // path: '/ostern',\r\n // name: 'easter',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-easter\" */ /* webpackPreload: true */ './views/Landingpages/Easter.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Ostern',\r\n // },\r\n // },\r\n // {\r\n // path: '/muttertag',\r\n // name: 'mothersday',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-mothersday\" */ /* webpackPreload: true */ './views/Landingpages/MothersDay.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Muttertag',\r\n // },\r\n // },\r\n // {\r\n // path: '/ssv',\r\n // name: 'ssv',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-ssv\" */ /* webpackPreload: true */ './views/Landingpages/SummerSale.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'SSV',\r\n // },\r\n // },\r\n // {\r\n // path: '/motorwelt',\r\n // name: 'motorwelt',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-motorwelt\" */ /* webpackPreload: true */ './views/Landingpages/Motorwelt.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Motorwelt',\r\n // },\r\n // },\r\n // {\r\n // path: '/suedtirol',\r\n // name: 'suedtirol',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-suedtirol\" */ /* webpackPreload: true */ './views/Landingpages/Suedtirol.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'limango') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Südtirol',\r\n // },\r\n // },\r\n // {\r\n // path: '/deutschland',\r\n // name: 'germany',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-germany\" */ /* webpackPreload: true */ './views/Landingpages/Germany.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'limango') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Deutschland',\r\n // },\r\n // },\r\n // {\r\n // path: '/schnaeppchen',\r\n // name: 'bargain',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-bargain\" */ /* webpackPreload: true */ './views/Landingpages/Bargain.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'ooesb') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Deutschland',\r\n // },\r\n // },\r\n // {\r\n // path: '/weihnachten',\r\n // name: 'christmas',\r\n // component: () =>\r\n // import(\r\n // /* webpackChunkName: \"lp-christmas\" */ /* webpackPreload: true */ './views/Landingpages/Christmas.vue'\r\n // ),\r\n // beforeEnter: (to, from, next) => {\r\n // const shop = Vue.prototype.$whitelabel.short.toLowerCase()\r\n // if (shop === 'adac') {\r\n // next()\r\n // } else {\r\n // next('/')\r\n // }\r\n // },\r\n // meta: {\r\n // breadcrumb: 'Weihnachten',\r\n // },\r\n // },\r\n {\r\n path: '/to/:id',\r\n name: 'redirect-to-offer',\r\n component: () =>\r\n import(/* webpackChunkName: \"static\" */ './components/Redirect.vue'),\r\n },\r\n {\r\n path: '/:key',\r\n name: 'markdown-page',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"static\" */ './views/StaticMarkdownContent.vue'\r\n ),\r\n beforeEnter(to, from, next) {\r\n const page = store.getters.pages.find(\r\n f => f.slug.toLowerCase() === to.params.key.toLowerCase(),\r\n )\r\n if (page || store.getters.pendingContent) {\r\n next()\r\n } else {\r\n next({name: '404'})\r\n }\r\n },\r\n },\r\n {\r\n path: '/404',\r\n alias: '*',\r\n name: '404',\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"pagenotfound\" */ './views/PageNotFound.vue'\r\n ),\r\n },\r\n ],\r\n})\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport i18n from '@/i18n'\r\nimport Checkout from '@/api/checkout-api'\r\nimport Offer from '@/api/offer-api'\r\nimport OrderValidator from '@/api/order-validator'\r\nimport AuthApi from '@/api/auth-api'\r\nimport AccountApi from '@/api/account-api'\r\nimport contentApi from '../api/content-api'\r\nimport ValidationErrorHandler from '@/common/validation-error-handler'\r\nimport router from '../router'\r\nimport {NotificationProgrammatic as Notification} from 'buefy'\r\nconst accessTokenIndex = 'accessToken'\r\nconst referalIndex = 'referal'\r\nimport {bootstrap} from 'vue-gtag'\r\n\r\nimport {createLogger} from '@/common/log'\r\nconst logger = createLogger('store.js', '', false)\r\n\r\nVue.use(Vuex)\r\n\r\nfunction analyticsDeactivated() {\r\n if (localStorage.acceptAllCookies === 'true') {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n// function getThemes(item) {\r\n// if (item.themes != undefined) {\r\n// return item.themes.map(f => f.name).join(',')\r\n// }\r\n\r\n// return ''\r\n// }\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n cart: {},\r\n itemCount: 0,\r\n isGuardActive: false,\r\n disableSite: false,\r\n sidebarVisible: false,\r\n invalidPromotion: false,\r\n storeCurrency: 'EUR',\r\n isAnalyticsDeactivated: analyticsDeactivated(),\r\n menu: {\r\n themes: [],\r\n countries: [],\r\n footer: [],\r\n },\r\n content: {\r\n pending: true,\r\n home: [],\r\n pages: [],\r\n },\r\n promotions: [],\r\n isoCountries: [\r\n {iso: 'AT', country: i18n.t('countries.AT')},\r\n {iso: 'DE', country: i18n.t('countries.DE')},\r\n {iso: 'CH', country: i18n.t('countries.CH')},\r\n {iso: 'IT', country: i18n.t('countries.IT')},\r\n {iso: 'FR', country: i18n.t('countries.FR')},\r\n {iso: 'LI', country: i18n.t('countries.LI')},\r\n {iso: 'CZ', country: i18n.t('countries.CZ')},\r\n ],\r\n displayReduction: {\r\n hasActiveReduction: false,\r\n activeReductionName: null,\r\n reductionFx: null,\r\n },\r\n user: null,\r\n showLoginWindow: false,\r\n accessToken: {},\r\n locale: 'de',\r\n },\r\n getters: {\r\n productsInCart: state => state.cart.orderItems,\r\n currentOrderId: state => state.cart.id,\r\n currentOrderKey: state => state.cart.token,\r\n cartSubTotal: state =>\r\n state.cart.summary ? state.cart.summary.subtotal : 0,\r\n cartShipping: state =>\r\n state.cart.summary ? state.cart.summary.shippingTotal : 0,\r\n cartDiscount: state =>\r\n state.cart.summary ? state.cart.summary.discountTotal : 0,\r\n cartTotal: state => (state.cart.summary ? state.cart.summary.total : 0),\r\n cartFees: state => (state.cart.summary ? state.cart.summary.fees : []),\r\n cartPrepaid: state =>\r\n state.cart.summary ? state.cart.summary.prepaid : [],\r\n cartCurrency: state => state.cart.currency,\r\n cartPaymentType: state => state.cart.paymentType,\r\n activeReduction: state => state.cart.reduction,\r\n itemCount: state => state.itemCount,\r\n disableSite: state => state.disableSite,\r\n drawer: state => state.sidebarVisible,\r\n menu: state => state.menu,\r\n invalidPromotion: state => state.invalidPromotion,\r\n isoCountries: state => state.isoCountries,\r\n displayReduction: state => state.displayReduction,\r\n displayReductionActive: state => state.displayReduction.hasActiveReduction,\r\n isGuarded: state => state.isGuardActive,\r\n isAnalyticsDeactivated: state => state.isAnalyticsDeactivated,\r\n hasUser: state => state.user != null,\r\n userName: state => (state.user != null ? state.user.name : ''),\r\n token: state => state.accessToken,\r\n showLoginWindow: state => state.showLoginWindow,\r\n pages: state => state.content.pages,\r\n pendingContent: state => state.content.pending,\r\n home: state => state.content.home,\r\n locale: state => state.locale,\r\n promotions: state => state.promotions,\r\n localeIso: state => {\r\n if (state.locale === 'en') {\r\n return 'en_GB'\r\n }\r\n\r\n return `${state.locale}_${state.locale.toUpperCase()}`\r\n },\r\n },\r\n mutations: {\r\n CART_ITEMS_MODIFIED: (state, payload) => {\r\n state.cart.summary = payload.summary\r\n },\r\n PRODUCT_ADDED: (state, product) => {\r\n let replacingIndex = state.cart.orderItems.findIndex(\r\n f => f.id == product.id,\r\n )\r\n if (replacingIndex > -1) {\r\n state.cart.orderItems.splice(replacingIndex, 1, product)\r\n } else {\r\n state.cart.orderItems.push(product)\r\n }\r\n state.itemCount = state.cart.orderItems.reduce(\r\n (a, c) => a + c.quantity,\r\n 0,\r\n )\r\n // try {\r\n // if (Vue.prototype.$whitelabel.fbPixelEnabled) {\r\n // Vue.analytics.fbq.event('AddToCart')\r\n // }\r\n // } catch (e) {\r\n // //todo some logging mechanism i guess\r\n // }\r\n },\r\n PRODUCT_REMOVED: (state, product) => {\r\n state.cart.orderItems = state.cart.orderItems.filter(\r\n f => f.id != product.id,\r\n )\r\n state.itemCount = state.cart.orderItems.reduce(\r\n (a, c) => a + c.quantity,\r\n 0,\r\n )\r\n },\r\n PRODUCT_UPDATED: (state, product) => {\r\n let replacingIndex = state.cart.orderItems.findIndex(\r\n f => f.id == product.id,\r\n )\r\n state.cart.orderItems.splice(replacingIndex, 1, product)\r\n state.itemCount = state.cart.orderItems.reduce(\r\n (a, c) => a + c.quantity,\r\n 0,\r\n )\r\n },\r\n CART_UPDATED: (state, cart) => {\r\n state.invalidPromotion = false\r\n state.cart = cart\r\n if (cart && cart.orderItems && cart.orderItems.length > 0) {\r\n state.itemCount = state.cart.orderItems.reduce(\r\n (a, c) => a + c.quantity,\r\n 0,\r\n )\r\n } else {\r\n state.itemCount = 0\r\n }\r\n },\r\n PAYMENT_METHOD_UPDATED: (state, paymentMethod) => {\r\n state.cart.paymentType = paymentMethod\r\n },\r\n FLASH_MESSAGE_CREATED: (_, message) => {\r\n Notification.open(message)\r\n },\r\n REDUCTION_INFO_UPDATED: (state, reduction) => {\r\n if (!reduction || !reduction.valid) {\r\n state.displayReduction.hasActiveReduction = false\r\n state.displayReduction.reductionFx = null\r\n state.displayReduction.activeReductionName = null\r\n } else {\r\n state.displayReduction.hasActiveReduction = true\r\n //cap the value cause the cart / order system doesnt allow this anyways\r\n const capped = (val, org) => {\r\n if (val <= 0) {\r\n return org\r\n }\r\n return val\r\n }\r\n switch (reduction.operation) {\r\n case '+':\r\n state.displayReduction.reductionFx = amount =>\r\n capped(amount - reduction.value, amount)\r\n break\r\n case '%':\r\n state.displayReduction.reductionFx = amount =>\r\n capped(amount * (1 - reduction.value), amount)\r\n break\r\n default:\r\n state.displayReduction.reductionFx = amount => amount\r\n break\r\n }\r\n state.displayReduction.activeReductionName = reduction.name\r\n }\r\n },\r\n CART_CLEARED: state => {\r\n state.cart = {}\r\n state.itemCount = 0\r\n },\r\n INVALID_PROMOTION: state => {\r\n state.invalidPromotion = true\r\n },\r\n INVALID_PROMOTION_RESET: state => {\r\n state.invalidPromotion = false\r\n },\r\n SITE_LOCKED: state => {\r\n state.disableSite = true\r\n },\r\n SITE_UNLOCKED: state => {\r\n state.disableSite = false\r\n },\r\n DRAWER_CHANGED: (state, payload) => {\r\n state.sidebarVisible = payload.visible\r\n },\r\n MENU_LOADED: (state, payload) => {\r\n state.menu.countries = payload.countries\r\n state.menu.themes = payload.themes.filter(f => f.value)\r\n },\r\n CONTENT_RECEIVED: (state, payload) => {\r\n if (payload) {\r\n state.content.pages = payload.pages\r\n if (payload.extensionPoints) {\r\n for (let key of payload.extensionPoints.footerMenu) {\r\n let page = payload.pages.find(\r\n f => f.name == key && f.locale == state.locale,\r\n )\r\n if (page) {\r\n state.menu.footer.push({slug: page.slug, menu: page.title})\r\n }\r\n }\r\n if (payload.extensionPoints.home) {\r\n state.content.home = payload.extensionPoints.home\r\n }\r\n }\r\n }\r\n state.content.pending = false\r\n },\r\n TOGGLE_GUARD: (state, payload) => {\r\n state.isGuardActive = payload.active\r\n },\r\n DEACTIVATE_ANALYTICS: state => {\r\n state.isAnalyticsDeactivated = true\r\n localStorage.acceptAllCookies = false\r\n\r\n let analyticstype = Vue.prototype.$whitelabel.analyticsType\r\n\r\n if (analyticstype == 'gtag' || analyticstype == 'both') {\r\n logger.debug('gtag optout')\r\n //Vue.$gtag.enabled = false\r\n Vue.$gtag.optOut()\r\n }\r\n if (analyticstype == 'ua' || analyticstype == 'both') {\r\n logger.debug('ga optout')\r\n Vue.$ga.disable()\r\n }\r\n\r\n if (Vue.prototype.$whitelabel.tagManager) {\r\n logger.debug('gtm enabled:' + Vue.gtm.enabled())\r\n Vue.gtm.enable(false)\r\n }\r\n\r\n //#todo add gtag\r\n },\r\n ACTIVATE_ANALYTICS: state => {\r\n state.isAnalyticsDeactivated = false\r\n localStorage.acceptAllCookies = true\r\n\r\n let analyticstype = Vue.prototype.$whitelabel.analyticsType\r\n\r\n if (analyticstype == 'gtag' || analyticstype == 'both') {\r\n logger.debug('gtag optin')\r\n //Vue.$gtag.enabled = true\r\n bootstrap().then(() => {\r\n // all done!\r\n Vue.$gtag.optIn()\r\n })\r\n }\r\n\r\n if (analyticstype == 'ua' || analyticstype == 'both') {\r\n logger.debug('ga optin')\r\n Vue.$ga.enable()\r\n }\r\n\r\n if (Vue.prototype.$whitelabel.fbPixelEnabled) {\r\n Vue.analytics.fbq.init(Vue.prototype.$whitelabel.fbPixelId)\r\n Vue.analytics.fbq.event('PageView')\r\n }\r\n\r\n if (Vue.prototype.$whitelabel.tagManager) {\r\n logger.debug('gtm enabled:' + Vue.gtm.enabled())\r\n Vue.gtm.enable(true)\r\n }\r\n\r\n //#todo add gtag\r\n },\r\n ACCESS_TOKEN_UPDATED: (state, token) => {\r\n state.accessToken = token\r\n const jwt = AuthApi.parseJwt(token.token)\r\n if (state.user == null) {\r\n state.user = {}\r\n }\r\n state.user.id = jwt.id\r\n state.user.name = jwt.sub\r\n },\r\n ACCESS_TOKEN_DELETED: state => {\r\n state.accessToken = null\r\n state.user = null\r\n },\r\n TOGGLE_LOGIN_WINDOW: (state, payload) => {\r\n state.showLoginWindow = payload.show\r\n },\r\n LOCALE_CHANGED: (state, payload) => {\r\n state.locale = payload.locale\r\n },\r\n PROMOTIONS_RECEIVED: (state, payload) => {\r\n state.promotions = payload\r\n },\r\n },\r\n\r\n actions: {\r\n modifyCartProduct: (context, payload) => {\r\n if (payload.modified && payload.modified.length > 0) {\r\n for (let item of payload.modified) {\r\n context.commit('PRODUCT_UPDATED', item)\r\n }\r\n }\r\n if (payload.added && payload.added.length > 0) {\r\n for (let item of payload.added) {\r\n context.commit('PRODUCT_ADDED', item)\r\n }\r\n }\r\n if (payload.removed && payload.removed.length > 0) {\r\n for (let item of payload.removed) {\r\n context.commit('PRODUCT_REMOVED', item)\r\n }\r\n }\r\n },\r\n addProduct: async (context, variant) => {\r\n try {\r\n let order = await Checkout.createOrderIfNeeded()\r\n if (order) {\r\n context.commit('CART_UPDATED', order)\r\n }\r\n\r\n let res = await Checkout.addItem(variant)\r\n if (res) {\r\n context.commit('CART_ITEMS_MODIFIED', res)\r\n context.dispatch('modifyCartProduct', res)\r\n }\r\n } catch {\r\n context.commit('FLASH_MESSAGE_CREATED', {\r\n type: 'is-danger',\r\n position: 'is-bottom',\r\n message: i18n.t('errors.retryable-error'),\r\n })\r\n }\r\n },\r\n addGiftCard: async (context, tan) => {\r\n try {\r\n let order = await Checkout.createOrderIfNeeded()\r\n if (order) {\r\n context.commit('CART_UPDATED', order)\r\n }\r\n\r\n let res = await Checkout.addGiftCardToOrder(tan)\r\n if (res) {\r\n context.commit('CART_ITEMS_MODIFIED', {summary: res})\r\n context.dispatch('refreshPayment')\r\n }\r\n } catch {\r\n context.commit('FLASH_MESSAGE_CREATED', {\r\n type: 'is-danger',\r\n position: 'is-bottom',\r\n message: i18n.t('errors.retryable-error'),\r\n })\r\n }\r\n },\r\n removeGiftCard: async (context, tan) => {\r\n try {\r\n let res = await Checkout.removeGiftCardFromOrder(tan)\r\n if (res) {\r\n context.commit('CART_ITEMS_MODIFIED', {summary: res})\r\n context.dispatch('refreshPayment')\r\n }\r\n } catch {\r\n context.commit('FLASH_MESSAGE_CREATED', {\r\n type: 'is-danger',\r\n position: 'is-bottom',\r\n message: i18n.t('errors.retryable-error'),\r\n })\r\n }\r\n },\r\n removeProduct: async (context, item) => {\r\n try {\r\n let res = await Checkout.removeItem(item)\r\n if (res) {\r\n context.commit('CART_ITEMS_MODIFIED', res)\r\n context.dispatch('modifyCartProduct', res)\r\n }\r\n } catch {\r\n context.commit('FLASH_MESSAGE_CREATED', {\r\n type: 'is-danger',\r\n position: 'is-bottom',\r\n message: i18n.t('errors.retryable-error'),\r\n })\r\n }\r\n },\r\n changeQuantityOfProduct: async (context, payload) => {\r\n try {\r\n let res = await Checkout.changeQuantity(\r\n payload.itemId,\r\n payload.quantity,\r\n )\r\n if (res) {\r\n context.commit('CART_ITEMS_MODIFIED', res)\r\n context.dispatch('modifyCartProduct', res)\r\n }\r\n } catch {\r\n context.commit('FLASH_MESSAGE_CREATED', {\r\n type: 'is-danger',\r\n position: 'is-bottom',\r\n message: i18n.t('errors.retryable-error'),\r\n })\r\n }\r\n },\r\n refreshCart: async (context, payload) => {\r\n let res = await Checkout.checkOpenOrder()\r\n if (res) {\r\n context.commit('CART_UPDATED', res)\r\n if (payload && payload.delegateCustomer) {\r\n await context.dispatch(\r\n '$_checkout/useDelegatedUserData',\r\n res.customer,\r\n )\r\n }\r\n if (res.reductionId) {\r\n await context.dispatch('updateReductionInfo', res.reductionId)\r\n }\r\n }\r\n },\r\n refreshPayment: async context => {\r\n let res = await Checkout.refreshPaymentType()\r\n if (res) {\r\n context.commit('PAYMENT_METHOD_UPDATED', res)\r\n }\r\n },\r\n updatePayment: (context, payload) => {\r\n if (payload) {\r\n context.commit('PAYMENT_METHOD_UPDATED', payload)\r\n }\r\n },\r\n prepareForCheckout: async () => {\r\n await Checkout.prepareForCheckout()\r\n let validationResult = await OrderValidator.validateOrder()\r\n if (!validationResult.validForSale) {\r\n OrderValidator.invalidOrderHandler(validationResult)\r\n }\r\n },\r\n clearCart: context => {\r\n localStorage.removeItem('CURRENT_ID')\r\n localStorage.removeItem('TOKEN')\r\n context.commit('CART_CLEARED')\r\n },\r\n updateCart: (context, payload) => {\r\n context.commit('CART_UPDATED', payload)\r\n },\r\n lockSite: (context, payload) => {\r\n context.commit('SITE_LOCKED', payload)\r\n },\r\n unlockSite: context => {\r\n context.commit('SITE_UNLOCKED')\r\n },\r\n showDrawer: context => {\r\n context.commit('DRAWER_CHANGED', {visible: true})\r\n },\r\n hideDrawer: context => {\r\n context.commit('DRAWER_CHANGED', {visible: false})\r\n },\r\n setGuardActive: context => {\r\n context.commit('TOGGLE_GUARD', {active: true})\r\n },\r\n unlockGuard: context => {\r\n context.commit('TOGGLE_GUARD', {active: false})\r\n },\r\n loadMenuEntires: async context => {\r\n let data = await Offer.getMenu()\r\n context.commit('MENU_LOADED', data)\r\n },\r\n clearInvalidReduction: context => {\r\n context.commit('INVALID_PROMOTION_RESET')\r\n },\r\n flashMessageDanger: (context, payload) => {\r\n context.commit('FLASH_MESSAGE_CREATED', {\r\n type: 'is-danger',\r\n position: 'is-bottom',\r\n message: payload.message,\r\n })\r\n },\r\n applyReduction: async (context, code) => {\r\n try {\r\n await Checkout.createOrderIfNeeded()\r\n let res = await Checkout.applyReduction(code)\r\n context.commit('CART_UPDATED', res)\r\n if (res.reductionId) {\r\n context.dispatch('updateReductionInfo', res.reductionId)\r\n }\r\n } catch (error) {\r\n if (error && error.response) {\r\n if (error.response.type == 'https://httpstatuses.com/500') {\r\n //notify\r\n }\r\n if (\r\n error.status == 417 ||\r\n error.response.data.type ==\r\n 'https://touristik-vertrieb.at/invalid-reduction'\r\n ) {\r\n context.commit('INVALID_PROMOTION')\r\n }\r\n }\r\n context.dispatch('unlockSite')\r\n }\r\n },\r\n removeReduction: async context => {\r\n await Checkout.createOrderIfNeeded()\r\n let res = await Checkout.removeReduction()\r\n context.commit('CART_UPDATED', res)\r\n },\r\n updateReductionInfo: async (context, id) => {\r\n let res = await Checkout.getReductionInfo(id)\r\n context.commit('REDUCTION_INFO_UPDATED', res)\r\n },\r\n deactivateAnalytics: context => {\r\n context.commit('DEACTIVATE_ANALYTICS')\r\n },\r\n activateAnalytics: context => {\r\n context.commit('ACTIVATE_ANALYTICS')\r\n },\r\n login: async ({dispatch, commit}, payload) => {\r\n try {\r\n let res = await AuthApi.login(payload.usr, payload.pwd)\r\n if (res && res.accessToken) {\r\n var expiresOn = new Date()\r\n const expiry = expiresOn.setSeconds(\r\n expiresOn.getSeconds() + res.accessToken.expiresIn,\r\n )\r\n res.accessToken.expiry = expiry\r\n localStorage.setItem(\r\n accessTokenIndex,\r\n JSON.stringify(res.accessToken),\r\n )\r\n commit('ACCESS_TOKEN_UPDATED', res.accessToken)\r\n if (\r\n res.orderId &&\r\n res.orderId.length > 0 &&\r\n res.token &&\r\n res.token.length > 0\r\n ) {\r\n Checkout.updateCurrentOrder(res.orderId, res.token)\r\n await dispatch('refreshCart')\r\n }\r\n commit('TOGGLE_LOGIN_WINDOW', {show: false})\r\n }\r\n return res\r\n } catch {\r\n return {\r\n success: false,\r\n }\r\n }\r\n },\r\n logout: async ({commit}) => {\r\n commit('ACCESS_TOKEN_DELETED')\r\n localStorage.removeItem(accessTokenIndex)\r\n Checkout.resetOrderStorage()\r\n commit('CART_CLEARED')\r\n router.push({name: 'account'})\r\n },\r\n storeInit: async ({commit}, payload) => {\r\n if (payload.locale) {\r\n commit('LOCALE_CHANGED', {locale: payload.locale})\r\n }\r\n let content = await contentApi.getOverview(payload.site)\r\n commit('CONTENT_RECEIVED', content)\r\n let promotions = await contentApi.getCurrentPromotions()\r\n commit('PROMOTIONS_RECEIVED', promotions)\r\n },\r\n setReferalToken: (_, payload) => {\r\n const stored = localStorage.getItem(referalIndex)\r\n if (stored) {\r\n const referal = JSON.parse(stored)\r\n if (payload.code === referal.code) {\r\n return\r\n }\r\n }\r\n const newReferal = JSON.stringify(payload)\r\n localStorage.setItem(referalIndex, newReferal)\r\n },\r\n loadAccesToken: ({commit}) => {\r\n const storageToken = localStorage.getItem(accessTokenIndex)\r\n if (storageToken) {\r\n const token = JSON.parse(storageToken)\r\n if (new Date(token.expiry) > new Date()) {\r\n commit('ACCESS_TOKEN_UPDATED', JSON.parse(storageToken))\r\n }\r\n }\r\n },\r\n refreshToken: async ({commit}) => {\r\n try {\r\n let res = await AuthApi.refresh(commit.token)\r\n if (res && res.accessToken) {\r\n var expiresOn = new Date()\r\n let expiry = expiresOn.setSeconds(\r\n expiresOn.getSeconds() + res.accessToken.expiresIn,\r\n )\r\n res.accessToken.expiry = expiry\r\n localStorage.setItem(\r\n accessTokenIndex,\r\n JSON.stringify(res.accessToken),\r\n )\r\n commit('ACCESS_TOKEN_UPDATED', res.accessToken)\r\n }\r\n } catch {\r\n //if we cant extend it - we throw it away\r\n commit('ACCESS_TOKEN_DELETED')\r\n }\r\n },\r\n showLogin: async ({commit}) => {\r\n commit('TOGGLE_LOGIN_WINDOW', {show: true})\r\n },\r\n passwordForgotten: async (context, payload) => {\r\n try {\r\n let result = await AccountApi.passwordForgotten(payload.email)\r\n return result\r\n } catch (e) {\r\n let validationError = ValidationErrorHandler.handle(e)\r\n if (validationError.handled) {\r\n return {success: false, errors: validationError.errors}\r\n }\r\n let success = {success: false, errors: []}\r\n return success\r\n }\r\n },\r\n changeLocale: (context, payload) => {\r\n context.commit('LOCALE_CHANGED', payload)\r\n context.dispatch('loadMenuEntires')\r\n },\r\n },\r\n})\r\n","var map = {\n\t\"./de.json\": \"6ce2\",\n\t\"./en.json\": \"edd4\",\n\t\"./it.json\": \"0825\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"49f8\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"contents\"}},[(_vm.$route.meta.emptyLayout)?_c('router-view'):_vm._e(),(!_vm.$route.meta.emptyLayout)?_c('div',{class:{'is-devmode': _vm.isDevMode},attrs:{\"id\":\"app\"}},[(!_vm.$whitelabel.isStandalone && _vm.$whitelabel.heroHomeOnly)?_c('HeroInfoStandalone',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$route.path === '/'),expression:\"$route.path === '/'\"}]}):_vm._e(),(!_vm.$whitelabel.isStandalone && !_vm.$whitelabel.heroHomeOnly)?_c('HeroInfoStandalone'):_vm._e(),_c('Navigation'),_c('main',{staticClass:\"section main-content\",attrs:{\"role\":\"main\"}},[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('router-view',{key:1})],1)],1),_c('ScrollToTop'),_c('FooterProxy'),_c('cookie-law',{attrs:{\"storageName\":\"acceptAllCookies\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"columns u-is-vcenter\"},[_c('div',{staticClass:\"column is-7 is-size-7-touch\"},[_vm._v(\" \"+_vm._s(_vm.$t('consent.policy1'))+\" \"),_c('a',{staticClass:\"has-text-white\",attrs:{\"href\":\"/datenschutz\",\"title\":_vm.$t('consent.policy2')}},[_vm._v(_vm._s(_vm.$t('consent.policy2')))])]),_c('div',{staticClass:\"column is-5\"},[_c('div',{staticClass:\"buttons u-is-hend\"},[_c('b-button',{staticClass:\"is-size-7-touch\",attrs:{\"type\":\"is-success\"},on:{\"click\":function($event){props.accept()\r\n _vm.allowCookies()}}},[_vm._v(_vm._s(_vm.$t('consent.allow_cookies')))]),_c('b-button',{staticClass:\"is-size-7-touch\",attrs:{\"type\":\"is-light\"},on:{\"click\":function($event){props.decline()\r\n _vm.declineCookies()}}},[_vm._v(_vm._s(_vm.$t('consent.just_necessary_cookies')))])],1)])])])}}],null,false,1872951211)}),_c('Drawer',{ref:\"CartDrawer\",attrs:{\"direction\":'right',\"exist\":true}},[_c('CartDisplay')],1),_c('b-modal',{attrs:{\"active\":_vm.showLoginWindow,\"scroll\":\"keep\"}},[_c('LoginWindow')],1),_c('b-loading',{attrs:{\"is-full-page\":true,\"active\":_vm.displayLoading,\"can-cancel\":false},on:{\"update:active\":function($event){_vm.displayLoading=$event}}}),(_vm.$whitelabel.awinId)?_c('Awin'):_vm._e(),(_vm.$whitelabel.adcell)?_c('Adcell'):_vm._e(),_c('script',{attrs:{\"type\":\"application/ld+json\"},domProps:{\"innerHTML\":_vm._s(_vm.snippedData)}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.component,{tag:\"component\",staticClass:\"navigation-wrapper is-hidden-print\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$whitelabel.short.toLowerCase() !== 'adac')?_c('nav',{staticClass:\"navbar\",class:{'is-fixed-top': _vm.$whitelabel.fixedNavbar},attrs:{\"role\":\"navigation\",\"aria-label\":\"main navigation\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"navbar-brand\"},[(_vm.$whitelabel.short.toLowerCase() !== 'greenstorm')?_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":{name: 'home'},\"aria-label\":\"Homepage\"},nativeOn:{\"click\":function($event){return _vm.resetSearchAndLoadProducts($event)}}},[(_vm.$whitelabel.showHeaderLogo)?_c('img',{staticClass:\"navbar-brand__logo\",attrs:{\"importance\":\"high\",\"src\":_vm.$whitelabel.logoHeader,\"alt\":_vm.$whitelabel.storeName}}):_vm._e(),(!_vm.$whitelabel.showHeaderLogo && _vm.$whitelabel.short.toLowerCase() !== 'urlaubsguru')?_c('span',{staticClass:\"is-hidden-touch\"},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" \"+_vm._s(_vm.$t('general.find-vacation')))],1):_vm._e(),(!_vm.$whitelabel.showHeaderLogo && _vm.$whitelabel.short.toLowerCase() === 'urlaubsguru')?_c('span',{staticClass:\"is-hidden-touch\"},[_c('b-icon',{attrs:{\"icon\":\"home\",\"size\":\"is-small\"}}),_vm._v(\" Urlaubsgutscheine - bis zu 70% günstiger\")],1):_vm._e()]):_vm._e(),(_vm.$whitelabel.short.toLowerCase() == 'greenstorm')?_c('div',{staticClass:\"navbar-item is-block\"},[_c('router-link',{attrs:{\"to\":{name: 'home'},\"aria-label\":\"Homepage\"},nativeOn:{\"click\":function($event){return _vm.resetSearchAndLoadProducts($event)}}},[(_vm.$whitelabel.showHeaderLogo)?_c('img',{staticClass:\"navbar-brand__logo is-block\",attrs:{\"importance\":\"high\",\"src\":_vm.$whitelabel.logoHeader,\"alt\":_vm.$whitelabel.storeName}}):_vm._e(),(!_vm.$whitelabel.showHeaderLogo)?_c('span',{staticClass:\"is-hidden-touch\"},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" \"+_vm._s(_vm.$t('general.find-vacation')))],1):_vm._e()]),_c('div',{staticClass:\"has-text-centered is-hidden-touch\"},[_c('a',{attrs:{\"href\":\"https://greenstorm.eu/\",\"title\":\"zurück zur Hauptseite\"}},[_c('b-icon',{attrs:{\"icon\":\"chevron-left\"}}),_vm._v(\"zurück zur Hauptseite\")],1)])],1):_vm._e(),(!_vm.pendingContent && _vm.home.length == 0)?_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('router-link',{attrs:{\"to\":{name: 'home'}}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" \"),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('general.find-vacation')))])],1)],1):_vm._e(),(!_vm.pendingContent && _vm.home.length > 0)?_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[(!_vm.pendingContent && _vm.home.length > 0)?_c('router-link',{attrs:{\"to\":{name: 'search'}}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" \"),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('general.find-vacation')))])],1):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('router-link',{attrs:{\"to\":{\n name: 'userorders',\n }}},[(!_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user\",\"size\":\"is-small\"}}):_vm._e(),(_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user-cog\",\"size\":\"is-small\"}}):_vm._e(),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Account\")])],1)],1),_c('div',{staticClass:\"navbar-item is-hidden-desktop is-relative nav-item-cart--mobile\"},[_c('a',{on:{\"click\":_vm.handleToggleDrawer}},[_c('b-icon',{attrs:{\"icon\":\"shopping-cart\",\"size\":\"is-small\"}}),_vm._v(\" \"),(_vm.itemCount > 0)?_c('small',{staticClass:\"cart-count has-background-danger has-text-white has-text-weight-bold is-size-7\"},[_vm._v(\" \"+_vm._s(_vm.itemCount)+\" \")]):_vm._e(),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('general.your-cart')))])],1)]),_c('a',{staticClass:\"navbar-burger burger\",class:{'is-active': _vm.showMobileNav},attrs:{\"role\":\"button\",\"aria-label\":\"menu\",\"aria-expanded\":\"false\",\"data-target\":\"mainNavBar\"},on:{\"click\":_vm.toggleMobileNav}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}}),_c('span',{attrs:{\"aria-hidden\":\"true\"}}),_c('span',{attrs:{\"aria-hidden\":\"true\"}})])],1),_c('div',{staticClass:\"navbar-menu\",class:{'is-active': _vm.showMobileNav},attrs:{\"id\":\"mainNavBar\"}},[_c('div',{staticClass:\"navbar-start\"},[(!_vm.pendingContent && _vm.home.length > 0 && !_vm.$whitelabel.isStandalone)?_c('router-link',{staticClass:\"navbar-item is-hidden-touch\",attrs:{\"to\":{name: 'search'}}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" \"+_vm._s(_vm.$t('general.find-vacation'))+\" \")],1):_vm._e(),(!_vm.pendingContent && _vm.home.length > 0 && _vm.$whitelabel.isStandalone)?_c('router-link',{staticClass:\"navbar-item is-hidden-touch\",attrs:{\"to\":{name: 'search'}}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" \"+_vm._s(_vm.$t('general.find-vacation')))],1):_vm._e(),_c('div',{staticClass:\"navbar-item has-dropdown is-hoverable\"},[_c('a',{staticClass:\"navbar-link\",on:{\"click\":function($event){return _vm.toggleSubNavItem('countries')}}},[_vm._v(_vm._s(_vm.$t('general.travel-destinations')))]),_c('div',{staticClass:\"navbar-dropdown\",attrs:{\"data-subnav\":\"countries\"}},[_vm._l((_vm.menu.countries),function(item){return _c('router-link',{key:item.key,staticClass:\"navbar-item\",attrs:{\"to\":{\n name: 'search-by-country',\n params: {\n iso: item.key,\n country: _vm.$t((\"countries.\" + (item.key))),\n },\n }},nativeOn:{\"click\":function($event){return _vm.resetSearch($event)}}},[_c('span',{staticClass:\"is-block\",on:{\"click\":function($event){return _vm.toggleMobileNav()}}},[_vm._v(_vm._s(_vm.$t((\"countries.\" + (item.key)))))])])}),_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":{name: 'hotel-map'}}},[_vm._v(_vm._s(_vm.$t(\"general.map\")))])],2)]),_c('div',{staticClass:\"navbar-item has-dropdown is-hoverable\"},[_c('a',{staticClass:\"navbar-link\",on:{\"click\":function($event){return _vm.toggleSubNavItem('themes')}}},[_vm._v(_vm._s(_vm.$t('general.themes')))]),_c('div',{staticClass:\"navbar-dropdown\",attrs:{\"data-subnav\":\"themes\"}},_vm._l((_vm.menu.themes),function(item){return _c('router-link',{key:item.key,staticClass:\"navbar-item\",attrs:{\"to\":{\n name: 'search-by-theme',\n params: {\n id: item.key,\n name: _vm.$options.filters.removeSpecialChars(item.value),\n },\n }},nativeOn:{\"click\":function($event){return _vm.resetSearch($event)}}},[_c('span',{staticClass:\"is-block\",on:{\"click\":function($event){return _vm.toggleMobileNav()}}},[_vm._v(_vm._s(item.value))])])}),1)]),(_vm.$whitelabel.short.toLowerCase() === 'ooesb' && _vm.hasPromotionDeal)?_c('div',{staticClass:\"navbar-item\"},[_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":{name: 'bargain'}}},[_vm._v(\"Schnäppchen\")])],1):_vm._e(),(_vm.$whitelabel.short.toLowerCase() == 'greenstorm')?_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('a',{attrs:{\"href\":\"https://greenstorm.eu/\",\"title\":\"zurück zur Hauptseite\"}},[_c('b-icon',{attrs:{\"icon\":\"chevron-left\"}}),_vm._v(\"zurück zur Hauptseite\")],1)]):_vm._e()],1),_c('div',{staticClass:\"navbar-end \"},[(_vm.$whitelabel.supportPhone)?_c('div',{staticClass:\"navbar-item has-text-weight-bold\"},[_c('a',{attrs:{\"href\":(\"tel:\" + (_vm.$whitelabel.supportMail))}},[_c('b-icon',{attrs:{\"icon\":\"phone\",\"size\":\"is-small\",\"custom-class\":\"fa-flip-horizontal\"}}),_vm._v(\" \"+_vm._s(_vm.$whitelabel.supportPhone)+\" \")],1)]):_vm._e(),(_vm.$whitelabel.supportMail)?_c('div',{staticClass:\"navbar-item has-text-weight-bold\"},[_c('a',{attrs:{\"href\":(\"mailto:\" + (_vm.$whitelabel.supportMail))}},[_c('b-icon',{attrs:{\"icon\":\"envelope\",\"size\":\"is-small\"}}),_vm._v(\" \"+_vm._s(_vm.$whitelabel.supportMail)+\" \")],1)]):_vm._e(),_c('div',{staticClass:\"navbar-item is-hidden-touch\"},[_c('router-link',{attrs:{\"to\":{\n name: 'userorders',\n }}},[(!_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user\",\"size\":\"is-small\"}}):_vm._e(),(_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user-cog\",\"size\":\"is-small\"}}):_vm._e(),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Account\")])],1)],1),_c('div',{staticClass:\"navbar-item is-relative is-hidden-touch\"},[_c('a',{on:{\"click\":_vm.handleToggleDrawer}},[_c('b-icon',{attrs:{\"icon\":\"shopping-cart\",\"size\":\"is-small\"}}),_vm._v(\" \"),(_vm.itemCount > 0)?_c('small',{staticClass:\"cart-count has-background-danger has-text-white has-text-weight-bold is-size-7\"},[_vm._v(\" \"+_vm._s(_vm.itemCount)+\" \")]):_vm._e(),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('general.your-cart')))])],1)]),(_vm.devMode === 'development' || _vm.$whitelabel.short.toLowerCase() == 'whitelabelapi' || _vm.$whitelabel.locales != undefined)?_c('div',{staticClass:\"navbar-item\"},[_c('b-field',[_c('b-select',_vm._g({model:{value:(_vm.selectedLocale),callback:function ($$v) {_vm.selectedLocale=$$v},expression:\"selectedLocale\"}},_vm.selectedLocale.set),_vm._l((_vm.options),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.text))])}),0)],1)],1):_vm._e()])])])]):_vm._e(),_c('b-modal',{attrs:{\"active\":_vm.isComponentModalActive,\"full-screen\":\"\",\"custom-class\":\"search-modal\"},on:{\"update:active\":function($event){_vm.isComponentModalActive=$event}}},[_c('MainSearch',{on:{\"search-completed\":_vm.closeSearchModal}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns is-vcentered is-mobile search-columns\"},[_c('div',{staticClass:\"column is-three-quarters is-three-fifths-desktop is-half-widescreen\"},[_c('b-field',[_c('b-input',{staticClass:\"is-size-3 is-size-1-desktop has-text-white\",attrs:{\"placeholder\":_vm.$t('search.placeholder'),\"type\":\"search\",\"icon\":\"search\",\"custom-class\":\"is-size-3 is-size-1-desktop search-input\",\"autofocus\":\"\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)}},model:{value:(_vm.searchInput),callback:function ($$v) {_vm.searchInput=$$v},expression:\"searchInput\"}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainSearch.vue?vue&type=template&id=8054161c&\"\nimport script from \"./MainSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./MainSearch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainSearch.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ $t('general.find-vacation') }}\r\n Urlaubsgutscheine - bis zu 70% günstiger\r\n \r\n\r\n \r\n \r\n \r\n {{ $t('general.find-vacation') }}\r\n \r\n\r\n \r\n zurück zur Hauptseite\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ $t('general.find-vacation') }}\r\n \r\n\r\n \r\n 0\">\r\n 0\" :to=\"{name: 'search'}\">\r\n {{ $t('general.find-vacation') }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Account\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n {{ itemCount }}\r\n \r\n {{ $t('general.your-cart') }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n 0 && !$whitelabel.isStandalone\" :to=\"{name: 'search'}\" class=\"navbar-item is-hidden-touch\"> {{ $t('general.find-vacation') }} \r\n\r\n \r\n 0 && $whitelabel.isStandalone\" :to=\"{name: 'search'}\" class=\"navbar-item is-hidden-touch\"> {{ $t('general.find-vacation') }}\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n {{ $t('general.travel-destinations') }}\r\n\r\n \r\n \r\n {{ $t(`countries.${item.key}`) }}\r\n \r\n {{ $t(`general.map`) }}\r\n \r\n \r\n\r\n \r\n {{ $t('general.themes') }}\r\n\r\n \r\n \r\n {{ item.value }}\r\n \r\n \r\n \r\n\r\n \r\n Schnäppchen\r\n \r\n\r\n \r\n zurück zur Hauptseite\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ $whitelabel.supportPhone }}\r\n \r\n \r\n \r\n \r\n \r\n {{ $whitelabel.supportMail }}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Account\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"> {{ itemCount }} \r\n {{ $t('general.your-cart') }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ option.text }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_Navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_Navigation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_Navigation.vue?vue&type=template&id=21d4f8a2&\"\nimport script from \"./_Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./_Navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./_Navigation.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$whitelabel.showHeader)?_c('div',[(_vm.$whitelabel.short.toLowerCase() === 'adac')?_c('nav',{staticClass:\"navbar u-flex-wrap u-w100vw\",class:{'is-fixed-top': _vm.$whitelabel.fixedNavbar},attrs:{\"role\":\"navigation\",\"aria-label\":\"main navigation\"}},[_c('div',{staticClass:\"navbar--firstrow is-hidden-touch\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"navbar-menu\"},[_c('div',{staticClass:\"navbar-start\"},[_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":\"/\"}},[(_vm.$whitelabel.showHeaderLogo)?_c('img',{staticClass:\"navbar-brand__logo\",attrs:{\"importance\":\"high\",\"src\":_vm.$whitelabel.logoHeader,\"alt\":_vm.$whitelabel.storeName},on:{\"click\":_vm.resetSearch}}):_vm._e(),(!_vm.$whitelabel.showHeaderLogo)?_c('span',{on:{\"click\":_vm.resetSearch}},[_vm._v(\"Suche\")]):_vm._e()])],1),_c('div',{staticClass:\"navbar-end\"},[(_vm.$whitelabel.supportPhone)?_c('div',{staticClass:\"navbar-item has-text-weight-bold\"},[_c('a',{attrs:{\"href\":(\"tel:\" + (_vm.$whitelabel.supportMail))}},[_c('b-icon',{attrs:{\"icon\":\"phone\",\"size\":\"is-small\",\"custom-class\":\"fa-flip-horizontal\"}}),_vm._v(\" \"+_vm._s(_vm.$whitelabel.supportPhone))],1)]):_vm._e(),(_vm.$whitelabel.supportMail)?_c('div',{staticClass:\"navbar-item has-text-weight-bold\"},[_c('a',{attrs:{\"href\":(\"mailto:\" + (_vm.$whitelabel.supportMail))}},[_c('b-icon',{attrs:{\"icon\":\"envelope\",\"size\":\"is-small\"}}),_vm._v(\" \"+_vm._s(_vm.$whitelabel.supportMail))],1)]):_vm._e()])])])]),_c('div',{staticClass:\"container navbar--secondrow\"},[_c('div',{staticClass:\"navbar-brand \"},[_c('router-link',{staticClass:\"navbar-item is-hidden-desktop\",attrs:{\"to\":\"/\",\"aria-label\":\"Startseite\"}},[_c('div',{staticClass:\"is-size-7\"},[(_vm.$whitelabel.showHeaderLogo)?_c('img',{staticClass:\"navbar-brand__logo\",attrs:{\"src\":_vm.$whitelabel.logoHeader,\"alt\":_vm.$whitelabel.storeName},on:{\"click\":_vm.resetSearch}}):_vm._e()])]),_c('div',{staticClass:\"navbar-item has-text-weight-semibold is-hidden-touch ml-2\"}),_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('a',{staticClass:\"has-text-black\",on:{\"click\":function($event){_vm.isComponentModalActive = true}}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}})],1)]),_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('router-link',{attrs:{\"to\":{\n name: 'account',\n }}},[(!_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user\",\"size\":\"is-small\"}}):_vm._e(),(_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user-cog\",\"size\":\"is-small\"}}):_vm._e()],1)],1),_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('a',{staticClass:\"has-text-black\",on:{\"click\":_vm.handleToggleDrawer}},[_c('b-icon',{attrs:{\"icon\":\"shopping-cart\",\"size\":\"is-small\"}}),_vm._v(\" \"),(_vm.itemCount > 0)?_c('small',{staticClass:\"cart-count has-background-danger has-text-white has-text-weight-bold is-size-7\"},[_vm._v(\" \"+_vm._s(_vm.itemCount)+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"navbar-item is-hidden-desktop\"},[_c('a',{staticClass:\"navbar-burger burger\",class:{'is-active': _vm.showMobileNav},attrs:{\"role\":\"button\",\"aria-label\":\"menu\",\"aria-expanded\":\"false\",\"data-target\":\"mainNavBar\"},on:{\"click\":_vm.toggleMobileNav}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}}),_c('span',{attrs:{\"aria-hidden\":\"true\"}}),_c('span',{attrs:{\"aria-hidden\":\"true\"}})])])],1),_c('div',{staticClass:\"navbar-menu\",class:{'is-active': _vm.showMobileNav},attrs:{\"id\":\"mainNavBar\"}},[_c('div',{staticClass:\"navbar-end\"},[_c('a',{staticClass:\"navbar-item has-text-black is-hidden-touch\",attrs:{\"aria-label\":\"Startseite\"},on:{\"click\":_vm.resetSearch}},[_c('b-icon',{attrs:{\"icon\":\"home\",\"size\":\"is-small\"}}),_vm._v(\" Startseite \")],1),_c('a',{staticClass:\"navbar-item is-hidden-touch has-text-black\",on:{\"click\":function($event){_vm.isComponentModalActive = true}}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"size\":\"is-small\"}}),_vm._v(\" Urlaub finden \")],1),_c('div',{staticClass:\"navbar-item has-dropdown is-hoverable\"},[_c('a',{staticClass:\"navbar-link\",on:{\"click\":function($event){return _vm.toggleSubNavItem('countries')}}},[_vm._v(_vm._s(_vm.$t('general.travel-destinations')))]),_c('div',{staticClass:\"navbar-dropdown\",attrs:{\"data-subnav\":\"countries\"}},_vm._l((_vm.menu.countries),function(item){return _c('router-link',{key:item.key,staticClass:\"navbar-item\",attrs:{\"to\":{\n name: 'search-by-country',\n params: {\n iso: item.key,\n country: _vm.$options.filters.removeSpecialChars(item.value),\n },\n }}},[_c('span',{staticClass:\"is-block\",on:{\"click\":function($event){return _vm.toggleMobileNav()}}},[_vm._v(_vm._s(item.value))])])}),1)]),_c('div',{staticClass:\"navbar-item has-dropdown is-hoverable\"},[_c('a',{staticClass:\"navbar-link\",on:{\"click\":function($event){return _vm.toggleSubNavItem('themes')}}},[_vm._v(\"Themen\")]),_c('div',{staticClass:\"navbar-dropdown\",attrs:{\"data-subnav\":\"themes\"}},_vm._l((_vm.menu.themes),function(item){return _c('router-link',{key:item.key,staticClass:\"navbar-item\",attrs:{\"to\":{\n name: 'search-by-theme',\n params: {\n id: item.key,\n name: _vm.$options.filters.removeSpecialChars(item.value),\n },\n }}},[_c('span',{staticClass:\"is-block\",on:{\"click\":function($event){return _vm.toggleMobileNav()}}},[_vm._v(_vm._s(item.value))])])}),1)]),_c('div',{staticClass:\"navbar-item is-hidden-touch\"},[_c('router-link',{attrs:{\"to\":{\n name: 'userorders',\n }}},[(!_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user\",\"size\":\"is-small\"}}):_vm._e(),(_vm.hasUser)?_c('b-icon',{attrs:{\"icon\":\"user-cog\",\"size\":\"is-small\"}}):_vm._e()],1)],1),_c('a',{staticClass:\"has-text-black navbar-item is-hidden-touch\",on:{\"click\":_vm.handleToggleDrawer}},[_c('b-icon',{attrs:{\"icon\":\"shopping-cart\",\"size\":\"is-small\"}}),_vm._v(\" \"),(_vm.itemCount > 0)?_c('small',{staticClass:\"cart-count has-background-danger has-text-white has-text-weight-bold is-size-7\"},[_vm._v(\" \"+_vm._s(_vm.itemCount)+\" \")]):_vm._e()],1)])])])]):_vm._e(),_c('b-modal',{attrs:{\"active\":_vm.isComponentModalActive,\"full-screen\":\"\",\"custom-class\":\"search-modal\"},on:{\"update:active\":function($event){_vm.isComponentModalActive=$event}}},[_c('MainSearch',{on:{\"search-completed\":_vm.closeSearchModal}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Suche\r\n \r\n \r\n\r\n \r\n \r\n {{ $whitelabel.supportPhone }}\r\n \r\n \r\n {{ $whitelabel.supportMail }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 0\"> {{ itemCount }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Startseite \r\n\r\n Urlaub finden \r\n\r\n \r\n {{ $t('general.travel-destinations') }}\r\n\r\n \r\n {{ item.value }}\r\n \r\n \r\n\r\n \r\n Themen\r\n\r\n \r\n {{ item.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 0\"> {{ itemCount }} \r\n \r\n \r\n \r\n \r\n \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 mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adac.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adac.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Adac.vue?vue&type=template&id=03c74b78&\"\nimport script from \"./Adac.vue?vue&type=script&lang=js&\"\nexport * from \"./Adac.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Adac.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=761a22ca&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$whitelabel.showHeader)?_c('div',[_c('section',{staticClass:\"hero hero-about__wrapper hero-header has-background-grey-light has-no-background-print\",style:(_vm.cssProps)},[_c('div',{staticClass:\"hero-body has-text-centered\"},[_c('h1',{staticClass:\"title title--hero mb-5 is-size-2\",domProps:{\"innerHTML\":_vm._s(_vm.$whitelabel.heroTitle)}}),_c('h2',{staticClass:\"subtitle is-size-7 has-text-weight-bold\"},[(!_vm.$whitelabel.poweredByText)?_c('span',[_vm._v(\"powered by\")]):_vm._e(),(_vm.$whitelabel.poweredByText)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$whitelabel.poweredByText)}}):_vm._e(),_c('img',{staticClass:\"subtitle-img\",attrs:{\"src\":'https://assets.urlaubsgutschein.kaufen/whitelabel/we-are.travel.svg',\"alt\":\"we-are.travel\",\"fetchpriority\":\"high\",\"width\":\"351\",\"height\":\"70\"}})]),(_vm.$whitelabel.heroInfoText)?_c('p',{staticClass:\"hero-subtext is-hidden-touch\"},[_c('span',{staticClass:\"hero-subtext-content has-background-white\",domProps:{\"innerHTML\":_vm._s(_vm.$whitelabel.heroInfoText)}})]):_vm._e(),_c('HeroBadge')],1)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n powered by\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroInfoStandalone.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroInfoStandalone.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeroInfoStandalone.vue?vue&type=template&id=7652ff66&scoped=true&\"\nimport script from \"./HeroInfoStandalone.vue?vue&type=script&lang=js&\"\nexport * from \"./HeroInfoStandalone.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeroInfoStandalone.vue?vue&type=style&index=0&id=7652ff66&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7652ff66\",\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ $t('consent.policy1') }}\r\n {{ $t('consent.policy2') }}\r\n \r\n \r\n \r\n {{ $t('consent.allow_cookies') }}\r\n {{ $t('consent.just_necessary_cookies') }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \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 mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=71116a8c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered(registration) {\n // eslint-disable-next-line no-undef\n console.log('Service worker has been registered.', RUNNING_VERSION)\n setInterval(() => {\n registration.update();\n }, 1000 * 60 * 60 * 24);\n },\n \n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated(registration) {\n // eslint-disable-next-line no-undef\n console.log('Loading ', RUNNING_VERSION)\n document.dispatchEvent(\n new CustomEvent('swUpdated', { detail: registration })\n );\n },\n offline() {\n console.log('No internet connection found. App is running in offline mode.')\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n }\n })\n}\n","import axios from 'axios';\r\nimport store from '@/store/index'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\nimport {getDomain } from './backend'\r\nimport i18n from '@/i18n'\r\nexport default function setup() {\r\n // before any request\r\n axios.interceptors.request.use(config => {\r\n if (!config._silent && !store.getters.disableSite) {\r\n store.dispatch(\"lockSite\");\r\n }\r\n //only add auth header to backend calls\r\n if(config.url.startsWith(getDomain())){\r\n const token = store.getters.token\r\n if (token != null && token.token) {\r\n let expiryDate = new Date(token.expiry)\r\n if (config.url && !config.url.includes('auth/connect/refresh')) {\r\n expiryDate.setMinutes(expiryDate.getMinutes() - 10)\r\n }\r\n if (expiryDate < new Date()) {\r\n store.dispatch('refreshToken')\r\n }\r\n if (store.getters.token.token) {\r\n config.headers.Authorization = `Bearer ${store.getters.token.token}`\r\n }\r\n \r\n }\r\n if(store.getters.locale){\r\n config.headers[\"x-lang\"] = store.getters.locale\r\n }\r\n }\r\n\r\n return config\r\n })\r\n\r\n\r\n function errorResponseHandler(error) {\r\n // if has response show the error\r\n const originalRequest = error.config;\r\n const isRetry = originalRequest._retry;\r\n if (!originalRequest._retry) {\r\n originalRequest._retry = true;\r\n }\r\n\r\n if (!isRetry && (!error.response || !error.response.status)) {\r\n Toast.open(i18n.t('errors.no-connection'));\r\n if (store.getters.disableSite) {\r\n store.dispatch(\"unlockSite\");\r\n }\r\n }\r\n if (error.response) {\r\n if (error.response.data) {\r\n if (error.response.status == 410\r\n && error.response.data.type == \"https://touristik-vertrieb.at/invalid-order\") {\r\n //needs to reset local storage\r\n store.dispatch(\"clearCart\");\r\n if (error.request && error.request.responseURL.includes('api/order/items')) {\r\n //was add call, retry\r\n return store.dispatch('addProduct', JSON.parse(error.config.data).variantId);\r\n }\r\n }\r\n if (error.response.status == 401 && error.response.data.extensions.errorCode == 101) {\r\n store.dispatch(\"showLogin\");\r\n // eslint-disable-next-line no-unused-vars\r\n return new Promise((resolve,_reject) => {\r\n const unsubscribe = store.subscribe(mutation => {\r\n if (mutation.type == 'ACCESS_TOKEN_UPDATED') {\r\n error.config.headers.Authorization = `Bearer ${mutation.payload.token}`\r\n resolve(axios.request(error.config))\r\n unsubscribe();\r\n \r\n }\r\n })\r\n })\r\n \r\n }\r\n if (error.response.status == 428 && error.response.data.extensions.errorCode == 115) {\r\n store.dispatch(\"clearCart\");\r\n }\r\n }\r\n }\r\n\r\n if (store.getters.disableSite) {\r\n store.dispatch(\"unlockSite\");\r\n }\r\n return Promise.reject({ ...error })\r\n }\r\n\r\n\r\n // after any request\r\n axios.interceptors.response.use(response => {\r\n\r\n if (store.getters.disableSite) {\r\n store.dispatch(\"unlockSite\");\r\n }\r\n return response\r\n },\r\n errorResponseHandler);\r\n}","import Vue from 'vue';\r\nVue.filter('currency', function (value) {\r\n if (!value) return '';\r\n value = value.toString();\r\n switch (value) {\r\n case 'EUR': return '€';\r\n case 'USD': return '$';\r\n default: return value;\r\n }\r\n});","import Vue from 'vue';\r\nimport i18n from '@/i18n'\r\nVue.filter('country', function (value) {\r\n if (!value) return '';\r\n value = value.toString();\r\n return i18n.t('countries.' + value)\r\n})","import Vue from 'vue';\r\nimport store from '@/store/index';\r\nVue.filter('theme', function (value) {\r\n if (!value) return '';\r\n let item = store.getters.menu.themes.find( f=> f.key == value);\r\n if(item) return item.value;\r\n return '';\r\n});","import Vue from 'vue';\r\nimport i18n from '@/i18n'\r\nVue.filter('gender', function (value) {\r\n if (!value) return '';\r\n value = value.toString();\r\n switch (value) {\r\n case '10': return i18n.t('general.male');\r\n case '20': return i18n.t('general.female');\r\n default: return i18n.t('general.female') + \" / \" + i18n.t('general.male');\r\n }\r\n});","import Vue from 'vue'\r\nVue.filter('amount', function(value) {\r\n if (!value) return '0,00'\r\n value = parseFloat(value)\r\n if (isNaN(value)) return '-,--'\r\n // return value\r\n // .toFixed(2)\r\n // .replace('.', ',')\r\n // .replace(/\\d(?=(\\d{3}))/g, '$&.')\r\n // .replace(',00', ',-')\r\n //return value.toFixed(2).replace('.', ',').replace(',00', ',-');\r\n\r\n return new Intl.NumberFormat({\r\n maximumSignificantDigits: 2,\r\n minimalSignificantDigits: 2,\r\n })\r\n .format(value)\r\n .replace(',00', ',-')\r\n})\r\n","import Vue from 'vue';\r\n\r\nVue.filter('capitalize', function (value) {\r\n if (!value) {\r\n return ''\r\n } \r\n \r\n value = value.toString();\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n})","import Vue from 'vue'\r\n\r\nVue.filter('removeSpecialChars', function(value) {\r\n return removeSpecialChars(value)\r\n})\r\n\r\nexport const removeSpecialChars = value => {\r\n if (!value) {\r\n return ''\r\n }\r\n\r\n value = value.toString()\r\n return (\r\n value\r\n //.trimRight()\r\n .toLowerCase()\r\n .replace(/ö+/g, 'oe')\r\n .replace(/ü+/g, 'ue')\r\n .replace(/ä+/g, 'ae')\r\n // .normalize('NFD')\r\n // .replace(/[\\u0300-\\u036f]/g, '') //umlaute ä > a\r\n .replace(/&+/g, 'und') //&\r\n .replace(/ß+/g, 'ss') //&\r\n .replace(/\\s+/g, '-')\r\n .trim()\r\n )\r\n}\r\n","import Vue from 'vue'\r\nimport promotion from '@/common/promotion'\r\n\r\nVue.filter('haspromotion', function(value, name) {\r\n if (!value) return false\r\n return promotion.hasActivePromotion(name, value)\r\n})\r\n\r\nVue.filter('promotiontimer', function(value, name) {\r\n if (!value) return null\r\n\r\n if (promotion.hasActivePromotion(name, value)) {\r\n const cdDate = promotion.getEndDateForPromotion(name, value)\r\n if (cdDate) {\r\n this.dealEndtime = cdDate - new Date()\r\n }\r\n }\r\n return null\r\n})\r\n\r\nVue.filter('hasanypromotion', function(value) {\r\n //exclude offers with insurance an no other promotion\r\n if (\r\n promotion.count(value) == 1 &&\r\n promotion.hasActivePromotion('InsuranceIncluded', value)\r\n ) {\r\n return false\r\n }\r\n\r\n return promotion.hasAnyPromotion(value)\r\n})\r\n\r\n// Vue.filter('hasinsuranceonly', function(value) {\r\n// return (\r\n// promotion.count(value) == 1 &&\r\n// promotion.hasActivePromotion('InsuranceIncluded', value)\r\n// )\r\n// })\r\n","import Vue from 'vue';\nimport i18n from '@/i18n'\nVue.filter('pricePrefixAbbr', function (value) {\n if (!value) {\n return ''\n } \n \n switch(value.toLowerCase()){\n case i18n.t('general.per-person-only'):\n return i18n.t('general.per-person-only-abrev');\n default:\n return value;\n }\n})","import { \n Order_AffiliateSummary as aff\n\n} from \"./backend\"\n\n\nconst affiliateSummary = async (id,key) => {\n let { data } = await aff({\n id: id,\n key: key\n });\n return data;\n}\n\nexport default { affiliateSummary };","import Api from '@/api/affiliate-api'\nimport { createLogger } from '@/common/log'\nconst logger = createLogger(\"AWIN\", \"\", false)\n\nconst timestamp = new Date().getTime()\nconst awinScript = awinId => `https://www.dwin1.com/${awinId}.js?v=${timestamp}`\nlet awinObject = {}\n\nconst loadScript = (url, defer) => {\n return new Promise((resolve, reject) => {\n const head = document.head || document.getElementsByTagName('head')[0]\n const script = document.createElement('script')\n script.async = true\n script.src = url\n script.id = 'awin-js'\n script.charset = 'utf-8'\n if (defer) {\n script.setAttribute('defer', 'defer')\n }\n head.appendChild(script)\n script.onload = resolve\n script.onerror = reject\n })\n}\n\nconst rerunScript = () => {\n awinObject.internal.Tracking.run()\n}\n\nconst sendUsingImgFallback = url => {\n let awinFallbackImg = document.createElement('img')\n awinFallbackImg.id = 'awinFallbackImg'\n awinFallbackImg.border = 0\n awinFallbackImg.height = 0\n awinFallbackImg.width = 0\n awinFallbackImg.style = 'display:none'\n awinFallbackImg.src = url\n awinFallbackImg.onload = () => {\n //remove it after it has been loaded\n setTimeout(() => {\n awinFallbackImg.remove()\n }, 500)\n }\n document.body.appendChild(awinFallbackImg)\n}\n\nconst mapProducts = function getOrderProducts(products) {\n if(!products) {\n return []\n }\n if (products.length > 0 && products[0].price) {\n return products.map(product => {\n return {\n identifier: `${product.id}`,\n amount: `${product.price.total}`,\n currency: `${product.price.currency}`,\n quantity: '1',\n }\n })\n }\n return products.map(product => {\n return {\n identifier: `${product.id}`,\n amount: `${product.unitPrice}`,\n currency: `${product.currency}`,\n quantity: `${product.quantity}`,\n }\n })\n}\n\nconst knownVars = [\n 'pagetype',\n 'products',\n 'language',\n 'transaction',\n 'total_amount',\n 'total_currency',\n 'search_query',\n 'identifier',\n 'category',\n 'description',\n 'amount',\n 'price',\n 'image1',\n 'url',\n]\n\nconst redeclare = vars => {\n for (let known of knownVars) {\n window['awin_' + known] = undefined\n }\n for (let v in vars) {\n window['awin_' + v] = vars[v]\n }\n}\n\nconst awinOperations = (awin, id) => {\n return {\n setConversionTag: async (cartId, token) => {\n // try {\n //according to docu https://wiki.awin.com/index.php/Advertiser_Tracking_Guide/Standard_Implementation\n // see Example #2, conversion after mastertag\n\n const summaryData = await Api.affiliateSummary(cartId, token)\n let parts = 'DEFAULT'\n if (summaryData.usedReduction) {\n parts = 'VOUCHER'\n } else if (summaryData.customer == 0) {\n //customer state 0 = new customer\n parts = 'NEW'\n } else {\n //customer state 1 = returning customer\n parts = 'EXISTING'\n }\n\n awin.Tracking.Sale = {}\n awin.Tracking.Sale.amount = summaryData.total.toFixed(2)\n awin.Tracking.Sale.channel = 'aw'\n awin.Tracking.Sale.orderRef = `${summaryData.id}`\n awin.Tracking.Sale.parts = parts + ':' + summaryData.total.toFixed(2)\n awin.Tracking.Sale.currency = summaryData.currency\n awin.Tracking.Sale.test = '0'\n\n awin.Tracking.run()\n\n sendUsingImgFallback(\n `https://www.awin1.com/sread.img?tt=ns&tv=2&merchant=${id}&amount=${summaryData.total}&ch=aw&parts=${parts}:${summaryData.total}&ref=${summaryData.id}&cr=${summaryData.currency}&testmode=0`,\n )\n // } catch {}\n },\n setConfirmation: (locale, total, cartId, currency, products) => {\n const zxParams = {\n pagetype: 'checkout',\n products: mapProducts(products),\n language: `${locale}`,\n transaction: `${cartId}`,\n total_amount: `${total}`,\n total_currency: `${currency}`,\n }\n redeclare(zxParams)\n rerunScript()\n },\n setCart: (locale, products) => {\n const zxParams = {\n pagetype: 'basket',\n products: mapProducts(products),\n language: `${locale}`,\n }\n redeclare(zxParams)\n rerunScript()\n },\n setHome: locale => {\n const zxParams = {\n pagetype: 'home',\n language: `${locale}`,\n }\n redeclare(zxParams)\n rerunScript()\n },\n setSearch: (products, query, locale) => {\n const zxParams = {\n pagetype: 'search',\n search_query: `${query}`,\n products: mapProducts(products),\n language: `${locale}`,\n }\n redeclare(zxParams)\n rerunScript()\n },\n setOffer: (template, url, locale) => {\n //get variant with lowest price\n let minPriceVariant = template.variants.reduce(function(prev, curr) {\n return prev.price.total < curr.price.total ? prev : curr\n })\n\n const zxParams = {\n pagetype: 'product',\n identifier: `${template.id}`,\n fn: `${template.subtitle}`,\n description: `${template.title}`,\n category: 'Urlaubsgutscheine',\n price: `${minPriceVariant.price.currency} ${minPriceVariant.price.total}`,\n amount: `${minPriceVariant.price.total}`,\n currency: `${minPriceVariant.price.currency}`,\n url: `${url}`,\n image1: `https://assets.urlaubsgutschein.kaufen/${template.image}`,\n language: `${locale}`,\n }\n\n redeclare(zxParams)\n rerunScript()\n //awin.Tracking.run()\n },\n }\n}\n\nexport default function install(Vue, options = {}) {\n logger.debug('installing awin')\n let script = loadScript(awinScript(options.awinId), false)\n script.then(\n () => {\n logger.debug('awin installed')\n const windowObject = AWIN || window.AWIN // eslint-disable-line\n if (windowObject) {\n logger.debug('awin initialized', {id: options.awinId})\n awinObject = {\n ...awinOperations(windowObject, options.awinId),\n }\n awinObject.internal = windowObject\n }\n Vue.prototype.$awin = awinObject\n },\n err => {\n logger.debug('awin NOT installed', err)\n },\n )\n}\n","import Api from '@/api/affiliate-api'\nimport { createLogger } from \"@/common/log\"\n\nconst logger = createLogger(\"adcell\", \"\", false)\nconst adcellScript = () => `https://t.adcell.com/js/trad.js`\nlet adcellObject = {}\n\n\n\nconst loadScript = (url, defer) => {\n return new Promise((resolve, reject) => {\n const head = document.head || document.getElementsByTagName('head')[0]\n const script = document.createElement('script')\n script.async = true\n script.src = url\n script.id = 'adcell-js'\n script.charset = 'utf-8'\n if (defer) {\n script.setAttribute('defer', 'defer')\n }\n head.appendChild(script)\n script.onload = resolve\n script.onerror = reject\n })\n}\n\nconst sendUsingImgFallback = url => {\n let adcellFallbackImg = document.createElement('img')\n adcellFallbackImg.id = 'adcellFallbackImg'\n adcellFallbackImg.border = 0\n adcellFallbackImg.height = 0\n adcellFallbackImg.width = 0\n adcellFallbackImg.style = 'display:none'\n adcellFallbackImg.src = url\n adcellFallbackImg.onload = () => {\n //remove it after it has been loaded\n setTimeout(() => {\n adcellFallbackImg.remove()\n }, 500)\n }\n document.body.appendChild(adcellFallbackImg)\n}\n\nconst adcellOperations = adcell => {\n return {\n setConversionTag: async (cartId, token) => {\n const summaryData = await Api.affiliateSummary(cartId, token)\n\n let adcellConversion = document.createElement('script')\n adcellConversion.id = 'adcellConversionTag'\n adcellConversion.async = true\n adcellConversion.src = `https://t.adcell.com/t/track.js?pid=${adcell.pid}&eventid=${adcell.eventid}&referenz=${summaryData.id}&betrag=${summaryData.total}`\n document.body.appendChild(adcellConversion)\n\n sendUsingImgFallback(\n `https://t.adcell.com/t/track?pid=${adcell.pid}&eventid=${adcell.eventid}&referenz=${summaryData.id}&betrag=${summaryData.total}`,\n )\n },\n rerunScript: () => {\n logger.debug('track adcell')\n adcellObject.internal.Tracking.track()\n logger.debug(adcellObject.internal)\n //Adcell.Tracking.track() // eslint-disable-line\n },\n }\n}\n\nexport default function install(Vue, options = {}) {\n logger.debug('installing adcell')\n let script = loadScript(adcellScript(), false)\n script.then(\n () => {\n logger.debug('adcell installed')\n const windowObject = Adcell || window.Adcell // eslint-disable-line\n\n if (windowObject) {\n logger.debug('adcell initialized', {id: options.adcell})\n adcellObject = {\n ...adcellOperations(options.adcell),\n }\n adcellObject.internal = windowObject\n\n adcellObject.internal.Tracking.track()\n //Adcell.Tracking.track() // eslint-disable-line\n }\n Vue.prototype.$adcell = adcellObject\n },\n err => {\n logger.debug('adcell NOT installed', err)\n },\n )\n}\n","import store from '@/store/index'\nimport router from '@/router'\n\nimport { createLogger } from './log'\n\nexport const EventTypes = Object.freeze({\n STORE: Symbol('STORE'),\n ROUTE: Symbol('ROUTE'),\n MANUAL: Symbol('MANUAL'),\n})\n\nexport const StoreEvents = Object.freeze({\n DEACTIVATE_ANALYTICS: Symbol('DEACTIVATE_ANALYTICS'),\n ACTIVATE_ANALYTICS: Symbol('ACTIVATE_ANALYTICS'),\n PRODUCT_ADDED: Symbol('PRODUCT_ADDED'),\n PRODUCT_REMOVED: Symbol('PRODUCT_REMOVED'),\n PRODUCT_UPDATED: Symbol('PRODUCT_UPDATED'),\n REDUCTION_INFO_UPDATED: Symbol('REDUCTION_INFO_UPDATED'),\n SEARCH_PRODUCTS_UPDATED: Symbol('$_search/PRODUCTS_UPDATED'),\n HOTEL_OFFER_LOADED: Symbol('$_hotel/OFFER_LOADED'),\n CHECKOUT_PAYMENT_STARTED: Symbol('$_checkout/PAYMENT_CHECKOUT_STARTED'),\n CHECKOUT_USER_DATA_UPDATED: Symbol('$_checkout/USER_DATA_UPDATED'),\n CHECKOUT_ORDER_CLOSED: Symbol('$_checkout/ORDER_CLOSED'),\n CHECKOUT_PAYMENT_SESSION_UPDATED: Symbol(\n '$_checkout/PAYMENT_SESSION_UPDATED',\n ),\n})\n\nexport const ManualEvents = Object.freeze({\n CLICKED: Symbol('CLICKED'),\n})\n\nexport const dispatcher = {\n log: undefined,\n subscribers: [],\n storeUnsubscriber: null,\n routeUnsubscriber: null,\n dispatch(event, payload) {\n this.log.print('called dispatch()', {\n event: event,\n payload: payload,\n })\n if (\n this.subscribers[EventTypes.MANUAL][event] &&\n this.subscribers[EventTypes.MANUAL][event].length > 0\n ) {\n for (const sub of this.subscribers[EventTypes.MANUAL][event]) {\n sub.action(payload)\n }\n }\n },\n setup() {\n this.log = createLogger(\"DISPATCHER\", \"📌\", false)\n this.log.print('called setup()')\n this.subscribers[EventTypes.STORE] = []\n for (const st in StoreEvents) {\n this.subscribers[EventTypes.STORE][StoreEvents[st].description] = []\n }\n this.subscribers[EventTypes.ROUTE] = []\n this.subscribers[EventTypes.MANUAL] = []\n this.subscribers[EventTypes.MANUAL][ManualEvents.CLICKED.toString()] = []\n\n this.storeUnsubscriber = store.subscribe((mutation) => {\n if (\n this.subscribers[EventTypes.STORE][mutation.type] &&\n this.subscribers[EventTypes.STORE][mutation.type].length > 0\n ) {\n for (const sub of this.subscribers[EventTypes.STORE][mutation.type]) {\n sub.action(mutation)\n }\n }\n })\n this.routeUnsubscriber = router.afterEach((to, from) => {\n if (\n this.subscribers[EventTypes.ROUTE][to.name] &&\n this.subscribers[EventTypes.ROUTE][to.name].length > 0\n ) {\n for (const sub of this.subscribers[EventTypes.ROUTE][to.name]) {\n sub.action(to, from)\n }\n }\n })\n },\n destroy() {\n this.log.print('called destroy()')\n try {\n if (this.storeUnsubscriber) {\n this.storeUnsubscriber()\n }\n if (this.routeUnsubscriber) {\n this.routeUnsubscriber()\n }\n } catch (err) {\n this.log.print('err destroy()', err)\n }\n },\n _register(subscriber) {\n this.log.print('called _register()', subscriber)\n switch (subscriber.$type) {\n case EventTypes.STORE:\n if (\n typeof subscriber.handle === 'string' ||\n subscriber.handle instanceof String\n ) {\n this.subscribers[subscriber.$type][subscriber.handle].push(subscriber)\n } else {\n this.subscribers[subscriber.$type][\n subscriber.handle.description\n ].push(subscriber)\n }\n\n return true\n case EventTypes.ROUTE:\n case EventTypes.MANUAL:\n if (!this.subscribers[subscriber.$type][subscriber.handle]) {\n this.subscribers[subscriber.$type][subscriber.handle] = []\n }\n this.subscribers[subscriber.$type][subscriber.handle].push(subscriber)\n return true\n }\n return false\n },\n register(subscriber) {\n if (Array.isArray(subscriber)) {\n for (const s of subscriber) {\n this._register(s)\n }\n } else {\n this._register(subscriber)\n }\n },\n}\n\nexport const storeEventLister = (ev, action) => {\n return {\n $type: EventTypes.STORE,\n handle: ev,\n action: action,\n }\n}\n\nexport const routeEventListener = (ev, action) => {\n return {\n $type: EventTypes.ROUTE,\n handle: ev,\n action: action,\n }\n}\n\nexport const manualEventListener = (ev, action) => {\n return {\n $type: EventTypes.MANUAL,\n handle: ev,\n action: action,\n }\n}\n","const getNights = nights => {\r\n if (nights.min === nights.max) {\r\n return `${nights.min} Nächte`\r\n } else {\r\n return `${nights.min}-${nights.max} Nächte`\r\n }\r\n}\r\n\r\nconst getPersons = persons => {\r\n if (persons.min === persons.max) {\r\n return `${persons.min} Personen`\r\n } else {\r\n return `${persons.min} - ${persons.max} Personen`\r\n }\r\n}\r\n\r\n// const getThemes = item => {\r\n// if (item.themes != undefined) {\r\n// return item.themes.map(f => f.name).join(',')\r\n// }\r\n\r\n// return ''\r\n// }\r\n\r\n// const loadMetaDataForOrder = async (id, token) => {\r\n// return await checkoutApi.metaData(id, token)\r\n// }\r\n\r\n// const getThemesString = (id, data) => {\r\n// let item = data.items.find(f => f.id == id)\r\n// if (item) {\r\n// return item.themes.map(f => f.name).join(',')\r\n// }\r\n// return ''\r\n// }\r\n\r\nconst getProductList = (mode, brand, productList) => {\r\n let gtmItems = []\r\n\r\n for (let i = 0; i < productList.length; i++) {\r\n let item = productList[i]\r\n let obj = {}\r\n\r\n if (mode === 'ua') {\r\n obj = {\r\n name: item.display,\r\n id: `wearetravel_${item.id}`,\r\n price: item.price.display,\r\n brand: brand,\r\n category: 'Urlaubsgutscheine',\r\n //category: getThemes(item),\r\n variant: `${getNights(item.nights)}, ${getPersons(item.persons)}`,\r\n list: 'Search Results',\r\n position: i,\r\n }\r\n } else {\r\n obj = {\r\n item_name: item.display,\r\n item_id: `wearetravel_${item.id}`,\r\n item_list_name: 'Search Results',\r\n item_brand: brand,\r\n item_variant: `${getNights(item.nights)}, ${getPersons(item.persons)}`,\r\n //item_category: getThemes(item),\r\n item_category: 'Urlaubsgutscheine',\r\n price: item.price.display,\r\n index: i,\r\n }\r\n }\r\n\r\n gtmItems.push(obj)\r\n }\r\n\r\n return gtmItems\r\n}\r\n\r\nconst getProduct = (mode, brand, product) => {\r\n let item = {}\r\n\r\n if (mode === 'ua') {\r\n item = {\r\n name: product.display,\r\n id: `wearetravel_${product.id}`,\r\n price: product.price.display,\r\n brand: brand,\r\n item_list_name: 'Search Results',\r\n //category: getThemes(product),\r\n category: 'Urlaubsgutscheine',\r\n variant: `${getNights(product.nights)}, ${getPersons(product.persons)}`,\r\n // position: 'Position',\r\n }\r\n } else {\r\n item = {\r\n item_name: product.display,\r\n item_id: `wearetravel_${product.id}`,\r\n item_brand: brand,\r\n item_list_name: 'Search Results',\r\n //item_category: getThemes(item),\r\n item_category: 'Urlaubsgutscheine',\r\n item_variant: `${getNights(product.nights)}, ${getPersons(\r\n product.persons,\r\n )}`,\r\n price: product.price.display,\r\n }\r\n }\r\n\r\n return item\r\n}\r\n\r\n//returns object for hoteldisplay\r\nconst getProductView = (mode, brand, product) => {\r\n let item = {}\r\n\r\n let nights = {\r\n min: product.variants.reduce(\r\n (min, p) => (p.nights < min ? p.nights : min),\r\n product.variants[0].nights,\r\n ),\r\n max: product.variants.reduce(\r\n (max, p) => (p.nights > max ? p.nights : max),\r\n product.variants[0].nights,\r\n ),\r\n }\r\n\r\n let persons = {\r\n min: product.variants.reduce(\r\n (min, p) => (p.persons < min ? p.persons : min),\r\n product.variants[0].persons,\r\n ),\r\n max: product.variants.reduce(\r\n (max, p) => (p.persons > max ? p.persons : max),\r\n product.variants[0].persons,\r\n ),\r\n }\r\n\r\n if (mode === 'ua') {\r\n item = {\r\n name: product.title,\r\n id: `wearetravel_${product.id}`,\r\n brand: brand,\r\n //price: '15.25',\r\n //category: getThemes(product),\r\n category: 'Urlaubsgutscheine',\r\n variant: `${getNights(nights)}, ${getPersons(persons)}`,\r\n }\r\n } else {\r\n item = {\r\n item_name: product.title,\r\n item_brand: brand,\r\n item_id: `wearetravel_${product.id}`,\r\n //item_category: getThemes(product),\r\n item_category: 'Urlaubsgutscheine',\r\n item_variant: `${getNights(nights)}, ${getPersons(persons)}`,\r\n item_list_name: 'Search Results',\r\n }\r\n }\r\n\r\n return item\r\n}\r\n\r\nconst getCartList = (mode, brand, cartList) => {\r\n let gtmItems = []\r\n let productList = [...cartList]\r\n\r\n if (mode === 'ua') {\r\n for (let i = 0; i < productList.length; i++) {\r\n let item = productList[i]\r\n let obj = {\r\n name: item.title,\r\n id: `wearetravel_${item.id}`,\r\n price: item.unitPrice,\r\n brand: brand,\r\n //category: getThemes(item),\r\n category: 'Urlaubsgutscheine',\r\n variant: `${item.parameter.nights} Nächte, ${item.parameter.persons} Personen`,\r\n quantity: item.quantity,\r\n }\r\n gtmItems.push(obj)\r\n }\r\n } else {\r\n for (let i = 0; i < productList.length; i++) {\r\n let item = productList[i]\r\n let obj = {\r\n item_description: item.title,\r\n item_id: `wearetravel_${item.id}`,\r\n item_variant: `${item.parameter.nights} Nächte, ${item.parameter.persons} Personen`,\r\n item_brand: brand,\r\n //item_category: getThemes(item),\r\n item_category: 'Urlaubsgutscheine',\r\n price: item.unitPrice,\r\n index: i,\r\n quantity: item.quantity,\r\n }\r\n gtmItems.push(obj)\r\n }\r\n }\r\n\r\n return gtmItems\r\n}\r\n\r\nexport const getPurchasedList = (mode, brand, purchasedList) => {\r\n let gtmItems = []\r\n //let metaData = await loadMetaDataForOrder(id, token)\r\n if (mode === 'ua') {\r\n for (let i = 0; i < purchasedList.length; i++) {\r\n let item = purchasedList[i]\r\n //let themes = getThemesString(item.variantId, metaData)\r\n let obj = {\r\n name: item.title,\r\n id: `wearetravel_${item.id}`,\r\n brand: brand,\r\n price: item.unitPrice,\r\n //category: themes,\r\n category: 'Urlaubsgutscheine',\r\n variant: `${item.parameter.nights} Nächte, ${item.parameter.persons} Personen`,\r\n quantity: item.quantity,\r\n //coupon: '',\r\n }\r\n gtmItems.push(obj)\r\n }\r\n } else {\r\n for (let i = 0; i < purchasedList.length; i++) {\r\n let item = purchasedList[i]\r\n let obj = {\r\n item_name: item.title,\r\n item_id: `wearetravel_${item.id}`,\r\n item_brand: brand,\r\n item_price: item.unitPrice,\r\n item_quantity: item.quantity,\r\n item_variant: `${item.parameter.nights} Nächte, ${item.parameter.persons} Personen`,\r\n }\r\n gtmItems.push(obj)\r\n }\r\n }\r\n\r\n return gtmItems\r\n}\r\n\r\nexport default {\r\n getProductList,\r\n getProduct,\r\n getProductView,\r\n getCartList,\r\n getPurchasedList,\r\n}\r\n","import GtmHelper from './google-tag-manager'\nimport i18n from '@/i18n'\n\nimport { createLogger } from './log'\n\nimport {\n StoreEvents,\n storeEventLister,\n routeEventListener,\n manualEventListener,\n} from './event-dispatcher'\n\nconst logger = createLogger(\"GTM-Subscriber\", \"📊\", false)\n\nexport const createGTMListeners = (config, gtm) => {\n let subscribers = []\n if (config) {\n //track home page\n subscribers.push(\n routeEventListener('home', t => {\n logger.print('visited home', t)\n if (config.mode === 'ua') {\n gtm.trackEvent({\n pageCategory: 'homepage',\n visitorType: 'high-value',\n })\n } else {\n gtm.trackEvent({\n pageCategory: 'homepage',\n visitorType: 'high-value',\n })\n }\n }),\n )\n\n //track product impression\n subscribers.push(\n storeEventLister(StoreEvents.SEARCH_PRODUCTS_UPDATED, m => {\n const products = m.payload\n\n logger.print('SEARCH_PRODUCTS_UPDATED', products)\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_product_impressions',\n visitorType: 'low-value',\n ecommerce: {\n currencyCode: 'EUR', // Local currency is optional.\n impressions: GtmHelper.getProductList(\n config.mode,\n config.brand,\n products,\n ),\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_product_impressions',\n visitorType: 'low-value',\n category: 'ProductView',\n action: 'load',\n label: 'ProductView',\n ecommerce: {\n items: GtmHelper.getProductList(\n config.mode,\n config.brand,\n products,\n ),\n },\n })\n }\n } catch (err) {\n logger.error('Failed SEARCH_PRODUCTS_UPDATED', err)\n }\n }),\n )\n\n //track offerclick\n subscribers.push(\n manualEventListener('offer_clicked', payload => {\n logger.print('clicked offerelement', payload)\n const product = payload.product\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_productClick',\n ecommerce: {\n click: {\n actionField: {list: 'Search Results'}, // Optional list property.\n products: [\n GtmHelper.getProduct(config.mode, config.brand, product),\n ],\n },\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_select_item',\n category: 'ProductSelect',\n action: 'click',\n label: 'ProductSelect',\n ecommerce: {\n items: [\n GtmHelper.getProduct(config.mode, config.brand, product),\n ],\n },\n })\n }\n } catch (err) {\n logger.error('Failed HOTEL_OFFER_LOADED', err)\n }\n }),\n )\n\n //track item view\n subscribers.push(\n storeEventLister(StoreEvents.HOTEL_OFFER_LOADED, m => {\n const offer = m.payload\n logger.print('HOTEL_OFFER_LOADED', offer, offer.variants)\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_view_item',\n visitorType: 'mid-value',\n ecommerce: {\n detail: {\n products: [\n GtmHelper.getProductView(config.mode, config.brand, offer),\n ],\n },\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_view_item',\n visitorType: 'mid-value',\n category: 'ProductDetail',\n action: 'load',\n label: 'ProductDetail',\n ecommerce: {\n items: [\n GtmHelper.getProductView(config.mode, config.brand, offer),\n ],\n },\n })\n }\n } catch (err) {\n logger.error('Failed HOTEL_OFFER_LOADED', err)\n }\n }),\n )\n\n //track add to cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_ADDED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_ADDED', cartItem)\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_addToCart',\n ecommerce: {\n currencyCode: 'EUR',\n add: {\n products: [\n {\n name: cartItem.title,\n id: `wearetravel_${cartItem.variantId}`,\n price: cartItem.unitPrice,\n brand: config.brand,\n //category: getThemes(product),\n category: 'Urlaubsgutscheine',\n variant: `${cartItem.parameter.nights} ${i18n.t(\n 'general.nights',\n )}, ${cartItem.parameter.persons} ${i18n.t(\n 'general.persons',\n )}`,\n quantity: cartItem.quantity,\n },\n ],\n },\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_add_to_cart', // Event type [default = 'interaction'] (Optional)\n category: 'Cart',\n action: 'click',\n label: 'Add to cart',\n ecommerce: {\n items: [\n {\n item_name: cartItem.title, // Name or ID is required.\n item_id: `wearetravel_${cartItem.variantId}`,\n //item_category: getThemes(product),\n item_category: 'Urlaubsgutscheine',\n price: cartItem.unitPrice,\n quantity: cartItem.quantity,\n },\n ],\n },\n })\n }\n } catch (err) {\n logger.error('Failed PRODUCT_ADDED', err)\n }\n }),\n )\n\n //track remove from cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_REMOVED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_REMOVED', cartItem)\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_removeFromCart',\n ecommerce: {\n remove: {\n products: [\n {\n // removing a product to a shopping cart.\n name: cartItem.title,\n id: `wearetravel_${cartItem.variantId}`,\n price: cartItem.unitPrice,\n brand: config.brand,\n //category: getThemes(product),\n category: 'Urlaubsgutscheine',\n variant: `${cartItem.parameter.nights} ${i18n.t(\n 'general.nights',\n )}, ${cartItem.parameter.persons} ${i18n.t(\n 'general.persons',\n )}`,\n quantity: cartItem.quantity,\n },\n ],\n },\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_remove_from_cart',\n category: 'Cart',\n action: 'click',\n label: 'Remove from cart',\n ecommerce: {\n items: [\n {\n item_name: cartItem.title, // Name or ID is required.\n item_id: `wearetravel_${cartItem.variantId}`,\n price: cartItem.unitPrice,\n item_variant: `${cartItem.parameter.nights} ${i18n.t(\n 'general.nights',\n )}, ${cartItem.parameter.persons} ${i18n.t(\n 'general.persons',\n )}`,\n //item_category: getThemes(product),\n item_category: 'Urlaubsgutscheine',\n item_brand: config.brand,\n quantity: cartItem.quantity,\n },\n ],\n },\n })\n }\n } catch (err) {\n logger.error('Failed PRODUCT_REMOVED', err)\n }\n }),\n )\n\n //track start checkout\n subscribers.push(\n manualEventListener('checkout_clicked', m => {\n const cartItems = m\n\n logger.print('CHECKOUT_PAYMENT_STARTED', cartItems)\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_checkout',\n visitorType: 'high-value',\n ecommerce: {\n checkout: {\n //actionField: {step: 1, option: 'Visa'},\n products: GtmHelper.getCartList(\n config.mode,\n config.brand,\n cartItems,\n ),\n },\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_begin_checkout',\n visitorType: 'high-value',\n category: 'Checkout',\n action: 'click',\n label: 'Checkout',\n ecommerce: {\n items: GtmHelper.getCartList(\n config.mode,\n config.brand,\n cartItems,\n ),\n },\n })\n }\n } catch (err) {\n logger.error('Failed CHECKOUT_PAYMENT_STARTED', err)\n }\n }),\n )\n\n //track purchase\n subscribers.push(\n storeEventLister(StoreEvents.CHECKOUT_ORDER_CLOSED, m => {\n const order = m.payload\n\n logger.print('CHECKOUT_ORDER_CLOSED', order)\n\n try {\n if (config.mode === 'ua') {\n gtm.trackEvent({\n event: 'eec_purchase',\n ecommerce: {\n purchase: {\n actionField: {\n id: `wearetravel_${order.id}`, // Transaction ID. Required for purchases and refunds.\n revenue: order.orderItems.reduce(\n (a, c) => a + c.total,\n 0.0,\n ), // Total transaction value (incl. tax and shipping)\n },\n products: GtmHelper.getPurchasedList(\n config.mode,\n config.brand,\n order.orderItems,\n ),\n },\n },\n })\n } else {\n gtm.trackEvent({\n event: 'eec_purchase',\n category: 'Purchase',\n action: 'click',\n label: 'Purchase',\n ecommerce: {\n purchase: {\n transaction_id: `wearetravel_${order.id}`,\n value: order.orderItems.reduce((a, c) => a + c.total, 0.0),\n currency: order.currency,\n items: GtmHelper.getPurchasedList(\n config.mode,\n config.brand,\n order.orderItems,\n ),\n },\n },\n })\n }\n } catch (err) {\n logger.error('Failed ORDER_CLOSED', err)\n }\n }),\n )\n }\n return subscribers\n}\n","// import i18n from '@/i18n'\nimport {createLogger} from './log'\n\nimport {\n StoreEvents,\n storeEventLister,\n manualEventListener,\n} from './event-dispatcher'\n\nconst logger = createLogger('GTAG-Subscriber', '📊', false)\n\nexport const createGTAGListeners = (analyticstype, gtag) => {\n console.log(analyticstype, gtag)\n\n let subscribers = []\n if (analyticstype == 'gtag' || analyticstype == 'both') {\n //track product impression\n subscribers.push(\n storeEventLister(StoreEvents.SEARCH_PRODUCTS_UPDATED, m => {\n const products = m.payload.results\n\n logger.print('SEARCH_PRODUCTS_UPDATED', products)\n\n try {\n let searchItems = []\n products.forEach((element, index) => {\n searchItems.push({\n id: element.id,\n name: `${element.contact.name} - ${element.display}`,\n category: 'Urlaubsgutschein',\n brand: element.vendor.name,\n list_name: 'Suche',\n list_position: index + 1,\n quantity: 1,\n price: element.price.display,\n })\n }),\n gtag.event('view_item_list', {\n event_category: 'ecommerce',\n event_label: 'Search',\n items: searchItems,\n })\n } catch (err) {\n logger.error('Failed SEARCH_PRODUCTS_UPDATED', err)\n }\n }),\n )\n\n //track offerclick\n subscribers.push(\n manualEventListener('offer_clicked', payload => {\n logger.print('clicked offerelement', payload)\n const product = payload.product\n\n try {\n gtag.event('select_content', {\n content_type: 'product',\n event_category: 'ecommerce',\n event_label: 'ProductClick',\n items: [\n {\n id: product.id,\n name: product.display,\n category: 'Urlaubsgutschein',\n price: product.price.display,\n },\n ],\n })\n } catch (err) {\n logger.error('Failed HOTEL_OFFER_LOADED', err)\n }\n }),\n )\n\n //track item view\n subscribers.push(\n storeEventLister(StoreEvents.HOTEL_OFFER_LOADED, m => {\n const offer = m.payload\n logger.print('HOTEL_OFFER_LOADED', offer, offer.variants)\n\n try {\n gtag.event('view_item', {\n items: [\n {\n id: offer.id,\n name: offer.title,\n category: 'Urlaubsgutschein',\n },\n ],\n })\n } catch (err) {\n logger.error('Failed HOTEL_OFFER_LOADED', err)\n }\n }),\n )\n\n //track add to cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_ADDED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_ADDED', cartItem)\n\n try {\n gtag.event('add_to_cart', {\n event_category: 'ecommerce',\n event_label: 'AddToCart',\n items: [\n {\n id: cartItem.id,\n name: `${cartItem.subtitle} - ${cartItem.title}`,\n category: 'Urlaubsgutschein',\n //brand: 'foo',\n list_name: 'Sucheresultat',\n list_position: 1,\n quantity: cartItem.quantity,\n variant: cartItem.variantId,\n price: cartItem.unitPrice,\n },\n ],\n })\n } catch (err) {\n logger.error('Failed PRODUCT_ADDED', err)\n }\n }),\n )\n\n //track remove from cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_REMOVED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_REMOVED', cartItem)\n\n try {\n gtag.event('remove_from_cart', {\n event_category: 'ecommerce',\n event_label: 'RemoveFromCart',\n items: [\n {\n id: cartItem.id,\n name: `${cartItem.subtitle} - ${cartItem.title}`,\n category: 'Urlaubsgutschein',\n //brand: 'foo',\n list_name: 'Sucheresultat',\n list_position: 1,\n quantity: cartItem.quantity,\n variant: cartItem.variantId,\n price: cartItem.unitPrice,\n },\n ],\n })\n } catch (err) {\n logger.error('Failed PRODUCT_REMOVED', err)\n }\n }),\n )\n\n //track start checkout\n subscribers.push(\n manualEventListener('checkout_clicked', m => {\n const cartItems = m\n\n logger.print('CHECKOUT_PAYMENT_STARTED', cartItems)\n\n try {\n let cart = []\n\n cartItems.forEach((element, index) => {\n cart.push({\n id: element.id,\n name: `${element.title} - ${element.description}`,\n category: 'Urlaubsgutschein',\n list_name: 'Cart',\n list_position: index + 1,\n quantity: element.quantity,\n price: element.unitPrice,\n })\n })\n\n gtag.event('begin_checkout', {\n items: cart,\n })\n } catch (err) {\n logger.error('Failed CHECKOUT_PAYMENT_STARTED', err)\n }\n }),\n )\n\n //track purchase\n subscribers.push(\n storeEventLister(StoreEvents.CHECKOUT_ORDER_CLOSED, m => {\n const order = m.payload\n\n logger.print('CHECKOUT_ORDER_CLOSED', order)\n\n try {\n let purchasedItems = []\n\n order.orderItems.forEach(element => {\n purchasedItems.push({\n id: order.id,\n name: element.title,\n //brand. '',\n //category: '',\n price: element.unitPrice,\n quantity: element.quantity,\n variant: element.variantId,\n list_position: 1,\n //list_name: 'Search Results',\n })\n })\n\n gtag.purchase({\n transaction_id: order.id,\n //affiliation: 'Google online store',\n value: order.orderItems.reduce((a, c) => a + c.total, 0.0),\n currency: 'EUR',\n items: purchasedItems,\n })\n } catch (err) {\n logger.error('Failed ORDER_CLOSED', err)\n }\n }),\n )\n }\n return subscribers\n}\n","// import i18n from '@/i18n'\nimport {createLogger} from './log'\n\nimport {\n StoreEvents,\n storeEventLister,\n manualEventListener,\n} from './event-dispatcher'\n\nconst logger = createLogger('GA-Subscriber', '📊', false)\n\nexport const createGAListeners = (analyticstype, ga) => {\n console.log(analyticstype, ga)\n\n let subscribers = []\n if (analyticstype == 'ua' || analyticstype == 'both') {\n //track product impression\n subscribers.push(\n storeEventLister(StoreEvents.SEARCH_PRODUCTS_UPDATED, m => {\n const products = m.payload.results\n\n logger.print('SEARCH_PRODUCTS_UPDATED', products)\n\n console.log(ga.ecommerce)\n\n try {\n products.forEach((element, index) => {\n ga.ecommerce.addImpression({\n id: element.id,\n name: `${element.contact.name} - ${element.display}`,\n category: 'Urlaubsgutschein',\n brand: element.vendor.name,\n list: 'Suche',\n position: index + 1,\n })\n })\n } catch (err) {\n logger.error('Failed SEARCH_PRODUCTS_UPDATED', err)\n }\n }),\n )\n\n //track offerclick\n subscribers.push(\n manualEventListener('offer_clicked', payload => {\n const product = payload.product\n logger.print('clicked offerelement', payload, product)\n\n try {\n ga.ecommerce.addProduct({\n id: product.id,\n name: product.display,\n price: product.price,\n quantity: 1,\n // variant: cartItem.variantId,\n })\n ga.ecommerce.setAction('click', {list: 'Search Results'})\n ga.ecommerce.send('event', 'UX', 'click', 'Results')\n } catch (err) {\n logger.error('Failed HOTEL_OFFER_LOADED', err)\n }\n }),\n )\n\n //track item view\n subscribers.push(\n storeEventLister(StoreEvents.HOTEL_OFFER_LOADED, m => {\n const offer = m.payload\n logger.print('HOTEL_OFFER_LOADED', offer, offer.variants)\n\n try {\n // ga.event('view_item', {\n // items: [\n // {\n // id: offer.id,\n // name: offer.title,\n // category: 'Urlaubsgutschein',\n // },\n // ],\n // })\n\n ga.ecommerce.addProduct({\n id: offer.id,\n name: `${offer.subtitle} - ${offer.title}`,\n price: offer.unitPrice,\n quantity: offer.quantity,\n variant: offer.variantId,\n })\n ga.ecommerce.setAction('detail')\n } catch (err) {\n logger.error('Failed HOTEL_OFFER_LOADED', err)\n }\n }),\n )\n\n //track add to cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_ADDED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_ADDED', cartItem)\n\n try {\n ga.ecommerce.addProduct({\n id: cartItem.id,\n name: `${cartItem.subtitle} - ${cartItem.title}`,\n price: cartItem.unitPrice,\n quantity: cartItem.quantity,\n variant: cartItem.variantId,\n })\n ga.ecommerce.setAction('add')\n ga.ecommerce.send('event', 'UX', 'click', 'add to cart')\n } catch (err) {\n logger.error('Failed PRODUCT_ADDED', err)\n }\n }),\n )\n\n //track remove from cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_REMOVED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_REMOVED', cartItem)\n\n try {\n ga.ecommerce.addProduct({\n id: cartItem.id,\n name: `${cartItem.subtitle} - ${cartItem.title}`,\n price: cartItem.unitPrice,\n quantity: cartItem.quantity,\n variant: cartItem.variantId,\n })\n ga.ecommerce.setAction('remove')\n ga.ecommerce.send('event', 'UX', 'click', 'remove from cart')\n } catch (err) {\n logger.error('Failed PRODUCT_REMOVED', err)\n }\n }),\n )\n\n //track start checkout\n subscribers.push(\n manualEventListener('checkout_clicked', m => {\n const cartItems = m\n\n logger.print('CHECKOUT_PAYMENT_STARTED', cartItems)\n\n try {\n cartItems.forEach(cartItem => {\n ga.ecommerce.addProduct({\n id: cartItem.id,\n name: `${cartItem.subtitle} - ${cartItem.title}`,\n price: cartItem.unitPrice,\n quantity: cartItem.quantity,\n variant: cartItem.variantId,\n })\n })\n\n ga.ecommerce.setAction('remove')\n ga.ecommerce.send('event', 'UX', 'click', 'remove from cart')\n } catch (err) {\n logger.error('Failed CHECKOUT_PAYMENT_STARTED', err)\n }\n }),\n )\n\n //track purchase\n subscribers.push(\n storeEventLister(StoreEvents.CHECKOUT_ORDER_CLOSED, m => {\n const order = m.payload\n\n logger.print('CHECKOUT_ORDER_CLOSED', order)\n\n try {\n order.orderItems.forEach(element => {\n ga.ecommerce.addProduct({\n id: order.id,\n name: element.title,\n price: element.unitPrice,\n quantity: element.quantity,\n variant: element.variantId,\n })\n })\n ga.ecommerce.setAction('purchase', {\n id: order.id,\n })\n ga.ecommerce.send('event', 'pageview')\n } catch (err) {\n logger.error('Failed ORDER_CLOSED', err)\n }\n }),\n )\n }\n return subscribers\n}\n","// import i18n from '@/i18n'\nimport {createLogger} from './log'\n\nimport {StoreEvents, storeEventLister} from './event-dispatcher'\n\nconst logger = createLogger('FbPixel-Subscriber', '📊', false)\n\nexport const createFBPListeners = (fbPixelEnabled, fbp) => {\n console.log(fbPixelEnabled, fbp)\n\n let subscribers = []\n if (fbPixelEnabled) {\n //track add to cart\n subscribers.push(\n storeEventLister(StoreEvents.PRODUCT_ADDED, m => {\n const cartItem = m.payload\n\n logger.print('PRODUCT_ADDED', cartItem)\n\n try {\n fbp.event('AddToCart')\n } catch (err) {\n logger.error('Failed PRODUCT_ADDED', err)\n }\n }),\n )\n\n //track purchase\n subscribers.push(\n storeEventLister(StoreEvents.CHECKOUT_ORDER_CLOSED, m => {\n const order = m.payload\n\n logger.print('CHECKOUT_ORDER_CLOSED', order)\n\n try {\n fbp.event('Purchase', {\n value: order.orderItems.reduce((a, c) => a + c.total, 0.0),\n currency: order.currency,\n })\n } catch (err) {\n logger.error('Failed ORDER_CLOSED', err)\n }\n }),\n )\n }\n return subscribers\n}\n","// import 'core-js/stable' //needed for ie11 support (payload: 373KB!!!)llScript\r\n// import 'regenerator-runtime/runtime'\r\nimport 'intersection-observer'\r\nimport Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport Buefy from 'buefy'\r\n// import VueAnime from 'vue-animejs'\r\nimport VueAnalytics from 'vue-analytics'\r\nimport VueGtag from 'vue-gtag'\r\n//import Drawer from './components/Drawer.vue'\r\n//import Vue2Crumbs from 'vue-2-crumbs'\r\nimport VueScrollTo from 'vue-scrollto'\r\n// import VueCountdown from '@chenfengyuan/vue-countdown'\r\nimport './registerServiceWorker'\r\nimport interceptors from './api/interceptors'\r\nimport {setDomain} from './api/backend'\r\nimport {setShopCurrency} from './api/checkout-api'\r\nimport {ValidationProvider, ValidationObserver, extend} from 'vee-validate'\r\nimport {\r\n required,\r\n email,\r\n numeric,\r\n oneOf,\r\n min,\r\n confirmed,\r\n} from 'vee-validate/dist/rules'\r\nimport './filters/currency-filter'\r\nimport './filters/iso-country-filter'\r\nimport './filters/theme-filter'\r\nimport './filters/gender-filter'\r\nimport './filters/amount-filter'\r\nimport './filters/capitalize-filter'\r\nimport './filters/remove-special-chars'\r\nimport './filters/promotion-filter'\r\nimport './filters/price-prefix-abbrevation'\r\nimport * as VueGoogleMaps from 'vue2-google-maps'\r\nimport VueContentPlaceholders from 'vue-content-placeholders'\r\nimport VueMeta from 'vue-meta'\r\nimport VueFacebookPixel from 'vue-analytics-facebook-pixel'\r\n\r\nimport VueFilterDateFormat from 'vue-filter-date-format'\r\nimport vueDebounce from 'vue-debounce'\r\nimport VueObserveVisibility from 'vue-observe-visibility'\r\nimport VueLazyload from 'vue-lazyload'\r\nimport VueGtm from 'vue-gtm'\r\nimport i18n from './i18n'\r\n\r\nimport * as Sentry from '@sentry/vue'\r\nimport {Integrations} from '@sentry/tracing'\r\n\r\nimport Awin from '@/common/awin-plugin/'\r\nimport Adcell from '@/common/adcell-plugin/'\r\n\r\nimport {dispatcher} from '@/common/event-dispatcher'\r\nimport {createGTMListeners} from '@/common/gtm-subscriber'\r\nimport {createGTAGListeners} from '@/common/gtag-subscriber'\r\nimport {createGAListeners} from '@/common/ga-subscriber'\r\nimport {createFBPListeners} from '@/common/fbpixel-subscriber'\r\n\r\nimport {createLogger} from '@/common/log'\r\n\r\nconst logger = createLogger('main.js', '', false)\r\n\r\nif (process.env.VUE_APP_SENTRY_ENABLE) {\r\n Sentry.init({\r\n Vue,\r\n dsn: process.env.VUE_APP_SENTRY_DSN,\r\n integrations: [new Integrations.BrowserTracing()],\r\n tracesSampleRate: process.env.VUE_APP_SENTRY_SAMPLERATE,\r\n environment: `${process.env.NODE_ENV}-${process.env.VUE_APP_THEME}`,\r\n logErrors: process.env.VUE_APP_SENTRY_LOG_VUE_ERR ? true : false, //if true will trigger vue errors as well (for dev)\r\n tracingOptions: {\r\n trackComponents: true,\r\n },\r\n })\r\n}\r\n\r\nsetDomain(process.env.VUE_APP_API)\r\nsetShopCurrency(process.env.VUE_APP_CURRENCY)\r\ninterceptors()\r\n\r\n//settings available in all components\r\n\r\nconst config = require(process.env.CONFIG_LOCATION)\r\nVue.prototype.$whitelabel = config.whitelabelConfig\r\nif (\r\n process.env.VUE_APP_ALLOW_GIFT_CARD &&\r\n process.env.VUE_APP_ALLOW_GIFT_CARD == 'true'\r\n) {\r\n Vue.prototype.$whitelabel.giftCardSupport = true\r\n}\r\nVue.config.productionTip = false\r\n\r\nif (!Vue.prototype.$whitelabel.hasCookieConsent) {\r\n localStorage.acceptAllCookies = true\r\n}\r\n\r\nVue.use(Buefy, {\r\n defaultIconPack: 'fa',\r\n defaultTooltipAnimated: true,\r\n defaultDayNames: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\r\n defaultMonthNames: [\r\n 'Jan',\r\n 'Feb',\r\n 'Mär',\r\n 'Apr',\r\n 'Mai',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Okt',\r\n 'Nov',\r\n 'Dez',\r\n ],\r\n defaultFirstDayOfWeek: 1,\r\n})\r\n\r\n// Vue.use(VueAnime)\r\nVue.use(VueGoogleMaps, {\r\n load: {\r\n key: process.env.VUE_APP_MAPS_KEY,\r\n },\r\n})\r\nVue.use(VueContentPlaceholders)\r\n\r\nlet analyticstype = Vue.prototype.$whitelabel.analyticsType\r\n\r\nif (analyticstype == 'gtag' || analyticstype == 'both') {\r\n Vue.use(\r\n VueGtag,\r\n {\r\n config: {\r\n id: Vue.prototype.$whitelabel.analyticsId,\r\n params: {\r\n anonymize_ip: true,\r\n },\r\n },\r\n // enabled: () => {\r\n // if (localStorage.acceptAllCookies === 'true') {\r\n // return true\r\n // }\r\n // return false\r\n // },\r\n //enabled: false,\r\n bootstrap: false,\r\n },\r\n router,\r\n )\r\n\r\n // if (process.env.NODE_ENV === 'development') {\r\n // Vue.$gtag.enabled = false\r\n // }\r\n if (localStorage.acceptAllCookies === 'true') {\r\n Vue.$gtag.optIn() // https://github.com/MatteoGabriele/vue-gtag/issues/199\r\n }\r\n}\r\n\r\nif (analyticstype == 'ua' || analyticstype == 'both') {\r\n Vue.use(VueAnalytics, {\r\n id: Vue.prototype.$whitelabel.analyticsId_ua,\r\n ecommerce: {\r\n enabled: true,\r\n enhanced: true,\r\n },\r\n disabled: () => {\r\n if (localStorage.acceptAllCookies === 'true') {\r\n return false\r\n }\r\n return true\r\n },\r\n //disabled: true,\r\n router,\r\n beforeFirstHit() {\r\n //see https://github.com/MatteoGabriele/vue-analytics/issues/64\r\n Vue.$ga.set('anonymizeIp', true)\r\n },\r\n debug: {\r\n //enabled: process.env.NODE_ENV === 'development',\r\n enabled: false,\r\n trace: false,\r\n sendHitTask: process.env.NODE_ENV === 'production',\r\n },\r\n })\r\n\r\n // if (process.env.NODE_ENV === 'development') {\r\n // Vue.$ga.disabled = true\r\n // }\r\n\r\n if (localStorage.acceptAllCookies === 'true') {\r\n logger.debug('ua analytics enabled')\r\n Vue.$ga.enable()\r\n }\r\n}\r\n\r\nif (Vue.prototype.$whitelabel.tagManager) {\r\n Vue.use(VueGtm, {\r\n id: Vue.prototype.$whitelabel.tagManager.id, // Your GTM single container ID or array of container ids ['GTM-xxxxxxx', 'GTM-yyyyyyy']\r\n defer: true, // defaults to false. Script can be set to `defer` to increase page-load-time at the cost of less accurate results (in case visitor leaves before script is loaded, which is unlikely but possible)\r\n enabled: false, // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)\r\n debug: process.env.NODE_ENV === 'development', // Whether or not display console logs debugs (optional)\r\n })\r\n\r\n if (localStorage.acceptAllCookies === 'true') {\r\n Vue.gtm.enable(true)\r\n }\r\n}\r\n\r\nVue.use(VueMeta, {\r\n refreshOnceOnNavigation: true,\r\n})\r\n\r\nif (Vue.prototype.$whitelabel.fbPixelEnabled) {\r\n !(function(f, b, e, v, n, t, s) {\r\n if (f.fbq) return\r\n n = f.fbq = function() {\r\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)\r\n }\r\n if (!f._fbq) f._fbq = n\r\n n.push = n\r\n n.loaded = !0\r\n n.version = '2.0'\r\n n.queue = []\r\n t = b.createElement(e)\r\n t.async = !0\r\n t.src = v\r\n s = b.getElementsByTagName(e)[0]\r\n s.parentNode.insertBefore(t, s)\r\n })(\r\n window,\r\n document,\r\n 'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js',\r\n )\r\n\r\n Vue.use(VueFacebookPixel)\r\n if (localStorage.acceptAllCookies === 'true') {\r\n Vue.analytics.fbq.init(Vue.prototype.$whitelabel.fbPixelId)\r\n Vue.analytics.fbq.event('PageView')\r\n }\r\n}\r\n\r\nVue.use(VueFilterDateFormat)\r\nextend('required', {\r\n ...required,\r\n message: (_, values) => i18n.t('validation.required', values),\r\n})\r\nextend('email', {\r\n ...email,\r\n message: (_, values) => i18n.t('validation.email', values),\r\n})\r\nextend('numeric', {\r\n ...numeric,\r\n message: (_, values) => i18n.t('validation.numeric', values),\r\n})\r\nextend('oneOf', {\r\n ...oneOf,\r\n message: (_, values) => i18n.t('validation.oneOf', values),\r\n})\r\n\r\nextend('min', {\r\n ...min,\r\n message: (_, values) => i18n.t('validation.min', values),\r\n})\r\n\r\nextend('confirmed', {\r\n ...confirmed,\r\n message: (_, values) => i18n.t('validation.confirmed', values),\r\n})\r\n\r\nextend('date', {\r\n validate: value =>\r\n value.match(/^(0?[1-9]|[12][0-9]|3[01]).(0?[1-9]|1[012]).\\d{4}$/), // the validation function\r\n message: (_, values) => i18n.t('validation.european_date', values),\r\n})\r\n\r\nVue.use(VueScrollTo, {\r\n container: 'body',\r\n duration: 500,\r\n easing: 'ease',\r\n offset: 0,\r\n force: true,\r\n cancelable: true,\r\n onStart: false,\r\n onDone: false,\r\n onCancel: false,\r\n x: false,\r\n y: true,\r\n})\r\n\r\nVue.use(vueDebounce)\r\nVue.use(VueObserveVisibility)\r\nVue.use(VueLazyload)\r\n\r\nVue.component('ValidationProvider', ValidationProvider)\r\nVue.component('ValidationObserver', ValidationObserver)\r\n// Vue.component(VueCountdown.name, VueCountdown)\r\n\r\n//detect ie11 and add class to body tag to target via css\r\nif (\r\n '-ms-scroll-limit' in document.documentElement.style &&\r\n '-ms-ime-align' in document.documentElement.style\r\n) {\r\n document.querySelector('body').classList.add('isIE11')\r\n}\r\n\r\nVue.prototype.$promotions = {\r\n anyActiveFor(t) {\r\n const res = store.getters.promotions.filter(f => f.type == t)\r\n return res.length > 0\r\n },\r\n getMinStartFor(t) {\r\n const res = store.getters.promotions.find(f => f.type == t)\r\n if (res) {\r\n return res.from\r\n }\r\n return null\r\n },\r\n getMaxEndFor(t) {\r\n const res = store.getters.promotions.find(f => f.type == t)\r\n if (res) {\r\n return res.to\r\n }\r\n return null\r\n },\r\n getOfferCountFor(t) {\r\n const res = store.getters.promotions.find(f => f.type == t)\r\n if (res) {\r\n return res.count\r\n }\r\n return 0\r\n },\r\n}\r\n\r\nif (Vue.prototype.$whitelabel.awinId) {\r\n Vue.use(Awin, {awinId: Vue.prototype.$whitelabel.awinId})\r\n}\r\n\r\nif (Vue.prototype.$whitelabel.adcell) {\r\n Vue.use(Adcell, {adcell: Vue.prototype.$whitelabel.adcell})\r\n}\r\n\r\nVue.prototype.$whitelabel.styleOverride().then(() => {\r\n new Vue({\r\n router,\r\n store,\r\n i18n,\r\n render: h => h(App),\r\n destroyed() {\r\n dispatcher.destroy()\r\n },\r\n created() {\r\n try {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n if (urlParams.has('r')) {\r\n const ref = urlParams.get('r')\r\n const path = () => {\r\n let e = location,\r\n t = document.querySelector('link[rel=\"canonical\"][href]')\r\n if (t) {\r\n let a = document.createElement('a')\r\n ;(a.href = t.href),\r\n a.hostname.replace(/^www\\./, '') ===\r\n location.hostname.replace(/^www\\./, '') && (e = a)\r\n }\r\n return e.pathname + e.search || '/'\r\n }\r\n var obj = {\r\n code: ref,\r\n path: path(),\r\n referer: document.referer,\r\n created: new Date(),\r\n }\r\n if (urlParams.has('rx')) {\r\n obj.add = urlParams.get('rx')\r\n }\r\n store.dispatch('setReferalToken', obj)\r\n }\r\n } catch {\r\n logger.error('no initial url parameters fetched')\r\n }\r\n try {\r\n dispatcher.setup()\r\n const gtmSubscribers = createGTMListeners(\r\n Vue.prototype.$whitelabel.tagManager,\r\n Vue.gtm,\r\n )\r\n const gtagSubscribers = createGTAGListeners(\r\n Vue.prototype.$whitelabel.analyticsType,\r\n Vue.$gtag,\r\n )\r\n const gaSubscribers = createGAListeners(\r\n Vue.prototype.$whitelabel.analyticsType,\r\n Vue.$ga,\r\n )\r\n\r\n dispatcher.register(gtmSubscribers)\r\n dispatcher.register(gtagSubscribers)\r\n dispatcher.register(gaSubscribers)\r\n\r\n if (Vue.prototype.$whitelabel.fbPixelEnabled) {\r\n const fbpSubscribers = createFBPListeners(\r\n Vue.prototype.$whitelabel.fbPixelEnabled,\r\n Vue.analytics.fbq,\r\n )\r\n\r\n dispatcher.register(fbpSubscribers)\r\n }\r\n\r\n Vue.prototype.$eventDispatcher = dispatcher\r\n } catch (err) {\r\n logger.error('unable to start gtm subscriber', err)\r\n }\r\n },\r\n }).$mount('#app')\r\n\r\n store.dispatch('loadAccesToken')\r\n store.dispatch('storeInit', {\r\n site: Vue.prototype.$whitelabel.short.toLowerCase(),\r\n locale: process.env.VUE_APP_I18N_LOCALE,\r\n })\r\n})\r\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import { \r\n Order_Create as oc, \r\n Order_AddArticle as oac,\r\n Order_RemoveArticle as oar,\r\n Order_Retrive as or,\r\n Order_ChangeArticle as oca,\r\n Order_UpdateCustomer as uc,\r\n Order_SetOrderToWireTransfer as pd,\r\n Order_PayPalTransactionComplete as pp, Order_CloseOrder as close,\r\n Order_Reduction as reductionInfo,\r\n Order_AddReduction as reduction,\r\n Order_PrepareForCheckout as prepare,\r\n Order_RemoveReduction as remReduction,\r\n Order_OptinOptions as optinOptions,\r\n Order_OrderNotifications as notifications,\r\n Order_ClaimOrder as claim,\r\n Order_AmazonPayCreateCheckoutSession as amaCheckout,\r\n Order_AmazonPayProcessCheckoutSession as amaAuth,\r\n Order_AmazonPayCreateRedirect as amaRedirect,\r\n Order_AmazonPayCompletePayment as amaComplete,\r\n Order_MetaData,\r\n Order_AddGiftCard as addGiftCard,\r\n Order_RemoveGiftCard as removeGiftCard,\r\n Order_SelectedPayment as retriveSelectedPayment\r\n\r\n} from \"./backend\"\r\n\r\nlet defaultCurrency = 'EUR';\r\n\r\nexport const setShopCurrency = (currency) => {\r\n defaultCurrency = currency;\r\n}\r\n\r\nconst createOrder = async () => {\r\n let { data } = await oc({\r\n cmd: {\r\n currency: defaultCurrency\r\n }\r\n });\r\n if(data){\r\n localStorage.setItem('CURRENT_ID',data.id);\r\n localStorage.setItem('TOKEN', data.token);\r\n }\r\n return data;\r\n}\r\n\r\n\r\nconst updateCurrentOrder = (id, token) => {\r\n localStorage.setItem('CURRENT_ID', id);\r\n localStorage.setItem('TOKEN', token);\r\n}\r\n\r\nconst resetOrderStorage = () => {\r\n localStorage.removeItem('CURRENT_ID');\r\n localStorage.removeItem('TOKEN');\r\n}\r\n\r\nconst closeOrder = async () => {\r\n let { data } = await close({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n }});\r\n return data;\r\n}\r\n\r\nconst createOrderIfNeeded = async () => {\r\n if(!localStorage.getItem('CURRENT_ID') || !localStorage.getItem('TOKEN')){\r\n return await createOrder();\r\n }else{\r\n return await checkOpenOrder();\r\n }\r\n}\r\n\r\n\r\nconst checkOpenOrder = async () => {\r\n if(localStorage.getItem('CURRENT_ID') && localStorage.getItem('TOKEN')){\r\n let { data } = await or({\r\n id: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n });\r\n return data;\r\n }else{\r\n return {};\r\n }\r\n}\r\n\r\nconst get = async (id,key) => {\r\n let { data } = await or({\r\n id: id,\r\n key: key\r\n });\r\n return data;\r\n}\r\n\r\nconst metaData = async (id,key) => {\r\n let { data } = await Order_MetaData({\r\n id: id,\r\n key: key\r\n });\r\n return data;\r\n \r\n}\r\n\r\nconst addItem = async (variantId) => {\r\n\r\n let r = {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n variantId: variantId,\r\n quantity: 1,\r\n }\r\n const stored = localStorage.getItem('referal')\r\n if (stored) {\r\n const ref = JSON.parse(stored)\r\n r.ref = ref.code;\r\n r.referer = ref.referer;\r\n r.refPath = ref.path;\r\n r.refPayload = ref.add;\r\n r.refUsed = ref.created\r\n }\r\n let { data } = await oac({ cmd: r });\r\n return data;\r\n}\r\n\r\nconst removeItem = async (item) => {\r\n if(localStorage.getItem('CURRENT_ID') && localStorage.getItem('TOKEN')){\r\n let { data } = await oar({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n itemId: item.id\r\n }});\r\n return data;\r\n }\r\n}\r\n\r\nconst changeQuantity = async (itemId, quantity) => {\r\n let { data } = await oca({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n itemId: itemId,\r\n quantity: quantity\r\n }});\r\n return data;\r\n}\r\n\r\nconst updateUserData = async (userData) => {\r\n let tmp = userData;\r\n tmp.orderId = localStorage.getItem('CURRENT_ID');\r\n tmp.key = localStorage.getItem('TOKEN');\r\n let { data } = await uc({ cmd: tmp });\r\n return data;\r\n}\r\n\r\nconst addGiftCardToOrder = async (tan) => {\r\n let { data } = await addGiftCard({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n tan: tan\r\n }});\r\n return data;\r\n}\r\n\r\nconst removeGiftCardFromOrder = async (tan) => {\r\n let { data } = await removeGiftCard({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n tan: tan,\r\n }});\r\n return data;\r\n}\r\n\r\n\r\nconst setWireTransfer = async () => { \r\n let { data } = await pd({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n }});\r\n return data;\r\n}\r\n\r\nconst refreshPaymentType = async () => { \r\n let { data } = await retriveSelectedPayment( {\r\n id: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n });\r\n return data;\r\n}\r\n\r\nconst completePayPalTransaction = async (paypalOrderId) => {\r\n let { data } = await pp({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n payPalOrderId: paypalOrderId\r\n }});\r\n return data;\r\n}\r\n\r\nconst applyReduction = async (code) => {\r\n let { data } = await reduction({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n code: code\r\n }});\r\n return data;\r\n}\r\n\r\nconst removeReduction = async () => {\r\n let { data } = await remReduction({ cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n }});\r\n return data;\r\n}\r\n\r\n\r\nconst getReductionInfo = async (id) => {\r\n let { data } = await reductionInfo({id: id});\r\n return data;\r\n}\r\n\r\nconst prepareForCheckout = async() => {\r\n let { data } = await prepare({\r\n id: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n });\r\n return data;\r\n}\r\n\r\nconst createAmazonCheckoutSession = async () => {\r\n let { data } = await amaCheckout({\r\n cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n }\r\n });\r\n return data;\r\n}\r\n\r\nconst authorizeAmazonCheckoutSession = async (session) => {\r\n let { data } = await amaAuth({\r\n cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n amazonCheckoutSessionId: session\r\n }\r\n });\r\n return data;\r\n}\r\n\r\nconst createAmazonPayRedirect = async (session) => {\r\n\r\n let { data } = await amaRedirect({\r\n cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n amazonCheckoutSessionId: session\r\n }\r\n });\r\n return data;\r\n}\r\n\r\nconst completeAmazonPayPayment = async (session) => {\r\n\r\n let { data } = await amaComplete({\r\n cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n amazonCheckoutSessionId: session\r\n }\r\n });\r\n return data;\r\n \r\n}\r\n\r\nconst setOptinOptions = async (email, phone, newsletter) => {\r\n let { data } = await optinOptions({\r\n cmd: {\r\n orderId: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN'),\r\n optinEmail: email,\r\n optinPhone: phone,\r\n optinNewsletter: newsletter\r\n }\r\n });\r\n return data;\r\n}\r\n\r\nconst getOrderNotifications = async() => {\r\n try {\r\n let { data } = await notifications({\r\n id: localStorage.getItem('CURRENT_ID'),\r\n key: localStorage.getItem('TOKEN')\r\n });\r\n return data;\r\n }catch{\r\n return [];\r\n }\r\n}\r\n\r\nconst claimOrder = async (id, token) => {\r\n let { data } = await claim({\r\n req: {\r\n orderId: id,\r\n token: token\r\n }\r\n });\r\n return data;\r\n}\r\n\r\n\r\n\r\nexport default {\r\n checkOpenOrder,\r\n addItem,\r\n removeItem,\r\n createOrderIfNeeded,\r\n changeQuantity,\r\n updateUserData,\r\n setWireTransfer,\r\n completePayPalTransaction,\r\n get,\r\n closeOrder,\r\n applyReduction,\r\n getReductionInfo,\r\n removeReduction,\r\n prepareForCheckout,\r\n setOptinOptions,\r\n getOrderNotifications,\r\n updateCurrentOrder,\r\n claimOrder,\r\n createAmazonCheckoutSession,\r\n authorizeAmazonCheckoutSession,\r\n createAmazonPayRedirect,\r\n completeAmazonPayPayment,\r\n resetOrderStorage,\r\n metaData,\r\n addGiftCardToOrder,\r\n removeGiftCardFromOrder,\r\n refreshPaymentType\r\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adac.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adac.vue?vue&type=style&index=0&lang=scss&\"","import { Offer_Offer as os, \r\n Offer_OfferData as offerData,\r\n Offer_GetAvailableThemes as themes,\r\n Offer_GetAvailableCountries as countries,\r\n Offer_OfferBySlug as offerBySlug,\r\n Offer_TravelDeals as deals,\r\n Offer_Promotion as prom,\r\n Offer_OfferByVariantId as obyv,\r\n Offer_OfferByContactSlug as contact } from \"./backend\"\r\n\r\nconst getOffer = async (id) => {\r\n let { data } = await os({\r\n id: id\r\n });\r\n return data;\r\n}\r\n\r\nconst getOfferByVariantId = async (variantId) => {\r\n let { data } = await obyv({\r\n id: variantId\r\n });\r\n return data;\r\n}\r\n\r\nconst getOfferForContact = async (slug, page, pageSize) => {\r\n let { data } = await contact({\r\n slug: slug,\r\n page: page,\r\n pageSize: pageSize\r\n });\r\n return data;\r\n}\r\n\r\nconst getOfferBySlug = async (slug) => {\r\n let { data } = await offerBySlug({\r\n slug: slug\r\n });\r\n return data;\r\n}\r\n\r\nconst getOffersWithDealPromotion = async () => {\r\n let { data } = await deals();\r\n return data;\r\n}\r\n\r\nconst getOffersWithCustomPromotion = async (promotion) => {\r\n let { data } = await prom({name: promotion});\r\n return data;\r\n}\r\n\r\nconst getOfferData = async (id) => {\r\n let { data } = await offerData({\r\n id: id,\r\n $config: {\r\n _silent: true\r\n }\r\n });\r\n if(data && data.texts && data.texts.length > 0 ){\r\n data.texts = data.texts.sort((a,b) => {\r\n if(a.position && b.position){\r\n if (a.position < b.position) return -1\r\n if (a.position > b.position) return 1\r\n }\r\n return 0\r\n });\r\n }\r\n return data;\r\n}\r\n\r\nconst getThemesForMenu = async () => {\r\n let res = await themes();\r\n return res.data;\r\n}\r\n\r\n\r\nconst getCountriesForMenu = async () => {\r\n let { data } = await countries();\r\n return data;\r\n}\r\n\r\nconst getMenu = async() => {\r\n return {\r\n countries: await getCountriesForMenu(),\r\n themes: await getThemesForMenu()\r\n }\r\n}\r\n\r\nexport default {\r\n getOffer,\r\n getMenu,\r\n getOfferData,\r\n getOfferBySlug,\r\n getOffersWithDealPromotion,\r\n getOfferByVariantId,\r\n getOfferForContact,\r\n getOffersWithCustomPromotion\r\n}","export const whitelabelConfig = {\r\n short: 'Urlaubsguru',\r\n assetUrl: '/whitelabel/urlaubsguru/',\r\n storeName: 'Urlaubsguru Online Store',\r\n company: 'we-are.travel GmbH',\r\n analyticsId_ua: 'UA-156259931-4', //old ua\r\n analyticsId: 'G-8YQYSTNPLP', //ga4\r\n analyticsType: 'gtag', //should be 'gtag', 'ua' or 'both'\r\n tagManager: {\r\n id: 'GTM-MH2R56M',\r\n mode: 'ua', //ua || default (default = ecommerce app+web; ua = enhanced ecommerce ua)\r\n brand: 'we-are.travel Urlaubsgutscheine',\r\n },\r\n logoHeader:\r\n 'https://assets.urlaubsgutschein.kaufen/whitelabel/urlaubsguru/urlaubsguru-logo.svg',\r\n logoFooter:\r\n 'https://assets.urlaubsgutschein.kaufen/whitelabel/urlaubsguru/urlaubsguru-logo-white.svg',\r\n // logoHeader: () => require('@/assets/urlaubsguru-logo.svg'),\r\n // logoFooter: () => require('@/assets/urlaubsguru-logo-white.svg'),\r\n isStandalone: false,\r\n showHeader: false,\r\n showHeaderLogo: false,\r\n showFooterLogo: false,\r\n fixedNavbar: false,\r\n heroTitle: 'Urlaubsgutscheine',\r\n hasHeroSubtitle: true,\r\n heroSubtitle: 'clever & günstig mit Urlaubsgutschein',\r\n supportMail: 'urlaubsguru@we-are.travel',\r\n //supportPhone: '+43 732 60 05 36',\r\n hasHeroAddition: false,\r\n showPromoNotification: false,\r\n showReduction: true,\r\n hasCookieConsent: false,\r\n hasNewsletterOptin: false,\r\n heroHomeOnly: true,\r\n heroImageResolution: {\r\n xl: {width: 1920, height: 800, crop: 'smart'},\r\n l: {width: 1200, height: 600, crop: 'smart'},\r\n m: {width: 1024, height: 500, crop: 'smart'},\r\n s: {width: 960, height: 300, crop: 'east'},\r\n xs: {width: 700, height: 200, crop: 'east'},\r\n },\r\n hasOfferCta: false,\r\n hide5sup: true,\r\n iconUrl: '/img/icons/urlaubsguru/',\r\n heroInfoText: 'Sparen Sie bis zu 70% für Ihren Kurzurlaub.',\r\n hasBackToOverviewBtn: true,\r\n campaignsEnabled: true,\r\n homepage: {\r\n advantages: false,\r\n },\r\n dealName: 'Top Angebot',\r\n dealCountdownTitle: 'Angebot endet in',\r\n dealButton: 'Zum Angebot',\r\n firstNameBasis: true,\r\n styleOverride: () =>\r\n import(\r\n /* webpackPrefetch: true */\r\n\r\n /* webpackPreload: true */ '@/styles/styles-urlaubsguru.scss'\r\n ),\r\n}\r\n","import {\n Order_ClosedOrdersForUser as orderForUser,\n Account_GetUserData as get,\n Account_UpdateUserData as update,\n Account_ChangePassword as changePw,\n Account_PasswordForgotten as reset,\n Account_PasswordForgotten2 as forgotten\n} from './backend'\n\n\nconst getOrderForUser = async (page) => {\n let { data } = await orderForUser({\n page: page\n });\n return data;\n}\n\nconst updateUser = async(userdata) => {\n let {data} = await update({\n userData: userdata\n });\n return data;\n}\n\nconst getUser = async() => {\n let {data} = await get();\n return data;\n}\n\nconst changeUserPassword = async (oldpwd,newpwd) => {\n let {data} = await changePw({\n req: {\n oldPassword: oldpwd,\n newPassword: newpwd\n }\n });\n return data;\n}\n\nconst resetPassword = async (email, token, pwd) => {\n let {data} = await reset({\n cmd: {\n email: email,\n token: token,\n newPassword: pwd\n }\n })\n return data;\n}\n\nconst passwordForgotten = async (email) => {\n let {data} = await forgotten({\n cmd: {\n email: email \n }\n })\n return data;\n}\n\nexport default {\n getOrderForUser,\n updateUser,\n getUser,\n changeUserPassword,\n resetPassword,\n passwordForgotten\n}","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\n\nVue.use(VueI18n)\n\nfunction loadLocaleMessages () {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.json$/i)\n const messages = {}\n locales.keys().forEach(key => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key)\n }\n })\n return messages\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || 'de',\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'de',\n messages: loadLocaleMessages()\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (this.$whitelabel.heroBadge)?_c('div',{staticClass:\"hero-badge\",class:{'hero-badge--standalone': !this.$whitelabel.isStandalone}},[(this.$whitelabel.heroBadge.extUrl)?_c('a',{staticClass:\"hero-badge-link\",attrs:{\"href\":(\"\" + (this.$whitelabel.heroBadge.extUrl)),\"rel\":\"noopener noreferrer\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"hero-badge-img\",attrs:{\"src\":(\"https://assets.urlaubsgutschein.kaufen\" + (this.$whitelabel.assetUrl) + \"/\" + (this.$whitelabel.heroBadge.file)),\"alt\":\"\"}})]):_vm._e(),(!this.$whitelabel.heroBadge.extUrl)?_c('img',{staticClass:\"hero-badge-img\",attrs:{\"src\":(\"https://assets.urlaubsgutschein.kaufen\" + (this.$whitelabel.assetUrl) + \"/\" + (this.$whitelabel.heroBadge.file)),\"alt\":\"\"}}):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBadge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBadge.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeroBadge.vue?vue&type=template&id=12767b9f&\"\nimport script from \"./HeroBadge.vue?vue&type=script&lang=js&\"\nexport * from \"./HeroBadge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeroBadge.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import {\n Auth_Login as logIn,\n Auth_Refresh as refreshToken,\n Account_Register as register\n } from './backend'\n \n //with credentials is ONLY needed\n //when calling login or refresh\n //as refresh tokens are HTTP ONLY cookies\n //to protect the refresh tokens against XSS attacks\n \n const login = async (usr, pwd) => {\n let {data} = await logIn({\n cmd: {\n userName: usr,\n password: pwd,\n orderId: localStorage.getItem('CURRENT_ID'),\n token: localStorage.getItem('TOKEN')\n },\n $config: {\n withCredentials: true,\n },\n })\n return data\n }\n \n const refresh = async token => {\n let {data} = await refreshToken({\n cmd: {\n accessToken: token,\n },\n $config: {\n withCredentials: true,\n },\n })\n return data\n }\n \n \n const registerCustomerUser = async (req) => {\n let {data} = await register({\n req: req\n })\n return data;\n }\n\n const parseJwt = token => {\n let base64Url = token.split('.')[1]\n let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/')\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\n })\n .join(''),\n )\n \n return JSON.parse(jsonPayload)\n }\n \n export default {\n login,\n refresh,\n parseJwt,\n registerCustomerUser\n }\n ","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport Store from './store/index'\nVue.use(Vuex)\n\nexport default Store;\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBadge.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroBadge.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_Navigation.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_Navigation.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroInfoStandalone.vue?vue&type=style&index=0&id=7652ff66&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeroInfoStandalone.vue?vue&type=style&index=0&id=7652ff66&scoped=true&lang=scss&\"","/* eslint-disable */\r\nimport axios from 'axios'\r\nimport qs from 'qs'\r\nlet domain = ''\r\nexport const getDomain = () => {\r\n return domain\r\n}\r\nexport const setDomain = $domain => {\r\n domain = $domain\r\n}\r\nexport const request = (method, url, body, queryParameters, form, config) => {\r\n method = method.toLowerCase()\r\n let keys = Object.keys(queryParameters)\r\n let queryUrl = url\r\n if (keys.length > 0) {\r\n queryUrl = url + '?' + qs.stringify(queryParameters)\r\n }\r\n // let queryUrl = url+(keys.length > 0 ? '?' + (keys.map(key => key + '=' + encodeURIComponent(queryParameters[key])).join('&')) : '')\r\n if (body) {\r\n if (method === 'delete') {\r\n return axios[method](\r\n queryUrl,\r\n {\r\n data: body,\r\n },\r\n config,\r\n )\r\n }\r\n return axios[method](queryUrl, body, config)\r\n } else if (method === 'get') {\r\n return axios[method](\r\n queryUrl,\r\n {\r\n params: form,\r\n },\r\n config,\r\n )\r\n } else {\r\n return axios[method](queryUrl, qs.stringify(form), config)\r\n }\r\n}\r\n/*==========================================================\r\n * \r\n ==========================================================*/\r\n/**\r\n *\r\n * request: Account_Register\r\n * url: Account_RegisterURL\r\n * method: Account_Register_TYPE\r\n * raw_url: Account_Register_RAW_URL\r\n * @param req -\r\n */\r\nexport const Account_Register = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/account/register'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['req'] !== undefined) {\r\n body = parameters['req']\r\n }\r\n if (parameters['req'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: req'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Account_Register_RAW_URL = function() {\r\n return '/api/account/register'\r\n}\r\nexport const Account_Register_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Account_RegisterURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/account/register'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Account_PasswordForgotten\r\n * url: Account_PasswordForgottenURL\r\n * method: Account_PasswordForgotten_TYPE\r\n * raw_url: Account_PasswordForgotten_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Account_PasswordForgotten = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/account/reset-password'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Account_PasswordForgotten_RAW_URL = function() {\r\n return '/api/account/reset-password'\r\n}\r\nexport const Account_PasswordForgotten_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Account_PasswordForgottenURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/account/reset-password'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Account_PasswordForgotten2\r\n * url: Account_PasswordForgotten2URL\r\n * method: Account_PasswordForgotten2_TYPE\r\n * raw_url: Account_PasswordForgotten2_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Account_PasswordForgotten2 = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/account/password-forgotten'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Account_PasswordForgotten2_RAW_URL = function() {\r\n return '/api/account/password-forgotten'\r\n}\r\nexport const Account_PasswordForgotten2_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Account_PasswordForgotten2URL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/account/password-forgotten'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Account_ChangePassword\r\n * url: Account_ChangePasswordURL\r\n * method: Account_ChangePassword_TYPE\r\n * raw_url: Account_ChangePassword_RAW_URL\r\n * @param req -\r\n */\r\nexport const Account_ChangePassword = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/account/change-password'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['req'] !== undefined) {\r\n body = parameters['req']\r\n }\r\n if (parameters['req'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: req'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Account_ChangePassword_RAW_URL = function() {\r\n return '/api/account/change-password'\r\n}\r\nexport const Account_ChangePassword_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Account_ChangePasswordURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/account/change-password'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Account_GetUserData\r\n * url: Account_GetUserDataURL\r\n * method: Account_GetUserData_TYPE\r\n * raw_url: Account_GetUserData_RAW_URL\r\n */\r\nexport const Account_GetUserData = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/account/me'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Account_GetUserData_RAW_URL = function() {\r\n return '/api/account/me'\r\n}\r\nexport const Account_GetUserData_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Account_GetUserDataURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/account/me'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Account_UpdateUserData\r\n * url: Account_UpdateUserDataURL\r\n * method: Account_UpdateUserData_TYPE\r\n * raw_url: Account_UpdateUserData_RAW_URL\r\n * @param userData -\r\n */\r\nexport const Account_UpdateUserData = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/account/me'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['userData'] !== undefined) {\r\n body = parameters['userData']\r\n }\r\n if (parameters['userData'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: userData'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Account_UpdateUserData_RAW_URL = function() {\r\n return '/api/account/me'\r\n}\r\nexport const Account_UpdateUserData_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Account_UpdateUserDataURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/account/me'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Auth_Login\r\n * url: Auth_LoginURL\r\n * method: Auth_Login_TYPE\r\n * raw_url: Auth_Login_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Auth_Login = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/auth/login'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Auth_Login_RAW_URL = function() {\r\n return '/api/auth/login'\r\n}\r\nexport const Auth_Login_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Auth_LoginURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/auth/login'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Auth_Refresh\r\n * url: Auth_RefreshURL\r\n * method: Auth_Refresh_TYPE\r\n * raw_url: Auth_Refresh_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Auth_Refresh = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/auth/connect/refresh'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Auth_Refresh_RAW_URL = function() {\r\n return '/api/auth/connect/refresh'\r\n}\r\nexport const Auth_Refresh_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Auth_RefreshURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/auth/connect/refresh'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Debug_SendTestEmail\r\n * url: Debug_SendTestEmailURL\r\n * method: Debug_SendTestEmail_TYPE\r\n * raw_url: Debug_SendTestEmail_RAW_URL\r\n * @param pathToTemplate -\r\n * @param toEmail -\r\n * @param isWire -\r\n * @param isPaid -\r\n */\r\nexport const Debug_SendTestEmail = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/debug'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['pathToTemplate'] !== undefined) {\r\n queryParameters['pathToTemplate'] = parameters['pathToTemplate']\r\n }\r\n if (parameters['toEmail'] !== undefined) {\r\n queryParameters['toEmail'] = parameters['toEmail']\r\n }\r\n if (parameters['isWire'] !== undefined) {\r\n queryParameters['isWire'] = parameters['isWire']\r\n }\r\n if (parameters['isPaid'] !== undefined) {\r\n queryParameters['isPaid'] = parameters['isPaid']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Debug_SendTestEmail_RAW_URL = function() {\r\n return '/api/debug'\r\n}\r\nexport const Debug_SendTestEmail_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Debug_SendTestEmailURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/debug'\r\n if (parameters['pathToTemplate'] !== undefined) {\r\n queryParameters['pathToTemplate'] = parameters['pathToTemplate']\r\n }\r\n if (parameters['toEmail'] !== undefined) {\r\n queryParameters['toEmail'] = parameters['toEmail']\r\n }\r\n if (parameters['isWire'] !== undefined) {\r\n queryParameters['isWire'] = parameters['isWire']\r\n }\r\n if (parameters['isPaid'] !== undefined) {\r\n queryParameters['isPaid'] = parameters['isPaid']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Guard_VerifyAlphaNumericGuard\r\n * url: Guard_VerifyAlphaNumericGuardURL\r\n * method: Guard_VerifyAlphaNumericGuard_TYPE\r\n * raw_url: Guard_VerifyAlphaNumericGuard_RAW_URL\r\n * @param req -\r\n */\r\nexport const Guard_VerifyAlphaNumericGuard = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/guard/number'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['req'] !== undefined) {\r\n body = parameters['req']\r\n }\r\n if (parameters['req'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: req'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Guard_VerifyAlphaNumericGuard_RAW_URL = function() {\r\n return '/api/guard/number'\r\n}\r\nexport const Guard_VerifyAlphaNumericGuard_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Guard_VerifyAlphaNumericGuardURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/guard/number'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Hotel_AllOffers\r\n * url: Hotel_AllOffersURL\r\n * method: Hotel_AllOffers_TYPE\r\n * raw_url: Hotel_AllOffers_RAW_URL\r\n */\r\nexport const Hotel_AllOffers = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/hotel/for-map'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Hotel_AllOffers_RAW_URL = function() {\r\n return '/api/hotel/for-map'\r\n}\r\nexport const Hotel_AllOffers_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Hotel_AllOffersURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/hotel/for-map'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Hotel_CloseTo\r\n * url: Hotel_CloseToURL\r\n * method: Hotel_CloseTo_TYPE\r\n * raw_url: Hotel_CloseTo_RAW_URL\r\n * @param latitude -\r\n * @param longitude -\r\n * @param radius -\r\n */\r\nexport const Hotel_CloseTo = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/hotel/close-to'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['latitude'] !== undefined) {\r\n queryParameters['latitude'] = parameters['latitude']\r\n }\r\n if (parameters['longitude'] !== undefined) {\r\n queryParameters['longitude'] = parameters['longitude']\r\n }\r\n if (parameters['radius'] !== undefined) {\r\n queryParameters['radius'] = parameters['radius']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Hotel_CloseTo_RAW_URL = function() {\r\n return '/api/hotel/close-to'\r\n}\r\nexport const Hotel_CloseTo_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Hotel_CloseToURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/hotel/close-to'\r\n if (parameters['latitude'] !== undefined) {\r\n queryParameters['latitude'] = parameters['latitude']\r\n }\r\n if (parameters['longitude'] !== undefined) {\r\n queryParameters['longitude'] = parameters['longitude']\r\n }\r\n if (parameters['radius'] !== undefined) {\r\n queryParameters['radius'] = parameters['radius']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Hotel_BoundingBox\r\n * url: Hotel_BoundingBoxURL\r\n * method: Hotel_BoundingBox_TYPE\r\n * raw_url: Hotel_BoundingBox_RAW_URL\r\n * @param latitudeTop -\r\n * @param longitudeTop -\r\n * @param latitudeBottom -\r\n * @param longitudeBottom -\r\n */\r\nexport const Hotel_BoundingBox = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/hotel/bounding-box'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['latitudeTop'] !== undefined) {\r\n queryParameters['latitudeTop'] = parameters['latitudeTop']\r\n }\r\n if (parameters['longitudeTop'] !== undefined) {\r\n queryParameters['longitudeTop'] = parameters['longitudeTop']\r\n }\r\n if (parameters['latitudeBottom'] !== undefined) {\r\n queryParameters['latitudeBottom'] = parameters['latitudeBottom']\r\n }\r\n if (parameters['longitudeBottom'] !== undefined) {\r\n queryParameters['longitudeBottom'] = parameters['longitudeBottom']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Hotel_BoundingBox_RAW_URL = function() {\r\n return '/api/hotel/bounding-box'\r\n}\r\nexport const Hotel_BoundingBox_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Hotel_BoundingBoxURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/hotel/bounding-box'\r\n if (parameters['latitudeTop'] !== undefined) {\r\n queryParameters['latitudeTop'] = parameters['latitudeTop']\r\n }\r\n if (parameters['longitudeTop'] !== undefined) {\r\n queryParameters['longitudeTop'] = parameters['longitudeTop']\r\n }\r\n if (parameters['latitudeBottom'] !== undefined) {\r\n queryParameters['latitudeBottom'] = parameters['latitudeBottom']\r\n }\r\n if (parameters['longitudeBottom'] !== undefined) {\r\n queryParameters['longitudeBottom'] = parameters['longitudeBottom']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Hotel_List\r\n * url: Hotel_ListURL\r\n * method: Hotel_List_TYPE\r\n * raw_url: Hotel_List_RAW_URL\r\n * @param page -\r\n * @param pageSize -\r\n */\r\nexport const Hotel_List = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/hotel/list/{page}/{pageSize}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n if (parameters['page'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: page'))\r\n }\r\n path = path.replace('{pageSize}', `${parameters['pageSize']}`)\r\n if (parameters['pageSize'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: pageSize'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Hotel_List_RAW_URL = function() {\r\n return '/api/hotel/list/{page}/{pageSize}'\r\n}\r\nexport const Hotel_List_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Hotel_ListURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/hotel/list/{page}/{pageSize}'\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n path = path.replace('{pageSize}', `${parameters['pageSize']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Hotel_Hotel\r\n * url: Hotel_HotelURL\r\n * method: Hotel_Hotel_TYPE\r\n * raw_url: Hotel_Hotel_RAW_URL\r\n * @param slug -\r\n */\r\nexport const Hotel_Hotel = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/hotel/{slug}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{slug}', `${parameters['slug']}`)\r\n if (parameters['slug'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: slug'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Hotel_Hotel_RAW_URL = function() {\r\n return '/api/hotel/{slug}'\r\n}\r\nexport const Hotel_Hotel_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Hotel_HotelURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/hotel/{slug}'\r\n path = path.replace('{slug}', `${parameters['slug']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Insurance_BookInsurance\r\n * url: Insurance_BookInsuranceURL\r\n * method: Insurance_BookInsurance_TYPE\r\n * raw_url: Insurance_BookInsurance_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Insurance_BookInsurance = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/insurance/book'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Insurance_BookInsurance_RAW_URL = function() {\r\n return '/api/insurance/book'\r\n}\r\nexport const Insurance_BookInsurance_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Insurance_BookInsuranceURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/insurance/book'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Invoice_DownloadInvoice\r\n * url: Invoice_DownloadInvoiceURL\r\n * method: Invoice_DownloadInvoice_TYPE\r\n * raw_url: Invoice_DownloadInvoice_RAW_URL\r\n * @param id -\r\n * @param key -\r\n * @param invoiceNumber -\r\n */\r\nexport const Invoice_DownloadInvoice = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/invoice/download/{id}/{key}/{invoiceNumber}.pdf'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n path = path.replace('{invoiceNumber}', `${parameters['invoiceNumber']}`)\r\n if (parameters['invoiceNumber'] === undefined) {\r\n return Promise.reject(\r\n new Error('Missing required parameter: invoiceNumber'),\r\n )\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Invoice_DownloadInvoice_RAW_URL = function() {\r\n return '/api/invoice/download/{id}/{key}/{invoiceNumber}.pdf'\r\n}\r\nexport const Invoice_DownloadInvoice_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Invoice_DownloadInvoiceURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/invoice/download/{id}/{key}/{invoiceNumber}.pdf'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n path = path.replace('{invoiceNumber}', `${parameters['invoiceNumber']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_Offer\r\n * url: Offer_OfferURL\r\n * method: Offer_Offer_TYPE\r\n * raw_url: Offer_Offer_RAW_URL\r\n * @param id -\r\n */\r\nexport const Offer_Offer = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['id'] !== undefined) {\r\n queryParameters['id'] = parameters['id']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_Offer_RAW_URL = function() {\r\n return '/api/offer'\r\n}\r\nexport const Offer_Offer_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_OfferURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer'\r\n if (parameters['id'] !== undefined) {\r\n queryParameters['id'] = parameters['id']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_OfferByVariantId\r\n * url: Offer_OfferByVariantIdURL\r\n * method: Offer_OfferByVariantId_TYPE\r\n * raw_url: Offer_OfferByVariantId_RAW_URL\r\n * @param id -\r\n */\r\nexport const Offer_OfferByVariantId = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/variant/{id}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_OfferByVariantId_RAW_URL = function() {\r\n return '/api/offer/variant/{id}'\r\n}\r\nexport const Offer_OfferByVariantId_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_OfferByVariantIdURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/variant/{id}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_OfferBySlug\r\n * url: Offer_OfferBySlugURL\r\n * method: Offer_OfferBySlug_TYPE\r\n * raw_url: Offer_OfferBySlug_RAW_URL\r\n * @param slug -\r\n */\r\nexport const Offer_OfferBySlug = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/slug/{slug}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{slug}', `${parameters['slug']}`)\r\n if (parameters['slug'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: slug'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_OfferBySlug_RAW_URL = function() {\r\n return '/api/offer/slug/{slug}'\r\n}\r\nexport const Offer_OfferBySlug_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_OfferBySlugURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/slug/{slug}'\r\n path = path.replace('{slug}', `${parameters['slug']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_OfferByContactSlug\r\n * url: Offer_OfferByContactSlugURL\r\n * method: Offer_OfferByContactSlug_TYPE\r\n * raw_url: Offer_OfferByContactSlug_RAW_URL\r\n * @param slug -\r\n * @param page -\r\n * @param pageSize -\r\n */\r\nexport const Offer_OfferByContactSlug = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/hotel/{slug}/{page}/{pageSize}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{slug}', `${parameters['slug']}`)\r\n if (parameters['slug'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: slug'))\r\n }\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n if (parameters['page'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: page'))\r\n }\r\n path = path.replace('{pageSize}', `${parameters['pageSize']}`)\r\n if (parameters['pageSize'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: pageSize'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_OfferByContactSlug_RAW_URL = function() {\r\n return '/api/offer/hotel/{slug}/{page}/{pageSize}'\r\n}\r\nexport const Offer_OfferByContactSlug_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_OfferByContactSlugURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/hotel/{slug}/{page}/{pageSize}'\r\n path = path.replace('{slug}', `${parameters['slug']}`)\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n path = path.replace('{pageSize}', `${parameters['pageSize']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_OfferData\r\n * url: Offer_OfferDataURL\r\n * method: Offer_OfferData_TYPE\r\n * raw_url: Offer_OfferData_RAW_URL\r\n * @param id -\r\n */\r\nexport const Offer_OfferData = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/data'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['id'] !== undefined) {\r\n queryParameters['id'] = parameters['id']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_OfferData_RAW_URL = function() {\r\n return '/api/offer/data'\r\n}\r\nexport const Offer_OfferData_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_OfferDataURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/data'\r\n if (parameters['id'] !== undefined) {\r\n queryParameters['id'] = parameters['id']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_Search\r\n * url: Offer_SearchURL\r\n * method: Offer_Search_TYPE\r\n * raw_url: Offer_Search_RAW_URL\r\n * @param searchRequest -\r\n */\r\nexport const Offer_Search = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/search'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['searchRequest'] !== undefined) {\r\n body = parameters['searchRequest']\r\n }\r\n if (parameters['searchRequest'] === undefined) {\r\n return Promise.reject(\r\n new Error('Missing required parameter: searchRequest'),\r\n )\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_Search_RAW_URL = function() {\r\n return '/api/offer/search'\r\n}\r\nexport const Offer_Search_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Offer_SearchURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/search'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_TravelDeals\r\n * url: Offer_TravelDealsURL\r\n * method: Offer_TravelDeals_TYPE\r\n * raw_url: Offer_TravelDeals_RAW_URL\r\n */\r\nexport const Offer_TravelDeals = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/travel-deals'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_TravelDeals_RAW_URL = function() {\r\n return '/api/offer/travel-deals'\r\n}\r\nexport const Offer_TravelDeals_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_TravelDealsURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/travel-deals'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_Promotions\r\n * url: Offer_PromotionsURL\r\n * method: Offer_Promotions_TYPE\r\n * raw_url: Offer_Promotions_RAW_URL\r\n */\r\nexport const Offer_Promotions = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/promotions'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_Promotions_RAW_URL = function() {\r\n return '/api/offer/promotions'\r\n}\r\nexport const Offer_Promotions_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_PromotionsURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/promotions'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_Promotion\r\n * url: Offer_PromotionURL\r\n * method: Offer_Promotion_TYPE\r\n * raw_url: Offer_Promotion_RAW_URL\r\n * @param name -\r\n */\r\nexport const Offer_Promotion = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/promotion/{name}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{name}', `${parameters['name']}`)\r\n if (parameters['name'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: name'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_Promotion_RAW_URL = function() {\r\n return '/api/offer/promotion/{name}'\r\n}\r\nexport const Offer_Promotion_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_PromotionURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/promotion/{name}'\r\n path = path.replace('{name}', `${parameters['name']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_Suggest\r\n * url: Offer_SuggestURL\r\n * method: Offer_Suggest_TYPE\r\n * raw_url: Offer_Suggest_RAW_URL\r\n * @param tag -\r\n */\r\nexport const Offer_Suggest = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/suggest/{tag}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{tag}', `${parameters['tag']}`)\r\n if (parameters['tag'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: tag'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_Suggest_RAW_URL = function() {\r\n return '/api/offer/suggest/{tag}'\r\n}\r\nexport const Offer_Suggest_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_SuggestURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/suggest/{tag}'\r\n path = path.replace('{tag}', `${parameters['tag']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_GetAvailableThemes\r\n * url: Offer_GetAvailableThemesURL\r\n * method: Offer_GetAvailableThemes_TYPE\r\n * raw_url: Offer_GetAvailableThemes_RAW_URL\r\n */\r\nexport const Offer_GetAvailableThemes = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/available-themes'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_GetAvailableThemes_RAW_URL = function() {\r\n return '/api/offer/available-themes'\r\n}\r\nexport const Offer_GetAvailableThemes_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_GetAvailableThemesURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/available-themes'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_GetAvailableCountries\r\n * url: Offer_GetAvailableCountriesURL\r\n * method: Offer_GetAvailableCountries_TYPE\r\n * raw_url: Offer_GetAvailableCountries_RAW_URL\r\n */\r\nexport const Offer_GetAvailableCountries = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/available-countries'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_GetAvailableCountries_RAW_URL = function() {\r\n return '/api/offer/available-countries'\r\n}\r\nexport const Offer_GetAvailableCountries_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_GetAvailableCountriesURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/available-countries'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_ListOffers\r\n * url: Offer_ListOffersURL\r\n * method: Offer_ListOffers_TYPE\r\n * raw_url: Offer_ListOffers_RAW_URL\r\n * @param page -\r\n * @param pageSize -\r\n * @param depth -\r\n */\r\nexport const Offer_ListOffers = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/list/{page}/{pageSize}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n if (parameters['page'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: page'))\r\n }\r\n path = path.replace('{pageSize}', `${parameters['pageSize']}`)\r\n if (parameters['pageSize'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: pageSize'))\r\n }\r\n if (parameters['depth'] !== undefined) {\r\n queryParameters['depth'] = parameters['depth']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_ListOffers_RAW_URL = function() {\r\n return '/api/offer/list/{page}/{pageSize}'\r\n}\r\nexport const Offer_ListOffers_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_ListOffersURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/list/{page}/{pageSize}'\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n path = path.replace('{pageSize}', `${parameters['pageSize']}`)\r\n if (parameters['depth'] !== undefined) {\r\n queryParameters['depth'] = parameters['depth']\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_OfferGroup\r\n * url: Offer_OfferGroupURL\r\n * method: Offer_OfferGroup_TYPE\r\n * raw_url: Offer_OfferGroup_RAW_URL\r\n * @param name -\r\n * @param value -\r\n */\r\nexport const Offer_OfferGroup = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/group/{name}/{value}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{name}', `${parameters['name']}`)\r\n if (parameters['name'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: name'))\r\n }\r\n path = path.replace('{value}', `${parameters['value']}`)\r\n if (parameters['value'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: value'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_OfferGroup_RAW_URL = function() {\r\n return '/api/offer/group/{name}/{value}'\r\n}\r\nexport const Offer_OfferGroup_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Offer_OfferGroupURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/group/{name}/{value}'\r\n path = path.replace('{name}', `${parameters['name']}`)\r\n path = path.replace('{value}', `${parameters['value']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Offer_OfferGroups\r\n * url: Offer_OfferGroupsURL\r\n * method: Offer_OfferGroups_TYPE\r\n * raw_url: Offer_OfferGroups_RAW_URL\r\n * @param groups -\r\n */\r\nexport const Offer_OfferGroups = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/offer/groups'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['groups'] !== undefined) {\r\n body = parameters['groups']\r\n }\r\n if (parameters['groups'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: groups'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Offer_OfferGroups_RAW_URL = function() {\r\n return '/api/offer/groups'\r\n}\r\nexport const Offer_OfferGroups_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Offer_OfferGroupsURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/offer/groups'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_Retrive\r\n * url: Order_RetriveURL\r\n * method: Order_Retrive_TYPE\r\n * raw_url: Order_Retrive_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_Retrive = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_Retrive_RAW_URL = function() {\r\n return '/api/order/{id}/{key}'\r\n}\r\nexport const Order_Retrive_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_RetriveURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_MetaData\r\n * url: Order_MetaDataURL\r\n * method: Order_MetaData_TYPE\r\n * raw_url: Order_MetaData_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_MetaData = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/meta/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_MetaData_RAW_URL = function() {\r\n return '/api/order/meta/{id}/{key}'\r\n}\r\nexport const Order_MetaData_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_MetaDataURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/meta/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_SelectedPayment\r\n * url: Order_SelectedPaymentURL\r\n * method: Order_SelectedPayment_TYPE\r\n * raw_url: Order_SelectedPayment_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_SelectedPayment = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/payment/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_SelectedPayment_RAW_URL = function() {\r\n return '/api/order/payment/{id}/{key}'\r\n}\r\nexport const Order_SelectedPayment_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_SelectedPaymentURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/payment/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_Validate\r\n * url: Order_ValidateURL\r\n * method: Order_Validate_TYPE\r\n * raw_url: Order_Validate_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_Validate = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/validate/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_Validate_RAW_URL = function() {\r\n return '/api/order/validate/{id}/{key}'\r\n}\r\nexport const Order_Validate_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_ValidateURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/validate/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_PrepareForCheckout\r\n * url: Order_PrepareForCheckoutURL\r\n * method: Order_PrepareForCheckout_TYPE\r\n * raw_url: Order_PrepareForCheckout_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_PrepareForCheckout = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/prepare/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_PrepareForCheckout_RAW_URL = function() {\r\n return '/api/order/prepare/{id}/{key}'\r\n}\r\nexport const Order_PrepareForCheckout_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_PrepareForCheckoutURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/prepare/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_OrderNotifications\r\n * url: Order_OrderNotificationsURL\r\n * method: Order_OrderNotifications_TYPE\r\n * raw_url: Order_OrderNotifications_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_OrderNotifications = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/notifications/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_OrderNotifications_RAW_URL = function() {\r\n return '/api/order/notifications/{id}/{key}'\r\n}\r\nexport const Order_OrderNotifications_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_OrderNotificationsURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/notifications/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AvailableInsuranceUpgrades\r\n * url: Order_AvailableInsuranceUpgradesURL\r\n * method: Order_AvailableInsuranceUpgrades_TYPE\r\n * raw_url: Order_AvailableInsuranceUpgrades_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_AvailableInsuranceUpgrades = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/{id}/{key}/insurance-upgrades'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AvailableInsuranceUpgrades_RAW_URL = function() {\r\n return '/api/order/{id}/{key}/insurance-upgrades'\r\n}\r\nexport const Order_AvailableInsuranceUpgrades_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_AvailableInsuranceUpgradesURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/{id}/{key}/insurance-upgrades'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_Create\r\n * url: Order_CreateURL\r\n * method: Order_Create_TYPE\r\n * raw_url: Order_Create_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_Create = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_Create_RAW_URL = function() {\r\n return '/api/order'\r\n}\r\nexport const Order_Create_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_CreateURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AddArticle\r\n * url: Order_AddArticleURL\r\n * method: Order_AddArticle_TYPE\r\n * raw_url: Order_AddArticle_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AddArticle = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/items'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AddArticle_RAW_URL = function() {\r\n return '/api/order/items'\r\n}\r\nexport const Order_AddArticle_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AddArticleURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/items'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_ChangeArticle\r\n * url: Order_ChangeArticleURL\r\n * method: Order_ChangeArticle_TYPE\r\n * raw_url: Order_ChangeArticle_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_ChangeArticle = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/items'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_ChangeArticle_RAW_URL = function() {\r\n return '/api/order/items'\r\n}\r\nexport const Order_ChangeArticle_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Order_ChangeArticleURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/items'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_RemoveArticle\r\n * url: Order_RemoveArticleURL\r\n * method: Order_RemoveArticle_TYPE\r\n * raw_url: Order_RemoveArticle_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_RemoveArticle = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/items'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('delete', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_RemoveArticle_RAW_URL = function() {\r\n return '/api/order/items'\r\n}\r\nexport const Order_RemoveArticle_TYPE = function() {\r\n return 'delete'\r\n}\r\nexport const Order_RemoveArticleURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/items'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AddGiftCard\r\n * url: Order_AddGiftCardURL\r\n * method: Order_AddGiftCard_TYPE\r\n * raw_url: Order_AddGiftCard_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AddGiftCard = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/giftcard'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AddGiftCard_RAW_URL = function() {\r\n return '/api/order/giftcard'\r\n}\r\nexport const Order_AddGiftCard_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AddGiftCardURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/giftcard'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_RemoveGiftCard\r\n * url: Order_RemoveGiftCardURL\r\n * method: Order_RemoveGiftCard_TYPE\r\n * raw_url: Order_RemoveGiftCard_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_RemoveGiftCard = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/giftcard'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('delete', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_RemoveGiftCard_RAW_URL = function() {\r\n return '/api/order/giftcard'\r\n}\r\nexport const Order_RemoveGiftCard_TYPE = function() {\r\n return 'delete'\r\n}\r\nexport const Order_RemoveGiftCardURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/giftcard'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_SetOrderToWireTransfer\r\n * url: Order_SetOrderToWireTransferURL\r\n * method: Order_SetOrderToWireTransfer_TYPE\r\n * raw_url: Order_SetOrderToWireTransfer_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_SetOrderToWireTransfer = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/set-wiretransfer'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_SetOrderToWireTransfer_RAW_URL = function() {\r\n return '/api/order/set-wiretransfer'\r\n}\r\nexport const Order_SetOrderToWireTransfer_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Order_SetOrderToWireTransferURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/set-wiretransfer'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_UpdateCustomer\r\n * url: Order_UpdateCustomerURL\r\n * method: Order_UpdateCustomer_TYPE\r\n * raw_url: Order_UpdateCustomer_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_UpdateCustomer = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/customer'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_UpdateCustomer_RAW_URL = function() {\r\n return '/api/order/customer'\r\n}\r\nexport const Order_UpdateCustomer_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Order_UpdateCustomerURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/customer'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AddReduction\r\n * url: Order_AddReductionURL\r\n * method: Order_AddReduction_TYPE\r\n * raw_url: Order_AddReduction_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AddReduction = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/reduction'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AddReduction_RAW_URL = function() {\r\n return '/api/order/reduction'\r\n}\r\nexport const Order_AddReduction_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AddReductionURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/reduction'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_RemoveReduction\r\n * url: Order_RemoveReductionURL\r\n * method: Order_RemoveReduction_TYPE\r\n * raw_url: Order_RemoveReduction_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_RemoveReduction = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/reduction'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('delete', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_RemoveReduction_RAW_URL = function() {\r\n return '/api/order/reduction'\r\n}\r\nexport const Order_RemoveReduction_TYPE = function() {\r\n return 'delete'\r\n}\r\nexport const Order_RemoveReductionURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/reduction'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_PayPalCreateOrder\r\n * url: Order_PayPalCreateOrderURL\r\n * method: Order_PayPalCreateOrder_TYPE\r\n * raw_url: Order_PayPalCreateOrder_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_PayPalCreateOrder = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/paypal-create'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_PayPalCreateOrder_RAW_URL = function() {\r\n return '/api/order/paypal-create'\r\n}\r\nexport const Order_PayPalCreateOrder_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_PayPalCreateOrderURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/paypal-create'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_PayPalTransactionComplete\r\n * url: Order_PayPalTransactionCompleteURL\r\n * method: Order_PayPalTransactionComplete_TYPE\r\n * raw_url: Order_PayPalTransactionComplete_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_PayPalTransactionComplete = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/paypal-transaction'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_PayPalTransactionComplete_RAW_URL = function() {\r\n return '/api/order/paypal-transaction'\r\n}\r\nexport const Order_PayPalTransactionComplete_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_PayPalTransactionCompleteURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/paypal-transaction'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_CloseOrder\r\n * url: Order_CloseOrderURL\r\n * method: Order_CloseOrder_TYPE\r\n * raw_url: Order_CloseOrder_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_CloseOrder = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/close'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_CloseOrder_RAW_URL = function() {\r\n return '/api/order/close'\r\n}\r\nexport const Order_CloseOrder_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Order_CloseOrderURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/close'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_OptinOptions\r\n * url: Order_OptinOptionsURL\r\n * method: Order_OptinOptions_TYPE\r\n * raw_url: Order_OptinOptions_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_OptinOptions = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/optin'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_OptinOptions_RAW_URL = function() {\r\n return '/api/order/optin'\r\n}\r\nexport const Order_OptinOptions_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Order_OptinOptionsURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/optin'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_Reduction\r\n * url: Order_ReductionURL\r\n * method: Order_Reduction_TYPE\r\n * raw_url: Order_Reduction_RAW_URL\r\n * @param id -\r\n */\r\nexport const Order_Reduction = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/reduction/{id}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_Reduction_RAW_URL = function() {\r\n return '/api/order/reduction/{id}'\r\n}\r\nexport const Order_Reduction_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_ReductionURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/reduction/{id}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_ClaimOrder\r\n * url: Order_ClaimOrderURL\r\n * method: Order_ClaimOrder_TYPE\r\n * raw_url: Order_ClaimOrder_RAW_URL\r\n * @param req -\r\n */\r\nexport const Order_ClaimOrder = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/claim'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['req'] !== undefined) {\r\n body = parameters['req']\r\n }\r\n if (parameters['req'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: req'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_ClaimOrder_RAW_URL = function() {\r\n return '/api/order/claim'\r\n}\r\nexport const Order_ClaimOrder_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Order_ClaimOrderURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/claim'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_ClosedOrdersForUser\r\n * url: Order_ClosedOrdersForUserURL\r\n * method: Order_ClosedOrdersForUser_TYPE\r\n * raw_url: Order_ClosedOrdersForUser_RAW_URL\r\n * @param page -\r\n */\r\nexport const Order_ClosedOrdersForUser = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/account-overview/{page}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n if (parameters['page'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: page'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_ClosedOrdersForUser_RAW_URL = function() {\r\n return '/api/order/account-overview/{page}'\r\n}\r\nexport const Order_ClosedOrdersForUser_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_ClosedOrdersForUserURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/account-overview/{page}'\r\n path = path.replace('{page}', `${parameters['page']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AmazonPayCreateCheckoutSession\r\n * url: Order_AmazonPayCreateCheckoutSessionURL\r\n * method: Order_AmazonPayCreateCheckoutSession_TYPE\r\n * raw_url: Order_AmazonPayCreateCheckoutSession_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AmazonPayCreateCheckoutSession = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/amazonpay-create'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AmazonPayCreateCheckoutSession_RAW_URL = function() {\r\n return '/api/order/amazonpay-create'\r\n}\r\nexport const Order_AmazonPayCreateCheckoutSession_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AmazonPayCreateCheckoutSessionURL = function(\r\n parameters = {},\r\n) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/amazonpay-create'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AmazonPayProcessCheckoutSession\r\n * url: Order_AmazonPayProcessCheckoutSessionURL\r\n * method: Order_AmazonPayProcessCheckoutSession_TYPE\r\n * raw_url: Order_AmazonPayProcessCheckoutSession_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AmazonPayProcessCheckoutSession = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/amazonpay-authorized'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AmazonPayProcessCheckoutSession_RAW_URL = function() {\r\n return '/api/order/amazonpay-authorized'\r\n}\r\nexport const Order_AmazonPayProcessCheckoutSession_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AmazonPayProcessCheckoutSessionURL = function(\r\n parameters = {},\r\n) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/amazonpay-authorized'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AmazonPayCreateRedirect\r\n * url: Order_AmazonPayCreateRedirectURL\r\n * method: Order_AmazonPayCreateRedirect_TYPE\r\n * raw_url: Order_AmazonPayCreateRedirect_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AmazonPayCreateRedirect = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/amazonpay-createredirect'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AmazonPayCreateRedirect_RAW_URL = function() {\r\n return '/api/order/amazonpay-createredirect'\r\n}\r\nexport const Order_AmazonPayCreateRedirect_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AmazonPayCreateRedirectURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/amazonpay-createredirect'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Order_AmazonPayCompletePayment\r\n * url: Order_AmazonPayCompletePaymentURL\r\n * method: Order_AmazonPayCompletePayment_TYPE\r\n * raw_url: Order_AmazonPayCompletePayment_RAW_URL\r\n * @param cmd -\r\n */\r\nexport const Order_AmazonPayCompletePayment = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/amazonpay-complete'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['cmd'] !== undefined) {\r\n body = parameters['cmd']\r\n }\r\n if (parameters['cmd'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: cmd'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Order_AmazonPayCompletePayment_RAW_URL = function() {\r\n return '/api/order/amazonpay-complete'\r\n}\r\nexport const Order_AmazonPayCompletePayment_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const Order_AmazonPayCompletePaymentURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/amazonpay-complete'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Voucher_RetriveVoucherCustomer\r\n * url: Voucher_RetriveVoucherCustomerURL\r\n * method: Voucher_RetriveVoucherCustomer_TYPE\r\n * raw_url: Voucher_RetriveVoucherCustomer_RAW_URL\r\n * @param id -\r\n * @param key -\r\n * @param idVoucher -\r\n */\r\nexport const Voucher_RetriveVoucherCustomer = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/voucher/{id}/{key}/{idVoucher}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n path = path.replace('{idVoucher}', `${parameters['idVoucher']}`)\r\n if (parameters['idVoucher'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: idVoucher'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Voucher_RetriveVoucherCustomer_RAW_URL = function() {\r\n return '/api/voucher/{id}/{key}/{idVoucher}'\r\n}\r\nexport const Voucher_RetriveVoucherCustomer_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Voucher_RetriveVoucherCustomerURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/voucher/{id}/{key}/{idVoucher}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n path = path.replace('{idVoucher}', `${parameters['idVoucher']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Voucher_UpdateVoucherCustomer\r\n * url: Voucher_UpdateVoucherCustomerURL\r\n * method: Voucher_UpdateVoucherCustomer_TYPE\r\n * raw_url: Voucher_UpdateVoucherCustomer_RAW_URL\r\n * @param id -\r\n * @param key -\r\n * @param idVoucher -\r\n * @param customer -\r\n */\r\nexport const Voucher_UpdateVoucherCustomer = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/voucher/{id}/{key}/{idVoucher}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n path = path.replace('{idVoucher}', `${parameters['idVoucher']}`)\r\n if (parameters['idVoucher'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: idVoucher'))\r\n }\r\n if (parameters['customer'] !== undefined) {\r\n body = parameters['customer']\r\n }\r\n if (parameters['customer'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: customer'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('put', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Voucher_UpdateVoucherCustomer_RAW_URL = function() {\r\n return '/api/voucher/{id}/{key}/{idVoucher}'\r\n}\r\nexport const Voucher_UpdateVoucherCustomer_TYPE = function() {\r\n return 'put'\r\n}\r\nexport const Voucher_UpdateVoucherCustomerURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/voucher/{id}/{key}/{idVoucher}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n path = path.replace('{idVoucher}', `${parameters['idVoucher']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: Voucher_DownloadVoucher\r\n * url: Voucher_DownloadVoucherURL\r\n * method: Voucher_DownloadVoucher_TYPE\r\n * raw_url: Voucher_DownloadVoucher_RAW_URL\r\n * @param id -\r\n * @param key -\r\n * @param idVoucher -\r\n */\r\nexport const Voucher_DownloadVoucher = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/voucher/download/{id}/{key}/{idVoucher}.pdf'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n path = path.replace('{idVoucher}', `${parameters['idVoucher']}`)\r\n if (parameters['idVoucher'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: idVoucher'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const Voucher_DownloadVoucher_RAW_URL = function() {\r\n return '/api/voucher/download/{id}/{key}/{idVoucher}.pdf'\r\n}\r\nexport const Voucher_DownloadVoucher_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Voucher_DownloadVoucherURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/voucher/download/{id}/{key}/{idVoucher}.pdf'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n path = path.replace('{idVoucher}', `${parameters['idVoucher']}`)\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n/**\r\n *\r\n * request: WebHooks_PayPal\r\n * url: WebHooks_PayPalURL\r\n * method: WebHooks_PayPal_TYPE\r\n * raw_url: WebHooks_PayPal_RAW_URL\r\n * @param hook -\r\n */\r\nexport const WebHooks_PayPal = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/webhooks/paypal'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n if (parameters['hook'] !== undefined) {\r\n body = parameters['hook']\r\n }\r\n if (parameters['hook'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: hook'))\r\n }\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n return request('post', domain + path, body, queryParameters, form, config)\r\n}\r\nexport const WebHooks_PayPal_RAW_URL = function() {\r\n return '/api/webhooks/paypal'\r\n}\r\nexport const WebHooks_PayPal_TYPE = function() {\r\n return 'post'\r\n}\r\nexport const WebHooks_PayPalURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/webhooks/paypal'\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * request: Order_AffiliateSummary\r\n * url: Order_AffiliateSummaryURL\r\n * method: Order_AffiliateSummary_TYPE\r\n * raw_url: Order_AffiliateSummary_RAW_URL\r\n * @param id -\r\n * @param key -\r\n */\r\nexport const Order_AffiliateSummary = function(parameters = {}) {\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n const config = parameters.$config\r\n let path = '/api/order/summary/{id}/{key}'\r\n let body\r\n let queryParameters = {}\r\n let form = {}\r\n\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n\r\n if (parameters['id'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: id'))\r\n }\r\n\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n\r\n if (parameters['key'] === undefined) {\r\n return Promise.reject(new Error('Missing required parameter: key'))\r\n }\r\n\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n\r\n return request('get', domain + path, body, queryParameters, form, config)\r\n}\r\n\r\nexport const Order_AffiliateSummary_RAW_URL = function() {\r\n return '/api/order/summary/{id}/{key}'\r\n}\r\nexport const Order_AffiliateSummary_TYPE = function() {\r\n return 'get'\r\n}\r\nexport const Order_AffiliateSummaryURL = function(parameters = {}) {\r\n let queryParameters = {}\r\n const domain = parameters.$domain ? parameters.$domain : getDomain()\r\n let path = '/api/order/summary/{id}/{key}'\r\n path = path.replace('{id}', `${parameters['id']}`)\r\n path = path.replace('{key}', `${parameters['key']}`)\r\n\r\n if (parameters.$queryParameters) {\r\n Object.keys(parameters.$queryParameters).forEach(function(parameterName) {\r\n queryParameters[parameterName] =\r\n parameters.$queryParameters[parameterName]\r\n })\r\n }\r\n\r\n let keys = Object.keys(queryParameters)\r\n return (\r\n domain +\r\n path +\r\n (keys.length > 0\r\n ? '?' +\r\n keys\r\n .map(key => key + '=' + encodeURIComponent(queryParameters[key]))\r\n .join('&')\r\n : '')\r\n )\r\n}\r\n","import axios from 'axios'\nimport { Offer_Promotions } from './backend'\n\nconst getOverview = async (site) => {\n const resp = await axios({ \n method: 'get', \n url: `https://assets.urlaubsgutschein.kaufen/whitelabel/${site}/a.json`,\n responseType: 'json'})\n return resp.data;\n}\n\nconst getCurrentPromotions = async () => {\n let { data } = await Offer_Promotions();\n return data;\n}\n\nexport default {\n getOverview,\n getCurrentPromotions\n}","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSearch.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSearch.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}
\r\n \r\n