{"version":3,"sources":["./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","./node_modules/date-fns/esm/startOfWeek/index.js","./node_modules/date-fns/esm/startOfISOWeek/index.js","./dist/self-service/fesm2015/vattenfall-self-service.js","./node_modules/date-fns/esm/parseISO/index.js","./node_modules/finnish-holidays-js/index.js","./node_modules/date-fns/esm/startOfMonth/index.js","./node_modules/date-fns/esm/isAfter/index.js","./node_modules/finnish-holidays-js/lib/finder.js","./node_modules/date-fns/esm/isSameDay/index.js","./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js","./node_modules/date-fns/esm/startOfDay/index.js","./node_modules/finnish-holidays-js/lib/calendar.js","./dist/ui/fesm2015/vattenfall-ui.js","./node_modules/date-fns/esm/isValid/index.js","./node_modules/finnish-holidays-js/lib/year-factory.js","./node_modules/finnish-holidays-js/lib/translator.js","./node_modules/date-fns/esm/isSameMonth/index.js","./node_modules/date-fns/esm/subDays/index.js","./node_modules/date-fns/esm/isWithinInterval/index.js","./src/app/flows/shared/services/finnish-product-details.service.mockup.ts","./node_modules/@ngxs/devtools-plugin/__ivy_ngcc__/fesm2015/ngxs-devtools-plugin.js","./node_modules/@ngxs/storage-plugin/__ivy_ngcc__/fesm2015/ngxs-storage-plugin.js","./src/app/ngxs-config.module.ts","./src/app/samples/static-loading.element.ts","./src/app/samples/static-loading.module.ts","./src/app/samples/tailwind-css.element.ts","./src/app/app.module.ts","./src/app/samples/tailwind-css.module.ts","./node_modules/date-fns/esm/formatISO/index.js","./node_modules/date-fns/esm/addMonths/index.js","./node_modules/date-fns/esm/isBefore/index.js","./node_modules/@ngxs/form-plugin/__ivy_ngcc__/fesm2015/ngxs-form-plugin.js","./node_modules/date-fns/esm/isWeekend/index.js","./node_modules/date-fns/esm/endOfMonth/index.js","./node_modules/date-fns/esm/subMonths/index.js","./node_modules/date-fns/esm/endOfDay/index.js","./node_modules/date-fns/esm/addMilliseconds/index.js","./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","./node_modules/date-fns/esm/locale/en-US/index.js","./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","./node_modules/date-fns/esm/subMilliseconds/index.js","./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","./node_modules/date-fns/esm/_lib/format/formatters/index.js","./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","./node_modules/date-fns/esm/_lib/protectedTokens/index.js","./node_modules/date-fns/esm/format/index.js","./node_modules/finnish-holidays-js/lib/date-utils.js"],"names":["addLeadingZeros","number","targetLength","sign","output","Math","abs","toString","length","startOfWeek","dirtyDate","dirtyOptions","requiredArgs","arguments","options","locale","localeWeekStartsOn","weekStartsOn","defaultWeekStartsOn","toInteger","RangeError","date","toDate","day","getDay","diff","setDate","getDate","setHours","startOfISOWeek","ApiConfiguration","this","rootUrl","ɵfac","t","ɵprov","token","factory","providedIn","MOCKUP","HttpStatusCode","SelfServiceMockupInterceptor","mockup","Error","delay","request","next","method","url","matchedUrlPath","Object","keys","paths","find","path","matchUrlPath","handle","params","parseParams","console","warn","httpResponse","MethodNotAllowed","body","filter","matchIdentifier","map","removeUnderscoreProperties","Success","$array","removeDollarProperties","NotFound","status","pipe","error","fromEntries","entries","key","_","startsWith","item","reduce","match","value","pathMatcher","matcherSegments","split","urlSegments","URL","pathname","i","index","replace","urlSearchParams","Array","from","URLSearchParams","searchParams","MOCKUP_DATA","SelfServiceModule","parentModule","http","selfServiceConfig","ngModule","providers","provide","useValue","useClass","multi","useFactory","baseUrl","injector","apiConfiguration","_a","elementsConfiguration","get","endpoints","selfServiceApi","deps","ɵmod","type","ɵinj","BaseService","config","_rootUrl","ParameterCodec","encodeURIComponent","decodeURIComponent","ParameterCodecInstance","Parameter","name","defaultStyle","defaultExplode","style","explode","separator","v","serializeValue","join","array","propVal","push","String","PathParameter","super","prefix","alreadySerialized","result","QueryParameter","append","HeaderParameter","headers","RequestBuilder","operationPath","_path","Map","_query","_header","set","contentType","_bodyContentType","Blob","pairs","val","formValue","formDataValue","_bodyContent","p","formData","FormData","toAppend","JSON","stringify","pathParam","values","httpParams","encoder","queryParam","httpHeaders","accept","headerParam","toUpperCase","responseType","reportProgress","AcquisitionFlowsEnergySourcesSelectElementService","rb","GetAcquisitionEnergySourcesPath","query","callerId","customerType","build","r","getAcquisitionEnergySources$Response","ChangeFlowsEnergySourcesSelectElementService","GetChangeEnergySourcesPath","premiseId","getChangeEnergySources$Response","FlowsAcquisitionBusinessCheckoutService","ElementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGetPath","productId","gridArea","estimatedKwhConsumption","energySource","elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet$Response","ElementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPostPath","elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost$Response","FlowsAcquisitionPrivateCheckoutService","ElementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGetPath","elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response","ElementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGetPath","energyArea","elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet$Response","ElementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPostPath","elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost$Response","FlowsContractDetailsSectionElementService","ElementsFlowsContractDetailsSectionPremisesPremiseIdGetPath","elementsFlowsContractDetailsSectionPremisesPremiseIdGet$Response","FlowsMoveAcquisitionPrivateSwitchService","ElementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGetPath","buildingType","postalCode","livingArea","elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet$Response","FlowsMoveBusinessCheckoutService","ElementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGetPath","elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet$Response","ElementsFlowsMoveBusinessSwedenCheckoutOrdersPostPath","elementsFlowsMoveBusinessSwedenCheckoutOrdersPost$Response","FlowsMovePrivateCheckoutService","ElementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGetPath","elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response","ElementsFlowsMovePrivateSwedenCheckoutProductsProductIdGetPath","elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet$Response","ElementsFlowsMovePrivateSwedenCheckoutOrdersPostPath","elementsFlowsMovePrivateSwedenCheckoutOrdersPost$Response","FlowsNewContractDetailsSectionElementService","ElementsFlowsNewContractDetailsSectionDeliverydatesGetPath","isMoveFlow","elementsFlowsNewContractDetailsSectionDeliverydatesGet$Response","FlowsPremiseContractSummaryElementService","ElementsFlowsPremiseContractSummaryPremisesPremiseIdGetPath","elementsFlowsPremiseContractSummaryPremisesPremiseIdGet$Response","FlowsPremisesSelectElementService","ElementsFlowsPremisesSelectRenewalGetPath","elementsFlowsPremisesSelectRenewalGet$Response","ElementsFlowsPremisesSelectWinterAssuranceGetPath","elementsFlowsPremisesSelectWinterAssuranceGet$Response","ElementsFlowsPremisesSelectChangeGetPath","elementsFlowsPremisesSelectChangeGet$Response","FlowsProductAddonsSectionViewElementService","ElementsFlowsProductAddonsSectionCustomerContactInformationGetPath","elementsFlowsProductAddonsSectionCustomerContactInformationGet$Response","MyContactNotificationDialogueElementService","ElementsMyContactNotificationDialogCustomerContactInformationGetPath","elementsMyContactNotificationDialogCustomerContactInformationGet$Response","ElementsMyContactNotificationDialogCustomerContactInformationPutPath","elementsMyContactNotificationDialogCustomerContactInformationPut$Response","MyContractsViewElementService","ElementsMyContractsViewPremisesPremiseIdGetPath","includeFutureContracts","elementsMyContractsViewPremisesPremiseIdGet$Response","MyProfileCommunicationSettingsViewElementService","ElementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGetPath","elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet$Response","ElementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPutPath","elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut$Response","MyProfileDetailsViewElementService","ElementsMyProfileDetailsViewCustomerProfileInformationGetPath","elementsMyProfileDetailsViewCustomerProfileInformationGet$Response","ElementsMyProfileDetailsViewCustomerProfileInformationPatchPath","elementsMyProfileDetailsViewCustomerProfileInformationPatch$Response","MyWidgetsConsumptionOverviewElementService","ElementsMyWidgetsConsumptionOverviewPremisesPremiseIdGetPath","elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet$Response","MyWidgetsContractPriceElementService","ElementsMyWidgetsContractPricePremisesPremiseIdGetPath","elementsMyWidgetsContractPricePremisesPremiseIdGet$Response","MyWidgetsElectricityPriceNowElementService","ElementsMyWidgetsElectricityPriceNowPremisesPremiseIdGetPath","elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet$Response","MyWidgetsInvoiceOverviewElementService","ElementsMyWidgetsInvoiceOverviewPremisesPremiseIdGetPath","elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet$Response","MyWidgetsPremiseDetailsElementService","ElementsMyWidgetsPremiseDetailsPremisesPremiseIdGetPath","elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet$Response","PostalCodeGridAreaElementService","ElementsPostalCodeGridAreaPostalCodesPostalCodeGetPath","elementsPostalCodeGridAreaPostalCodesPostalCodeGet$Response","ElementsPostalCodeGridAreaGridAreasGridAreaGetPath","elementsPostalCodeGridAreaGridAreasGridAreaGet$Response","RenewalFlowsEnergySourcesSelectElementService","GetRenewalEnergySourcesPath","getRenewalEnergySources$Response","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","dateRegex","timeRegex","timezoneRegex","parseISO","argument","additionalDigits","prototype","call","Date","NaN","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","isNaN","offset","timestamp","getTime","time","parseTime","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","setFullYear","parseTimezone","dateString","timeString","test","substr","exec","regex","RegExp","captures","parseInt","century","slice","isWeekDate","dayOfYear","parseDateUnit","month","week","dayOfWeek","_year","validateWeekDate","isoWeekYear","setUTCFullYear","getUTCDay","setUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","max","hours","parseTimeUnit","minutes","seconds","validateTime","parseFloat","timezoneString","_hours","validateTimezone","calendar","finder","translator","module","exports","count","includeWeekends","byYear","byMonth","translate","english","language","after","before","startOfMonth","isAfter","dirtyDateToCompare","dateToCompare","nextHoliday","currentHolidays","nextIndex","nextDate","nextHolidays","previousHoliday","previousIndex","previousDate","previousHolidays","isSameDay","dirtyDateLeft","dirtyDateRight","dateLeftStartOfDay","dateRightStartOfDay","debounceTime","dueTime","scheduler","source","lift","DebounceTimeOperator","subscriber","subscribe","DebounceTimeSubscriber","destination","debouncedSubscription","lastValue","hasValue","clearDebounce","add","schedule","dispatchNext","debouncedNext","complete","remove","unsubscribe","startOfDay","dateUtils","yearFactory","MAX_HOLIDAYS","initialize","self","holidays","discardWeekends","m","forEach","holiday","d","y","today","thisDay","thisMonth","getMonth","thisYear","getYear","_c0","_c1","ButtonComponent","elementRef","renderer","variant","size","fluid","disabled","setProperty","nativeElement","ɵcmp","selectors","hostVars","hostBindings","rf","ctx","inputs","attrs","ngContentSelectors","decls","vars","template","styles","changeDetection","ButtonModule","imports","_c0$1","ContainerComponent","hostAttrs","encapsulation","ContainerModule","_c0$2","_c1$1","DetailsComponent","open","border","thin","right","consts","_r1","_r0","toggleOpenAttribute","DetailsModule","DialogComponent_section_0_Template","_r2","onClose","ctx_r0","width","height","_c0$3","_c1$2","DialogComponent","_open","openChange","coercedValue","bodyClassList","window","document","classList","emit","event","target","isSameNode","$event","onClick","outputs","directives","DialogModule","_c0$4","_c1$3","_c2","ErrorComponent","message","childNodes","firstChild","nodeType","addClass","contentQueries","dirIndex","_t","first","ErrorModule","_c0$5","_c1$4","_c2$1","_c3","InputOptionComponent_ng_template_0_Template","InputOptionComponent_ng_template_2_Template","InputOptionComponent_ng_template_4_Template","InputOptionComponent_ng_template_6_Template","_c4","_c5","InputOptionComponent","viewQuery","label","sublabel","image","description","selected","CalendarComponent_th_8_Template","day_r2","$implicit","_c0$6","a0","a1","a2","a3","a4","CalendarComponent_tr_10_td_1_Template","_r7","day_r5","select","ctx_r4","notInSameMonth","isSelected","isHoliday","disableHolidays","isWeekend","disableWeekends","CalendarComponent_tr_10_Template","week_r3","_c1$5","CalendarComponent","_display","selectedDate","showCalendar","normalizeDate","_date","_min","_max","_selected","start","end","current","fill","clickPath","composedPath","clickSource","isClickInside","contains","min","getFullYear","getDays","includes","onDocumentClick","display","features","previousMonth","nextMonth","monthBeforeMin","monthAfterMax","pipes","_c0$7","_c1$6","_c2$2","InputComponent_ng_container_1_ng_container_1_Template","InputComponent_ng_container_1_Template","_r16","InputComponent_ng_container_2_ng_container_1_Template","InputComponent_ng_container_2_Template","InputComponent_ng_container_3_ng_container_1_Template","InputComponent_ng_container_3_Template","_r20","InputComponent_ng_container_4_ng_container_1_Template","InputComponent_ng_container_4_Template","_r18","InputComponent_ng_container_5_ng_container_1_Template","InputComponent_ng_container_5_Template","_r22","InputComponent_ng_container_6_ng_container_1_Template","InputComponent_ng_container_6_Template","_r24","InputComponent_ng_template_7_Template","InputComponent_ng_template_9_Template","InputComponent_ng_template_11_Template","InputComponent_ng_template_13_Template","InputComponent_ng_template_15_Template","InputComponent_ng_template_17_ng_container_1_Template","InputComponent_ng_template_17_label_2_ng_container_7_Template","InputComponent_ng_template_17_label_2_ng_container_9_Template","InputComponent_ng_template_17_label_2_ng_container_11_Template","InputComponent_ng_template_17_label_2_ng_container_12_Template","InputComponent_ng_template_17_label_2_Template","_r44","onTouched","onInputBlur","inputOption_r37","onInputChange","_r38","ctx_r33","required","coerceElementBooleanProperty","readonly","onInputChecked","InputComponent_ng_template_17_label_3_ng_container_4_Template","InputComponent_ng_template_17_label_3_ng_container_6_Template","InputComponent_ng_template_17_label_3_ng_container_9_Template","InputComponent_ng_template_17_label_3_Template","_r54","_r49","checked","ctx_r34","_r6","_r14","_r8","InputComponent_ng_template_17_ng_container_4_Template","InputComponent_ng_template_17_ng_container_5_Template","InputComponent_ng_template_17_Template","ctx_r17","_r10","_r12","inputOptions","InputComponent_ng_template_19_span_6_ng_container_1_Template","InputComponent_ng_template_19_span_6_Template","InputComponent_ng_template_19_span_7_span_1_Template","InputComponent_ng_template_19_span_7_span_2_ng_container_1_Template","InputComponent_ng_template_19_span_7_span_2_Template","ctx_r67","selectedInputOption","InputComponent_ng_template_19_span_7_Template","ctx_r61","InputComponent_ng_template_19_div_8_ng_container_1_a_1_ng_container_1_Template","InputComponent_ng_template_19_div_8_ng_container_1_a_1_span_2_ng_container_1_Template","InputComponent_ng_template_19_div_8_ng_container_1_a_1_span_2_Template","inputOption_r70","InputComponent_ng_template_19_div_8_ng_container_1_a_1_Template","_r78","_r58","onSelectNavigate","onSelectSelected","ctx_r82","first_r71","ctx_r72","InputComponent_ng_template_19_div_8_ng_container_1_Template","ctx_r69","checkSelectSelected","InputComponent_ng_template_19_div_8_Template","ctx_r62","InputComponent_ng_template_19_ng_container_9_Template","InputComponent_ng_template_19_ng_container_10_Template","InputComponent_ng_template_19_Template","_r84","onSelectStart","ctx_r19","InputComponent_ng_template_21_ng_container_9_Template","InputComponent_ng_template_21_ng_container_12_Template","InputComponent_ng_template_21_ng_container_13_Template","_c3$1","InputComponent_ng_template_21_Template","_r95","writeToValueDate","ctx_r21","valueDate","placeholder","_showDateInputCalendar","InputComponent_ng_template_23_ng_container_2_Template","ctx_r100","suffix","InputComponent_ng_template_23_ng_container_4_Template","InputComponent_ng_template_23_ng_container_5_Template","InputComponent_ng_template_23_ng_container_6_Template","InputComponent_ng_template_23_Template","_r105","onDecimalBlur","onInputDecimalChange","ctx_r23","InputComponent_ng_template_25_ng_container_2_Template","ctx_r110","InputComponent_ng_template_25_ng_container_3_Template","_r116","_r109","ctx_r115","step","ctx_r117","InputComponent_ng_template_25_ng_container_5_Template","InputComponent_ng_template_25_ng_container_6_Template","InputComponent_ng_template_25_ng_container_7_Template","InputComponent_ng_template_25_Template","_r119","ctx_r25","stepIndicator","_c4$1","_c5$1","nextUniqueId","InputComponent","changeDetectorRef","control","_value","_disabled","_readonly","_required","valueChange","numberOfDecimals","lang","dirty","_b","_c","_d","_e","numericValue","convertToNumber","setErrors","invalidNumber","onChange","setValue","emitEvent","formattedNumberString","inputElement","updateValueAndValidity","markForCheck","valueAccessor","coerceDateProperty","inputElements","markAsDirty","_seperator","_placeholder","undefined","matchValue","seperator","_valueDate","handleDateValue","convertUserInputDateToEpochSeconds","outputElement","onInputDateChange","detailsElement","preventDefault","code","querySelector","focus","inputOption","anchorElement","previousElementSibling","nextElementSibling","firstElementChild","parentNode","lastElementChild","tabIndex","coerceStringEqual","invokeByEvent","handleMaskValue","setTimeout","validateDateInput","dateValue","digitsValue","changedValue","placeholderIndex","valueIndex","indexOf","inputValue","element","createElement","elementText","createText","appendChild","placeholderElement","outerHTML","validity","valid","invalidDate","x","num","toLocaleString","maximumFractionDigits","minimumFractionDigits","toEpochSeconds","dateParts","toLowerCase","reverse","floor","fn","valueFormatted","formatNumberWithLocale","str","Number","representation","_c0$8","_c1$7","_c2$3","_c3$2","FieldsetComponent","_expanded","alignInputs","expandedChange","setDisabledInputs","expanded","inputComponents","inputComponent","legend","edit","onExpanded","FieldsetModule","_c0$9","GridTileComponent","colspan","n","removeClass","minHeight","setStyle","minWidth","_c0$a","GridComponent","cols","gridTiles","gridTile","GridModule","CalendarModule","InputModule","_c0$b","_c1$8","LinkComponent","LinkModule","ListModule","_c0$d","_c1$a","LoadingComponent","loading","queryList","LoadingModule","_c0$e","MeterComponent","positive","MeterModule","_c0$f","TooltipComponent_ng_container_0_Template","TooltipComponent_ng_container_1_Template","_c1$b","TooltipComponent","position","color","positionStyle","top","left","bottom","displayTooltipMessage","setPosition","getStyles","hostRect","getBoundingClientRect","tooltipMessage","onEscapeKeyDownHandler","onSpacebarDownHandler","onResize","TooltipModule","_c0$g","_c1$c","WidgetComponent","validateContentChildren","throwError","validate","tagName","WidgetModule","UiModule","isValid","Year","loadHolidays","addHoliday","createDate","goodFriday","easterSunday","easterMonday","ascensionDay","pentecost","midsummerEve","midsummerDay","allSaintsDay","translations","fi","sv","isSameMonth","dateLeft","dateRight","subDays","dirtyAmount","amount","isWithinInterval","dirtyInterval","interval","startTime","endTime","data","agreementName","monthlyBaseFee","unit","discountedMonthlyBaseFee","electricityPrice","contractLength","discountLength","productType","hideMonthlyCost","energySourceName","originFee","hideElectricityPriceRow","finnishProductDetailsServiceMockupProvider","environment","production","FinnishProductDetailsServiceMockup","NGXS_DEVTOOLS_OPTIONS","NgxsReduxDevtoolsPlugin","_options","_injector","devtoolsExtension","windowObj","globalDevtools","connect","a","dispatched","state","action","catchError","newState","store","snapshot","sendToDevTools","tap","init","send","assign","payload","prevState","parse","reset","actionsById","computedStates","currentStateIndex","nextLiftedState","actionId","actionPayload","dispatch","devtoolsOptionsFactory","USER_OPTIONS","NgxsReduxDevtoolsPluginModule","NGXS_STORAGE_PLUGIN_OPTIONS","STORAGE_ENGINE","storageOptionsFactory","isArray","getName","storage","serialize","deserialize","engineFactory","platformId","localStorage","sessionStorage","NgxsStoragePlugin","_engine","_platformId","matches","isInitAction","hasMigration","isMaster","getItem","e","migrations","strategy","version","versionKey","migrate","nextState","setItem","NgxsStoragePluginModule","NGXS_MODULE_OPTIONS","developmentMode","selectorOptions","suppressErrors","injectContainerState","compatibility","strictContentSecurityPolicy","NgxsConfigModule","forRoot","StaticLoadingElement","flowsContractsDetailsSectionService","repeat","response","elementsFlowsContractDetailsSectionPremisesPremiseIdGet","StaticLoadingModule","TailwindCssElement","EXAMPLE_ROUTES","loadChildren","then","LazyLoadingModule","elementModule","TailwindCssModule","LAZY_ROUTES","MyWidgetsPremiseDetailsModule","MyWidgetsInvoiceOverviewModule","MyWidgetsConsumptionOverviewModule","MyWidgetsElectricityPriceNowModule","MyWidgetsContractPriceModule","MyWidgetsStaticLightYellowModule","MyWidgetsStaticWhiteModule","MyWidgetsStaticYellowModule","FlowsInvoiceMethodSectionModule","FlowsProductSelectSectionModule","FlowsProductSelectOptionModule","FlowsMoveBusinessSwedenCheckoutModule","FlowsNewContractDetailsSectionModule","FlowsNewContractSectionModule","FlowsSubmitContractSectionModule","FlowsPremisesSelectModule","FlowsSubmitRenewalSectionModule","FlowsChangeContractSwedenCheckoutModule","FlowsChangeContractSwedenConfirmationModule","FlowsCustomerDetailsSectionModule","FlowsConfirmationRenewalSectionModule","FlowsConfirmationContractSectionModule","FlowsContractDetailsSectionModule","FlowsPremiseContractSummaryModule","FlowsMoveBusinessSwedenConfirmationModule","FlowsAcquisitionBusinessSwedenConfirmationModule","FlowsAcquisitionPrivateSwedenCheckoutModule","FlowsMovePrivateSwedenCheckoutModule","FlowsAcquisitionPrivateSwedenConfirmationModule","FlowsMovePrivateSwedenConfirmationModule","PostalcodeGridareaModule","PostalcodeGridareaConsumptionRedirectModule","MySelectElectricityProductModule","MySelectConsumptionIntervalFormModule","FlowsProductDetailsSectionModule","FlowsFIRenewalProductSelectSectionModule","FlowsFIRenewalProductSelectOptionModule","FlowsFiRenewalCheckoutModule","FlowsFiRenewalContactSectionModule","FlowsFiRenewalConfirmationModule","FlowsFIRenewalLoginModule","ElectricalProductsFilterModule","MyContactNotificationDialogModule","MyProfileCommunicationSettingsModule","MyProfileDetailViewModule","EnergySourceBannerModule","EnergySourceSubmitterModule","FlowsAcquisitionBusinessSwedenCheckoutModule","FlowsMoveAcquisitionSwitchModule","FlowsMoveAcquisitionPrivateSwitchModule","MyContractsViewModule","FlowsProductAddonsSectionModule","B2cCalculatorModule","AreaSelectorModule","PriceSectionModule","B2bCalculatorInputModule","B2bCalculatorResultSectionModule","AppModule","formatISO","TypeError","concat","originalDate","format","tzOffset","dateDelimiter","timeDelimiter","getTimezoneOffset","absoluteOffset","hourOffset","minuteOffset","hour","getHours","minute","getMinutes","second","getSeconds","addMonths","dayOfMonth","endOfDesiredMonth","setMonth","daysInMonth","isBefore","UpdateFormStatus","UpdateFormValue","UpdateForm","UpdateFormDirty","UpdateFormErrors","NgxsFormPlugin","payloadValue","joinPathWithPropertyPath","errors","propertyPath","FormDirective","_store","_formGroupDirective","_cd","debounce","clearDestroy","_destroy$","_updating","getStateStream","model","form","patchValue","markAsPristine","selectOnce","getRawValue","disable","enable","debounceChange","updateOn","change","ɵdir","NgxsFormPluginModule","endOfMonth","subMonths","endOfDay","addMilliseconds","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","args","defaultWidth","formats","formatRelativeLocale","lastWeek","yesterday","tomorrow","nextWeek","buildLocalizeFn","dirtyIndex","valuesArray","context","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","buildMatchPatternFn","dirtyString","string","matchResult","matchPattern","matchedString","parseResult","parsePattern","valueCallback","rest","buildMatchFn","matchPatterns","defaultMatchWidth","parsePatterns","defaultParseWidth","predicate","findIndex","object","hasOwnProperty","findKey","formatDistance","addSuffix","comparison","formatLong","full","long","medium","short","dateTime","formatRelative","_baseDate","localize","ordinalNumber","dirtyNumber","_dirtyOptions","rem100","era","narrow","abbreviated","wide","quarter","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","any","firstWeekContainsDate","subMilliseconds","startOfUTCISOWeek","setUTCHours","getUTCISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","startOfUTCWeek","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","formatTimezoneShort","dirtyDelimiter","absOffset","delimiter","formatTimezoneWithOptionalMinutes","formatTimezone","G","signedYear","lightFormatters","Y","signedWeekYear","weekYear","twoDigitYear","R","u","Q","ceil","q","M","L","w","round","getUTCWeek","I","isoWeek","getUTCISOWeek","D","setUTCMonth","startOfYearTimestamp","difference","getUTCDayOfYear","E","localDayOfWeek","c","isoDayOfWeek","dayPeriodEnumValue","b","B","h","H","K","k","s","S","numberOfDigits","milliseconds","fractionalSeconds","pow","X","_localize","timezoneOffset","_originalDate","O","z","T","dateLongFormatter","pattern","timeLongFormatter","P","dateTimeFormat","datePattern","timePattern","getDateMillisecondsPart","getTimezoneOffsetInMilliseconds","baseTimezoneOffset","setSeconds","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","input","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","formatStr","utcDate","formatterOptions","substring","firstCharacter","longFormatter","cleanEscapedString","formatter","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","FRIDAY","SATURDAY","SUNDAY","UTC","getDayOfWeek","addDays","days","subtractDays","f","l","n0","resolveFriday","range","october31","zerofy","fromNumber","toNumber","arr"],"mappings":"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","file":"app-app-module.js","sourcesContent":["export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}","import toDate from '../toDate/index.js';\nimport toInteger from '../_lib/toInteger/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function startOfWeek(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfWeek from '../startOfWeek/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * var result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function startOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return startOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}","import { HttpResponse, HttpErrorResponse, HTTP_INTERCEPTORS, HttpClient, HttpParams, HttpHeaders, HttpRequest } from '@angular/common/http';\nimport { ɵɵdefineInjectable, ɵsetClassMetadata, Injectable, InjectionToken, ɵɵinject, Optional, Inject, APP_INITIALIZER, Injector, ɵɵdefineNgModule, ɵɵdefineInjector, NgModule, SkipSelf } from '@angular/core';\nimport { of, throwError } from 'rxjs';\nimport { delay, filter, map } from 'rxjs/operators';\n\n/* tslint:disable */\n/**\n * Global configuration\n */\nclass ApiConfiguration {\n constructor() {\n this.rootUrl = '';\n }\n}\nApiConfiguration.ɵfac = function ApiConfiguration_Factory(t) { return new (t || ApiConfiguration)(); };\nApiConfiguration.ɵprov = ɵɵdefineInjectable({ token: ApiConfiguration, factory: ApiConfiguration.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(ApiConfiguration, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], null, null); })();\n\n/**\n * `Mockup` data object's injection token.\n */\nconst MOCKUP = new InjectionToken(\"mockup\");\n/**\n * Supported HTTP methods\n */\nvar HttpMethod;\n(function (HttpMethod) {\n HttpMethod[\"GET\"] = \"GET\";\n HttpMethod[\"PATCH\"] = \"PATCH\";\n HttpMethod[\"POST\"] = \"POST\";\n HttpMethod[\"PUT\"] = \"PUT\";\n HttpMethod[\"DELETE\"] = \"DELETE\";\n})(HttpMethod || (HttpMethod = {}));\n/**\n * Supported HTTP status codes\n */\nvar HttpStatusCode;\n(function (HttpStatusCode) {\n HttpStatusCode[HttpStatusCode[\"Success\"] = 200] = \"Success\";\n HttpStatusCode[HttpStatusCode[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpStatusCode[HttpStatusCode[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpStatusCode[HttpStatusCode[\"NotFound\"] = 404] = \"NotFound\";\n HttpStatusCode[HttpStatusCode[\"MethodNotAllowed\"] = 422] = \"MethodNotAllowed\";\n HttpStatusCode[HttpStatusCode[\"ServerError\"] = 500] = \"ServerError\";\n})(HttpStatusCode || (HttpStatusCode = {}));\n/**\n * Intercepts requests made to the Self-Service API and returns mockup data as response.\n *\n * The mocked data to return is declared in the `self-service.mockup.json` file of the package root directory.\n *\n * When new data has been added, make sure the package is rebuilt for the changes to take place.\n */\nclass SelfServiceMockupInterceptor {\n constructor(mockup) {\n this.mockup = mockup;\n // Throw an error if initialized without a mockup object provided\n if (!this.mockup)\n throw new Error(\"Could not initialize 'SelfServiceMockupInterceptor'. No mockup object was passed to the constructor.\");\n // Set the default response time to 500 milliseconds\n if (this.mockup.delay == null)\n this.mockup.delay = 500;\n }\n /**\n * Intercept HTTP request and return appropriate HTTP response\n * @param request HTTP request object\n * @param next HTTP request handler\n */\n intercept(request, next) {\n const { method, url } = request;\n const matchedUrlPath = Object.keys(this.mockup.paths).find((path) => this.matchUrlPath(path, url));\n if (!matchedUrlPath)\n return next.handle(request);\n const params = this.parseParams(matchedUrlPath, url);\n if (!this.mockup.paths[matchedUrlPath][method]) {\n console.warn(`Could not intercept the request '${method} ${url}'. No mockup data exist for this path and method.`);\n return this.httpResponse(HttpStatusCode.MethodNotAllowed);\n }\n // Filter out objects in the mockup array that matches the parameters provided in the request URL\n // and remove all properties with an underscore from the response body\n const body = (this.mockup.paths[matchedUrlPath][method] || [])\n .filter(this.matchIdentifier(params))\n .map(this.removeUnderscoreProperties);\n if (body.length)\n if (body.length === 1 && body[0].$array !== true)\n // Return an object in case only a single item match with the provided path and parameters\n // and the $array custom property has not been defined\n return this.httpResponse(HttpStatusCode.Success, body.map(this.removeDollarProperties)[0]);\n else\n return this.httpResponse(HttpStatusCode.Success, body.map(this.removeDollarProperties));\n return this.httpResponse(HttpStatusCode.NotFound);\n }\n /**\n * Simulate HTTP response\n * @param status HTTP response status code\n * @param body HTTP response body\n */\n httpResponse(status, body) {\n if (status >= 200 && status <= 300)\n return of(new HttpResponse({ status, body })).pipe(delay(this.mockup.delay));\n else {\n return throwError(new HttpErrorResponse({\n error: `Error ${status}`,\n status,\n })).pipe(delay(this.mockup.delay));\n }\n }\n /**\n * Removes properties with an underscore from response body\n * @param body The body object to remove the properties from\n */\n removeUnderscoreProperties(body) {\n return Object.fromEntries(Object.entries(body).filter(([key, _]) => !key.startsWith(\"_\")));\n }\n /**\n * Removes properties with an dollar symbol from response body\n * @param body The body object to remove the properties from\n */\n removeDollarProperties(body) {\n return Object.fromEntries(Object.entries(body).filter(([key, _]) => !key.startsWith(\"$\")));\n }\n /**\n * Match provided resource identifiers or query parameters against data items in `mockup` array. Will match data items which does not contain properties that might be specified in `params`.\n * @param params Parameters to match\n */\n matchIdentifier(params = {}) {\n return (item = {}) => Object.entries(params)\n // Testing for loose equality to match numeric values cast as strings, i.e. \"123\"\n .reduce((match, [key, value]) => (!item[key] || item[key] == value ? match && true : false), true);\n }\n /**\n * Compares request URL with specified path matcher string\n * @param pathMatcher path matcher pattern to compare to the url\n * @param url url for the current request.\n */\n matchUrlPath(pathMatcher, url) {\n const matcherSegments = pathMatcher.split(\"/\");\n const urlSegments = new URL(url, \"https://localhost:4200\").pathname.split(\"/\");\n // Do not match URL's that have more segments than declared in pathMatcher\n if (matcherSegments.length < urlSegments.length)\n return false;\n // Do not match if any of the URL segments does not match the segments in pathMatcher\n for (let i = 0; i < matcherSegments.length; i++) {\n if (!matcherSegments[i].startsWith(\":\"))\n if (matcherSegments[i] !== urlSegments[i])\n return false;\n }\n return true;\n }\n /**\n * Takes an URL and parse it against a matching string. Returns an object with the resource name or query parameter name as key and resource identifier query parameter value as value.\n * @param pathMatcher path matcher pattern to compare to the url\n * @param url url for the request\n *\n * **Example**\n *\n * This input:\n *\n * * path: `component/:componentId`\n * * url: `component/123&queryParam=abc`\n *\n * Will give this output:\n *\n * ```\n * { _componentId: \"123\", _queryParam: \"abc\" }\n * ```\n */\n parseParams(pathMatcher, url) {\n const urlSegments = new URL(url, \"https://localhost:4200\").pathname\n .split(\"/\")\n .map((path, index) => [\n new URL(pathMatcher, \"https://localhost:4200\").pathname.split(\"/\")[index].replace(\":\", \"_\"),\n path,\n ])\n .filter(([key, value]) => key !== value);\n const urlSearchParams = Array.from(new URLSearchParams(new URL(url, \"https://localhost:4200\").searchParams).entries()).map(([key, value]) => [\"_\" + key, value]);\n if (urlSegments.length || urlSearchParams.length)\n return Object.fromEntries([...urlSegments, ...urlSearchParams]);\n }\n}\nSelfServiceMockupInterceptor.ɵfac = function SelfServiceMockupInterceptor_Factory(t) { return new (t || SelfServiceMockupInterceptor)(ɵɵinject(MOCKUP, 8)); };\nSelfServiceMockupInterceptor.ɵprov = ɵɵdefineInjectable({ token: SelfServiceMockupInterceptor, factory: SelfServiceMockupInterceptor.ɵfac });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(SelfServiceMockupInterceptor, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MOCKUP]\n }] }]; }, null); })();\n\n/* tslint:disable */\n/* eslint-disable */\nconst MOCKUP_DATA = {\n \"$schema\": \"./self-service.schema.json\",\n \"delay\": 500,\n \"paths\": {\n \"/elements/my-premises-select\": {\n \"GET\": [\n {\n \"id\": \"1\",\n \"name\": \"Vattenledningsvägen 23H\",\n \"zipCode\": \"126 33\",\n \"city\": \"Hägersten\",\n \"serviceGroup\": \"Electricity\"\n },\n {\n \"id\": \"2\",\n \"name\": \"Villavägen 6\",\n \"zipCode\": \"168 53\",\n \"city\": \"Bromma\",\n \"serviceGroup\": \"Heat\"\n },\n {\n \"id\": \"3\",\n \"name\": \"Stengatan 98\",\n \"zipCode\": \"668 30\",\n \"city\": \"Sundsvall\",\n \"serviceGroup\": \"Unknown\"\n },\n {\n \"id\": \"TARIFFWITHFUTURE\",\n \"name\": \"TARIFFWITHFUTURE\",\n \"zipCode\": \"123 45\",\n \"city\": \"TARI ST\",\n \"serviceGroup\": \"electricity\"\n },\n {\n \"id\": \"TARIFFWITHFUTURE\",\n \"name\": \"TARIFFWITHFUTURE\",\n \"zipCode\": \"123 45\",\n \"city\": \"TARI ST\",\n \"serviceGroup\": \"electricity\"\n },\n {\n \"id\": \"FIXEDSE3Y\",\n \"name\": \"FIXEDSE3Y\",\n \"zipCode\": \"123 45\",\n \"city\": \"FIXE ST\",\n \"serviceGroup\": \"electricity\"\n },\n {\n \"id\": \"FIXEDSE1Y\",\n \"name\": \"FIXEDSE1Y\",\n \"zipCode\": \"123 45\",\n \"city\": \"FIXE ST\",\n \"serviceGroup\": \"electricity\"\n },\n { \"id\": \"HEAT\", \"name\": \"HEAT\", \"zipCode\": \"123 45\", \"city\": \"HEAT ST\", \"serviceGroup\": \"heat\" },\n { \"id\": \"SPOT\", \"name\": \"SPOT\", \"zipCode\": \"123 45\", \"city\": \"SPOT ST\", \"serviceGroup\": \"electricity\" },\n {\n \"id\": \"TIMETARIFF\",\n \"name\": \"TIMETARIFF\",\n \"zipCode\": \"123 45\",\n \"city\": \"TIME ST\",\n \"serviceGroup\": \"electricity\"\n },\n { \"id\": \"UNKNOWN\", \"name\": \"UNKNOWN\", \"zipCode\": \"123 45\", \"city\": \"UNKN ST\", \"serviceGroup\": \"electricity\" },\n {\n \"id\": \"WINTERINSURANCE\",\n \"name\": \"WINTERINSURANCE\",\n \"zipCode\": \"123 45\",\n \"city\": \"WINT ST\",\n \"serviceGroup\": \"electricity\"\n }\n ]\n },\n \"/elements/my-widgets-premise-details/premises/:premiseId\": {\n \"GET\": [\n {\n \"_premiseId\": \"1\",\n \"customerId\": \"1000071093\",\n \"premiseSiteName\": \"Dragontorpsvägen 7\",\n \"premiseId\": \"AKB735999114009345270\",\n \"premiseServiceGroup\": \"Electricity\"\n },\n {\n \"_premiseId\": \"2\",\n \"customerId\": \"1000071222\",\n \"premiseSiteName\": \"Vikavägen 7\",\n \"premiseId\": \"AKB735999435609345270\",\n \"premiseServiceGroup\": \"Heat\"\n },\n {\n \"_premiseId\": \"3\",\n \"customerId\": \"1000071467\",\n \"premiseSiteName\": \"Valhallaskogen 3\",\n \"premiseId\": \"AKB735999114009345270\",\n \"premiseServiceGroup\": \"Unknown\"\n },\n {\n \"_premiseId\": \"4\",\n \"customerId\": \"1000071467\",\n \"premiseSiteName\": \"Upplandsgatan 34\",\n \"premiseId\": \"AKB735999114009345270\",\n \"premiseServiceGroup\": \"Electricity\"\n }\n ]\n },\n \"/elements/my-widgets-invoice-overview/premises/:premiseId\": {\n \"GET\": [\n {\n \"_premiseId\": \"1\",\n \"amount\": 298.58,\n \"status\": \"Unpaid\"\n },\n {\n \"_premiseId\": \"2\",\n \"amount\": 428.32,\n \"status\": \"PassedDueDate\"\n },\n {\n \"_premiseId\": \"3\",\n \"amount\": 4325.55,\n \"status\": \"Paid\"\n },\n {\n \"_premiseId\": \"4\",\n \"amount\": 0.0,\n \"contractState\": \"Preview\"\n }\n ]\n },\n \"/elements/my-widgets-consumption-overview/premises/:premiseId\": {\n \"GET\": [\n {\n \"_premiseId\": \"1\",\n \"year\": 2020,\n \"month\": 4,\n \"consumption\": {\n \"value\": 143,\n \"unit\": \"KWH\"\n },\n \"percentageChangeComparedToSameMonthPreviousYear\": -1.4,\n \"serviceGroup\": \"Electricity\"\n },\n {\n \"_premiseId\": \"2\",\n \"year\": 2019,\n \"month\": 12,\n \"consumption\": {\n \"value\": 143,\n \"unit\": \"KWH\"\n },\n \"percentageChangeComparedToSameMonthPreviousYear\": 10,\n \"serviceGroup\": \"Heat\"\n },\n {\n \"_premiseId\": \"3\",\n \"year\": 2019,\n \"month\": 12,\n \"consumption\": {\n \"value\": 143,\n \"unit\": \"KWH\"\n },\n \"percentageChangeComparedToSameMonthPreviousYear\": 10,\n \"serviceGroup\": \"Heat\"\n },\n {\n \"_premiseId\": \"4\",\n \"contractState\": \"Preview\"\n }\n ]\n },\n \"/elements/my-widgets-contract-price/premises/:premiseId\": {\n \"GET\": [\n {\n \"$array\": true,\n \"_premiseId\": \"1\",\n \"energyPrice\": {\n \"value\": 12.22,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"contractType\": \"Heat\",\n \"contractName\": \"Värme – Villa\"\n },\n {\n \"$array\": true,\n \"_premiseId\": \"2\",\n \"highElectricityPrice\": {\n \"value\": 10.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"lowElectricityPrice\": {\n \"value\": 9.05,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"contractType\": \"TimeTariffPrice\",\n \"contractName\": \"Tidstariff\"\n },\n {\n \"$array\": true,\n \"_premiseId\": \"3\",\n \"contractType\": \"UnknownElectricityContract\",\n \"contractName\": \"Okändt elektricitetskontrakt\"\n },\n {\n \"$array\": true,\n \"_premiseId\": \"4\",\n \"contractName\": \"Rörligt elpris\",\n \"contractType\": \"SpotPrice\",\n \"contractState\": \"Preview\",\n \"contractStartDate\": 1661983200.0\n }\n ]\n },\n \"/elements/flows-energy-source-select-renewal-section\": {\n \"GET\": [\n {\n \"_premiseId\": \"1\",\n \"energySource\": \"Water\",\n \"energySourcePriceExVat\": {\n \"value\": 1.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"energySource\": \"Wind\",\n \"energySourcePriceExVat\": {\n \"value\": 2.52,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"_premiseId\": \"1\"\n },\n {\n \"energySource\": \"Nuclear\",\n \"energySourcePriceExVat\": {\n \"value\": -1.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"_premiseId\": \"1\"\n },\n {\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 4.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"_premiseId\": \"1\"\n }\n ]\n },\n \"/elements/flows-energy-source-select-acquisition-section\": {\n \"GET\": [\n {\n \"_callerId\": \"1\",\n \"_customerType\": \"SME\",\n \"energySource\": \"Water\",\n \"energySourcePriceExVat\": {\n \"value\": 1.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"_callerId\": \"1\",\n \"_customerType\": \"SME\",\n \"energySource\": \"Wind\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"_callerId\": \"1\",\n \"_customerType\": \"SME\",\n \"energySource\": \"Nuclear\",\n \"energySourcePriceExVat\": {\n \"value\": 2.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"_callerId\": \"1\",\n \"_customerType\": \"SME\",\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 2.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n }\n ]\n },\n \"/elements/flows-energy-source-select-change-section\": {\n \"GET\": [\n {\n \"_premiseId\": \"TUM735999100054769321\",\n \"_callerId\": \"MS.SE4.0\",\n \"energySource\": \"Water\",\n \"energySourcePriceExVat\": {\n \"value\": 1.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"_premiseId\": \"TUM735999100054769321\",\n \"_callerId\": \"MS.SE4.0\",\n \"energySource\": \"Wind\",\n \"energySourcePriceExVat\": {\n \"value\": 4.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"_premiseId\": \"TUM735999100054769321\",\n \"_callerId\": \"MS.SE4.0\",\n \"energySource\": \"Nuclear\",\n \"energySourcePriceExVat\": {\n \"value\": 2.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n },\n {\n \"_premiseId\": \"TUM735999100054769321\",\n \"_callerId\": \"MS.SE4.0\",\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 3.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n }\n }\n ]\n },\n \"/elements/flows-contract-details-section/premises/:premiseId\": {\n \"GET\": [\n {\n \"_premiseId\": \"UPP1234567890\",\n \"estimatedYearlyConsumption\": {\n \"value\": 24773,\n \"unit\": \"KWH\"\n },\n \"priceValidStartDate\": 1644192000.0\n },\n {\n \"_premiseId\": \"TUM735999100054769321\",\n \"estimatedYearlyConsumption\": {\n \"value\": 24773,\n \"unit\": \"KWH\"\n },\n \"priceValidStartDate\": 1644192000.0,\n \"fixedPriceValidStartDate\": 1680300000.0,\n \"winterInsuranceValidStartDate\": 1696170011.0\n }\n ]\n },\n \"/elements/flows-product-select-option/acquisition/products/:productId\": {\n \"GET\": [\n {\n \"_productId\": \"CompanyFixed3Years\",\n \"campaignDiscountDuration\": {\n \"unit\": \"MONTHS\",\n \"value\": 12\n },\n \"campaignDiscountExVat\": {\n \"unit\": \"SWEDISH_KRONA/MONTH\",\n \"value\": 36\n },\n \"campaignDiscountTotalExVat\": {\n \"unit\": \"SWEDISH_KRONA\",\n \"value\": 960\n },\n \"electricityPriceTotalExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"rightToChangePriceTotalExVat\": {\n \"value\": 200.0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceExVat\": {\n \"value\": 295.0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceDiscountExVat\": {\n \"value\": 95.0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.43, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productId\": \"CompanyFixed3Years\",\n \"productName\": \"Rådgivningsavtal med fast elpris 3 år (har rtc rabatt)\",\n \"isRecommended\": true\n },\n {\n \"_productId\": \"CompanyFixed2Years\",\n \"electricityPriceTotalExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"rightToChangePriceTotalExVat\": { \"value\": 195.0, \"unit\": \"SWEDISH_KRONA\" },\n \"rightToChangePriceExVat\": { \"value\": 195.0, \"unit\": \"SWEDISH_KRONA\" },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.43, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"productId\": \"CompanyFixed2Years\",\n \"productName\": \"Rådgivningsavtal med fast elpris 2 år (ej rtc rabatt)\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyFixed6Months\",\n \"electricityPriceTotalExVat\": { \"value\": 37.8, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 37.8, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.44, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"productName\": \"Rådgivningsavtal med fast elpris 6 månader\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyFixed1Years\",\n \"electricityPriceTotalExVat\": { \"value\": 36.5, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 36.5, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"rightToChangePriceTotalExVat\": { \"value\": 125.0, \"unit\": \"SWEDISH_KRONA\" },\n \"rightToChangePriceExVat\": { \"value\": 125.0, \"unit\": \"SWEDISH_KRONA\" },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.43, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"productName\": \"Rådgivningsavtal med fast elpris 1 år\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyVariableRate\",\n \"electricityPriceTotalExVat\": { \"value\": 36.15, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 29.98, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceIsValidForMonth\": 10,\n \"electricityPriceSurchargeExVat\": { \"value\": 4.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountExVat\": { \"value\": 4, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountDuration\": { \"value\": 6, \"unit\": \"MONTHS\" },\n \"electricityCertificateExVat\": { \"value\": 2.17, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 36.42, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"productName\": \"Rådgivningsavtal med rörligt elpris\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyVariableRateHourly\",\n \"electricityPriceTotalExVat\": { \"value\": 36.15, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 29.98, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceIsValidForMonth\": 10,\n \"electricityPriceSurchargeExVat\": { \"value\": 4.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountExVat\": { \"value\": 4, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountDuration\": { \"value\": 6, \"unit\": \"MONTHS\" },\n \"electricityCertificateExVat\": { \"value\": 2.17, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 36.42, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"productName\": \"Rådgivningsavtal med rörligt elpris hourly\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"Failed\",\n \"electricityPriceTotalExVat\": { \"value\": 36.15, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 29.98, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceIsValidForMonth\": 10,\n \"electricityPriceSurchargeExVat\": { \"value\": 4.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityCertificateExVat\": { \"value\": 2.17, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 36.42, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"productName\": \"This matching product is used to develop an order that will return a mocked orderStatus FAILED in flows-submit-renewal-section\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"PrivateFixed3Years\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 117.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 102.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 24.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 123.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1468.75,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 75,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 1800,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 120.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed3Years\",\n \"productName\": \"Fast elpris 36 mån\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateFixed2Years\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 134.98,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 112.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 27.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 135.38,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1687.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 120,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 135.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed2Years\",\n \"productName\": \"Fast elpris 2 år\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateFixed1Years\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 136.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 33.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 2073.5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"comparisonPriceIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed1Years\",\n \"productName\": \"Fast elpris 1 år\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateFixed6Months\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 136.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 33.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 2073.5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"comparisonPriceIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed6Months\",\n \"productName\": \"Fast elpris 6 månader\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateVariableRate\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 120.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 121.78,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 96.02,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 24.36,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 8,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 6,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 6,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 270,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 270,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1502.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 120.58,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateVariableRate\",\n \"productName\": \"Rörligt elpris\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateVariableRateHourly\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 120.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 121.78,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 96.02,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 24.36,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 8,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 6,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 6,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 270,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 270,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1502.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 120.58,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateVariableRateHourly\",\n \"productName\": \"Rörligt elpris hourly\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateWinterInsurance\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 134.98,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 112.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 27.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 135.38,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1687.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 120,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 135.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateWinterInsurance\",\n \"productType\": \"WinterInsuranceElectricity\",\n \"productName\": \"Winter Insurance\",\n \"sortOrder\": 0\n }\n ]\n },\n \"/elements/flows-move-private-sweden-checkout/invoice-settings/payment/banks\": {\n \"GET\": [\n {\n \"bankName\": \"Danske Bank\",\n \"bankId\": \"0010\"\n },\n {\n \"bankName\": \"Handelsbanken\",\n \"bankId\": \"0020\"\n },\n {\n \"bankName\": \"ICA Banken\",\n \"bankId\": \"0030\"\n },\n {\n \"bankName\": \"Länsförsäkringar Bank\",\n \"bankId\": \"0040\"\n },\n {\n \"bankName\": \"Nordea (NB)\",\n \"bankId\": \"0050\"\n },\n {\n \"bankName\": \"SEB\",\n \"bankId\": \"0070\"\n },\n {\n \"bankName\": \"SkandiaBanken\",\n \"bankId\": \"0080\"\n },\n {\n \"bankName\": \"Sparbanken Syd\",\n \"bankId\": \"0090\"\n },\n {\n \"bankName\": \"Swedbank\",\n \"bankId\": \"0110\"\n },\n {\n \"bankName\": \"Ålandsbanken\",\n \"bankId\": \"0120\"\n },\n {\n \"bankName\": \"Marginalen Bank\",\n \"bankId\": \"0140\"\n }\n ]\n },\n \"/elements/flows-move-private-sweden-checkout/products/:productId\": {\n \"GET\": [\n {\n \"electricityPriceTotalIncVat\": {\n \"value\": 16.25,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 13.00,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 250.00,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 250.00,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"vat\": {\n \"value\": 3.25,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 480.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 202.50,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 25.85,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 5000,\n \"unit\": \"KWH\"\n },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"_productId\": \"PrivateFixed1Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 1 år\",\n \"contractStartDate\": 1646348400.0,\n \"contractEndDate\": 1654120800.0\n },\n {\n \"electricityPriceTotalIncVat\": {\n \"value\": 16.25,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 13.00,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 250.00,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 250.00,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"vat\": {\n \"value\": 3.25,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 480.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 202.50,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 25.85,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 5000,\n \"unit\": \"KWH\"\n },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"_productId\": \"PrivateFixed2Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 1 år\",\n \"contractStartDate\": 1646348400.0,\n \"contractEndDate\": 1654120800.0\n }\n ]\n },\n \"/elements/flows-new-contract-details-section/deliverydates\": {\n \"GET\": [\n {\n \"contractDeliveryStartDate\": 1620086400,\n \"contractDeliveryEndDate\": 1620086400,\n \"winterInsuranceValidStartDate\": 1696170011.0\n }\n ]\n },\n \"/elements/flows-product-select-option/renewal/products/:productId\": {\n \"GET\": [\n {\n \"_productId\": \"CompanyFixed3Years\",\n \"electricityPriceTotalExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"rightToChangePriceTotalExVat\": {\n \"value\": 200.0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceExVat\": {\n \"value\": 295.0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceDiscountExVat\": {\n \"value\": 95.0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.43, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productId\": \"CompanyFixed3Years\",\n \"productType\": \"FixedPriceSmallEnterprise\",\n \"productName\": \"Rådgivningsavtal med fast elpris 3 år (har rtc rabatt)\",\n \"isRecommended\": true\n },\n {\n \"_productId\": \"CompanyFixed2Years\",\n \"electricityPriceTotalExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 36.6, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"rightToChangePriceTotalExVat\": { \"value\": 195.0, \"unit\": \"SWEDISH_KRONA\" },\n \"rightToChangePriceExVat\": { \"value\": 195.0, \"unit\": \"SWEDISH_KRONA\" },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.43, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productId\": \"CompanyFixed2Years\",\n \"productType\": \"FixedPriceSmallEnterprise\",\n \"productName\": \"Rådgivningsavtal med fast elpris 2 år (ej rtc rabatt)\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyFixed6Months\",\n \"electricityPriceTotalExVat\": { \"value\": 37.8, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 37.8, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.44, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productName\": \"Rådgivningsavtal med fast elpris 6 månader\",\n \"productType\": \"FixedPriceSmallEnterprise\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyFixed1Years\",\n \"_premiseId\": \"UPP1234567890\",\n \"_energySource\": \"Mix\",\n \"electricityPriceTotalExVat\": { \"value\": 36.5, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 36.5, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"rightToChangePriceTotalExVat\": { \"value\": 125.0, \"unit\": \"SWEDISH_KRONA\" },\n \"rightToChangePriceExVat\": { \"value\": 125.0, \"unit\": \"SWEDISH_KRONA\" },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 384.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 32.43, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productName\": \"Rådgivningsavtal med fast elpris 1 år\",\n \"productType\": \"FixedPriceSmallEnterprise\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyVariableRate\",\n \"electricityPriceTotalExVat\": { \"value\": 36.15, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 29.98, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceIsValidForMonth\": 7,\n \"electricityPriceSurchargeExVat\": { \"value\": 4.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountExVat\": { \"value\": 4, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountDuration\": { \"value\": 6, \"unit\": \"MONTHS\" },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateExVat\": { \"value\": 2.17, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 36.42, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productName\": \"Rådgivningsavtal med rörligt elpris\",\n \"productType\": \"SpotPriceSmallEnterprise\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"CompanyVariableRateHourly\",\n \"electricityPriceTotalExVat\": { \"value\": 36.15, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 29.98, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceIsValidForMonth\": 7,\n \"electricityPriceSurchargeExVat\": { \"value\": 4.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountExVat\": { \"value\": 4, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceSurchargeDiscountDuration\": { \"value\": 6, \"unit\": \"MONTHS\" },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateExVat\": { \"value\": 2.17, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 36.42, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productName\": \"Rådgivningsavtal med rörligt elpris Hourly spot\",\n \"productType\": \"SpotPriceHourlySmallEnterprise\",\n \"isRecommended\": false\n },\n {\n \"_productId\": \"Failed\",\n \"electricityPriceTotalExVat\": { \"value\": 36.15, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceExVat\": { \"value\": 29.98, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityPriceIsValidForMonth\": 10,\n \"electricityPriceSurchargeExVat\": { \"value\": 4.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"electricityCertificateExVat\": { \"value\": 2.17, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": { \"value\": 0.0, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"fixedFeeTotalExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"fixedFeeExVat\": { \"value\": 432.0, \"unit\": \"SWEDISH_KRONA/YEAR\" },\n \"estimatedMonthlyCostExVat\": { \"value\": 36.42, \"unit\": \"SWEDISH_KRONA/MONTH\" },\n \"productName\": \"This matching product is used to develop an order that will return a mocked orderStatus FAILED in flows-submit-renewal-section\",\n \"isRecommended\": false\n }\n ]\n },\n \"/elements/flows-acquisition-private-sweden-checkout/invoice-settings/payment/banks\": {\n \"GET\": [\n {\n \"bankName\": \"Danske Bank\",\n \"bankId\": \"0010\"\n },\n {\n \"bankName\": \"Handelsbanken\",\n \"bankId\": \"0020\"\n },\n {\n \"bankName\": \"ICA Banken\",\n \"bankId\": \"0030\"\n },\n {\n \"bankName\": \"Länsförsäkringar Bank\",\n \"bankId\": \"0040\"\n },\n {\n \"bankName\": \"Nordea (NB)\",\n \"bankId\": \"0050\"\n },\n {\n \"bankName\": \"SEB\",\n \"bankId\": \"0070\"\n },\n {\n \"bankName\": \"SkandiaBanken\",\n \"bankId\": \"0080\"\n },\n {\n \"bankName\": \"Sparbanken Syd\",\n \"bankId\": \"0090\"\n },\n {\n \"bankName\": \"Swedbank\",\n \"bankId\": \"0110\"\n },\n {\n \"bankName\": \"Ålandsbanken\",\n \"bankId\": \"0120\"\n },\n {\n \"bankName\": \"Marginalen Bank\",\n \"bankId\": \"0140\"\n }\n ]\n },\n \"/elements/flows-acquisition-private-sweden-checkout/products/:productId\": {\n \"GET\": [\n {\n \"_productId\": \"PrivateVariableRate\",\n \"campaignDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceExVat\": {\n \"value\": 53.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 1,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 1,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 36.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.83,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 958.34,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountIncVat\": {\n \"value\": 36,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyVariableRate\",\n \"productType\": \"SpotPriceElectricity\",\n \"productName\": \"Rörligt elpris\",\n \"contractStartDate\": 1620086400,\n \"contractEndDate\": 1641600000\n },\n {\n \"_productId\": \"PrivateVariableRateHourly\",\n \"campaignDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceExVat\": {\n \"value\": 53.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 1,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 1,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 36.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.83,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 958.34,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountIncVat\": {\n \"value\": 36,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"PrivateVariableRateHourly\",\n \"productType\": \"SpotPriceHourlyElectricity\",\n \"productName\": \"Rörligt elpris hourly\",\n \"contractStartDate\": 1620086400,\n \"contractEndDate\": 1641600000\n },\n {\n \"_productId\": \"PrivateFixed1Years\",\n \"campaignDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"comparisonConsumption\": {\n \"unit\": \"KWH\",\n \"value\": 5000\n },\n \"comparisonPriceIncVat\": {\n \"unit\": \"SWEDISH_ORE/KWH\",\n \"value\": 97.98\n },\n \"electricityPriceExVat\": {\n \"value\": 40.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 36.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"isRightToChangeAvailable\": true,\n \"rightToChangePriceIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 958.34,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountIncVat\": {\n \"value\": 36,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"totalPricePerkWhIncVat\": { \"value\": 131.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"PrivateFixed1Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 3 år\",\n \"contractStartDate\": 1628899200,\n \"contractEndDate\": 1628899200\n },\n {\n \"_productId\": \"PrivateFixed3Years\",\n \"electricityPriceTotalIncVat\": {\n \"value\": 123.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 102.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"vat\": {\n \"value\": 24.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1398.77,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountIncVat\": {\n \"value\": 75,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 120.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"totalPricePerkWhIncVat\": {\n \"value\": 117.22,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"PrivateFixed3Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 3 år\",\n \"contractStartDate\": 1661810400,\n \"contractEndDate\": 1672959600\n }\n ]\n },\n \"/elements/flows-acquisition-business-sweden-checkout/products/:productId\": {\n \"GET\": [\n {\n \"_productId\": \"CompanyVariableRate\",\n \"campaignDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"campaignDiscountExVat\": {\n \"value\": 36,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"electricityPriceTotalExVat\": {\n \"value\": 58.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 53.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 1,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 1,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.83,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostExVat\": {\n \"value\": 598.53,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyVariableRate\",\n \"productType\": \"SpotPriceSmallEnterprise\",\n \"productName\": \"Rörligt elpris\",\n \"contractStartDate\": 1620086400,\n \"contractEndDate\": 1641600000\n },\n {\n \"_productId\": \"CompanyVariableRateHourly\",\n \"campaignDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"campaignDiscountExVat\": {\n \"value\": 36,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"electricityPriceTotalExVat\": {\n \"value\": 58.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 53.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 1,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 1,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.83,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostExVat\": {\n \"value\": 598.53,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyVariableRateHourly\",\n \"productType\": \"SpotPriceHourlySmallEnterprise\",\n \"productName\": \"Rörligt elpris\",\n \"contractStartDate\": 1620086400,\n \"contractEndDate\": 1641600000\n },\n {\n \"_productId\": \"CompanyFixed3Years\",\n \"campaignDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"campaignDiscountExVat\": {\n \"value\": 36,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"electricityPriceTotalExVat\": {\n \"value\": 36.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 40.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceExVat\": {\n \"value\": 745,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceDiscountExVat\": {\n \"value\": 745,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 384,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 384,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostExVat\": {\n \"value\": 378.58,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyFixed3Years\",\n \"productType\": \"FixedPriceSmallEnterprise\",\n \"productName\": \"Fast elpris 3 år\",\n \"contractStartDate\": 1628899200,\n \"contractEndDate\": 1628899200\n }\n ]\n },\n \"/elements/flows-move-business-sweden-checkout/products/:productId\": {\n \"GET\": [\n {\n \"_productId\": \"CompanyVariableRate\",\n \"electricityPriceTotalExVat\": {\n \"value\": 58.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 53.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 1,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 1,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.83,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostExVat\": {\n \"value\": 598.53,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyVariableRate\",\n \"productType\": \"SpotPriceSmallEnterprise\",\n \"productName\": \"Rörligt elpris\",\n \"contractStartDate\": 1620086400,\n \"contractEndDate\": 1641600000\n },\n {\n \"_productId\": \"CompanyVariableRateHourly\",\n \"electricityPriceTotalExVat\": {\n \"value\": 58.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 53.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 1,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountExVat\": {\n \"value\": 1,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceSurchargeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.83,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 432,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostExVat\": {\n \"value\": 598.53,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyVariableRateHourly\",\n \"productType\": \"SpotPriceHourlySmallEnterprise\",\n \"productName\": \"Rörligt elpris hourly\",\n \"contractStartDate\": 1620086400,\n \"contractEndDate\": 1641600000\n },\n {\n \"_productId\": \"CompanyFixed3Years\",\n \"electricityPriceTotalExVat\": {\n \"value\": 36.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 40.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceExVat\": {\n \"value\": 745,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceDiscountExVat\": {\n \"value\": 745,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"isRightToChangeAvailable\": true,\n \"energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 384,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 384,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostExVat\": {\n \"value\": 378.58,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"totalPricePerkWhExVat\": { \"value\": 121.35, \"unit\": \"SWEDISH_ORE/KWH\" },\n \"hasMonthlyDiscounts\": true,\n \"productId\": \"CompanyFixed3Years\",\n \"productType\": \"FixedPriceSmallEnterprise\",\n \"productName\": \"Fast elpris 3 år\",\n \"contractStartDate\": 1628899200,\n \"contractEndDate\": 1628899200\n }\n ]\n },\n \"/elements/flows-premises-select/change\": {\n \"GET\": [\n {\n \"id\": \"UPN735999100001143334\",\n \"name\": \"ChangeEvenemangsgatan 1\",\n \"postalCode\": \"168 53\",\n \"postalTown\": \"Bromma\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 0,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614347869\n },\n {\n \"id\": \"UMA735999101100453744\",\n \"name\": \"Arenavägen 1\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 1,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614434269\n },\n {\n \"id\": \"EKG735999114010270776\",\n \"name\": \"Evenemangsgatan 12\",\n \"postalCode\": \"168 53\",\n \"postalTown\": \"Bromma\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 2,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614520669\n },\n {\n \"id\": \"DAD735999100053227983\",\n \"name\": \"Arenavägen 1\",\n \"postalCode\": \"213 45\",\n \"postalTown\": \"New York\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 3,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614607069\n },\n {\n \"id\": \"FLE735999100054145255\",\n \"name\": \"Arenavägen 14\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 4,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614693469\n },\n {\n \"id\": \"MAI735999182001132402\",\n \"name\": \"Sven Botvids Allé 24\",\n \"postalCode\": \"66 68\",\n \"postalTown\": \"DO\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 5,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614779869\n },\n {\n \"id\": \"SHD735999100000096365\",\n \"name\": \"Evenemangsgatan 1\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 6,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1644192000.0\n }\n ]\n },\n \"/elements/flows-premises-select/renewal\": {\n \"GET\": [\n {\n \"id\": \"UPN735999100001143334\",\n \"name\": \"Evenemangsgatan 1\",\n \"postalCode\": \"168 53\",\n \"postalTown\": \"Bromma\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 0,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614347869\n },\n {\n \"id\": \"UMA735999101100453744\",\n \"name\": \"Arenavägen 1\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 1,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614434269\n },\n {\n \"id\": \"EKG735999114010270776\",\n \"name\": \"Evenemangsgatan 12\",\n \"postalCode\": \"168 53\",\n \"postalTown\": \"Bromma\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 2,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614520669\n },\n {\n \"id\": \"DAD735999100053227983\",\n \"name\": \"Arenavägen 1\",\n \"postalCode\": \"213 45\",\n \"postalTown\": \"New York\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 3,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614607069\n },\n {\n \"id\": \"FLE735999100054145255\",\n \"name\": \"Arenavägen 14\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 4,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614693469\n },\n {\n \"id\": \"MAI735999182001132402\",\n \"name\": \"Sven Botvids Allé 24\",\n \"postalCode\": \"66 68\",\n \"postalTown\": \"DO\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 5,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1614779869\n },\n {\n \"id\": \"SHD735999100000096365\",\n \"name\": \"Evenemangsgatan 1\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\",\n \"premiseCampaignRemainingDays\": {\n \"value\": 6,\n \"unit\": \"DAYS_REMAINING\"\n },\n \"premiseCampaignToDate\": 1644192000.0\n }\n ]\n },\n \"/elements/flows-premises-select/winter-assurance\": {\n \"GET\": [\n {\n \"id\": \"UPN735999100001143334\",\n \"name\": \"Evenemangsgatan 1\",\n \"postalCode\": \"168 53\",\n \"postalTown\": \"Bromma\"\n },\n {\n \"id\": \"UMA735999101100453744\",\n \"name\": \"Arenavägen 1\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\"\n },\n {\n \"id\": \"EKG735999114010270776\",\n \"name\": \"Evenemangsgatan 12\",\n \"postalCode\": \"168 53\",\n \"postalTown\": \"Bromma\"\n },\n {\n \"id\": \"DAD735999100053227983\",\n \"name\": \"Arenavägen 1\",\n \"postalCode\": \"213 45\",\n \"postalTown\": \"New York\"\n },\n {\n \"id\": \"FLE735999100054145255\",\n \"name\": \"Arenavägen 14\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\"\n },\n {\n \"id\": \"MAI735999182001132402\",\n \"name\": \"Sven Botvids Allé 24\",\n \"postalCode\": \"66 68\",\n \"postalTown\": \"DO\"\n },\n {\n \"id\": \"SHD735999100000096365\",\n \"name\": \"Evenemangsgatan 1\",\n \"postalCode\": \"756 54\",\n \"postalTown\": \"UPPSALA\"\n }\n ]\n },\n \"/elements/flows-premise-contract-summary/premises/:premiseId\": {\n \"GET\": [\n {\n \"_premiseId\": \"UPP1234567890\",\n \"streetName\": \"Äggelundavägen 2 A\",\n \"postalCode\": \"123 45\",\n \"postalTown\": \"Växjö\",\n \"contractName\": \"Fast elpris 3 år\",\n \"contractStartDate\": 1577836800.0,\n \"contractEndDate\": 1609372800.0,\n \"electricityPriceTotalExVat\": {\n \"value\": 64.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 336.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"invoicesPerYear\": {\n \"value\": 12,\n \"unit\": \"INVOICES_PER_YEAR\"\n }\n },\n {\n \"_premiseId\": \"TUM735999100054769321\",\n \"electricityPriceStartDate\": 1669852800.0,\n \"electricityPriceTotalIncVat\": {\n \"value\": 371.46,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"premiseId\": \"TUM735999100054769321\",\n \"streetName\": \"Postängsvägen 178\",\n \"postalCode\": \"145 52\",\n \"postalTown\": \"NORSBORG\",\n \"contractName\": \"Rörligt elpris\",\n \"contractStartDate\": 1656633600.0,\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n }\n },\n {\n \"_premiseId\": \"SHD735999100000075025\",\n \"electricityPriceTotalIncVat\": {\n \"value\": 221.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"premiseId\": \"SHD735999100000075025\",\n \"streetName\": \"Odens Väg 20 H\",\n \"postalCode\": \"517 36\",\n \"postalTown\": \"BOLLEBYGD\",\n \"contractName\": \"Anvisningsavtal\",\n \"contractStartDate\": 1661983200.0,\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n }\n },\n {\n \"_premiseId\": \"TNN735999100056567062\",\n \"streetName\": \"Hap Hamn\",\n \"postalCode\": \"953 95\",\n \"postalTown\": \"NIKKALA\",\n \"contractName\": \"Timpris\",\n \"contractStartDate\": 1592344800.0,\n \"invoicesPerYear\": {\n \"value\": 12,\n \"unit\": \"INVOICES_PER_YEAR\"\n }\n }\n ]\n },\n \"/elements/my-contact-notification-dialog/customer/contact-information\": {\n \"GET\": [\n {\n \"mobileNumber\": \"0765432\",\n \"emailAddress\": \"asdf@ads.com\",\n \"displayNotification\": true\n }\n ],\n \"PUT\": [\n {\n \"mobileNumber\": \"0765432\",\n \"emailAddress\": \"asdf@ads.com\"\n }\n ]\n },\n \"/elements/flows-acquisition-business-sweden-checkout/orders\": {\n \"POST\": [\n {\n \"orderId\": \"VAT28\",\n \"orderStatus\": \"SUCCESS\"\n }\n ]\n },\n \"/elements/flows-acquisition-private-sweden-checkout/orders\": {\n \"POST\": [\n {\n \"orderId\": \"VAT28\",\n \"orderStatus\": \"SUCCESS\"\n }\n ]\n },\n \"/elements/flows-move-business-sweden-checkout/orders\": {\n \"POST\": [\n {\n \"orderId\": \"VAT28\",\n \"orderStatus\": \"SUCCESS\"\n }\n ]\n },\n \"/elements/postal-code-grid-area/grid-areas/:gridArea\": {\n \"GET\": [\n {\n \"_gridArea\": \"maf\",\n \"postalTown\": \"\",\n \"gridArea\": \"MAF\",\n \"energyArea\": \"SN1\"\n },\n {\n \"_gridArea\": \"all\",\n \"postalTown\": \"\",\n \"gridArea\": \"ALL\",\n \"energyArea\": \"SN2\"\n },\n {\n \"_gridArea\": \"sth\",\n \"postalTown\": \"\",\n \"gridArea\": \"STH\",\n \"energyArea\": \"SN3\"\n },\n {\n \"_gridArea\": \"lun\",\n \"postalTown\": \"\",\n \"gridArea\": \"LUN\",\n \"energyArea\": \"SN4\"\n }\n ]\n },\n \"/elements/postal-code-grid-area/postal-codes/:postalCode\": {\n \"GET\": [\n {\n \"_postalCode\": \"31190\",\n \"postalTown\": \"MORUP\",\n \"gridArea\": \"\",\n \"energyArea\": \"SN4\"\n },\n {\n \"_postalCode\": \"98238\",\n \"postalTown\": \"GÄLLIVARE\",\n \"gridArea\": \"MAF\",\n \"energyArea\": \"SN1\"\n },\n {\n \"_postalCode\": \"83335\",\n \"postalTown\": \"STRÖMSUND\",\n \"gridArea\": \"ALL\",\n \"energyArea\": \"SN2\"\n },\n {\n \"_postalCode\": \"12345\",\n \"postalTown\": \"FARSTA\",\n \"gridArea\": \"STH\",\n \"energyArea\": \"SN3\"\n },\n {\n \"_postalCode\": \"22222\",\n \"postalTown\": \"LUND\",\n \"gridArea\": \"LUN\",\n \"energyArea\": \"SN4\"\n },\n {\n \"_postalCode\": \"99988\",\n \"postalTown\": \"\",\n \"gridArea\": \"STH\",\n \"energyArea\": \"SN3\"\n },\n {\n \"_postalCode\": \"10111\",\n \"postalTown\": \"NOENERGYAREATOWN\",\n \"gridArea\": \"MMO\",\n \"energyArea\": \"\"\n }\n ]\n },\n \"/elements/flows-move-acquisition-private-switch/estimated-consumption/building-types/:buildingType\": {\n \"GET\": [\n {\n \"_buildingType\": \"villa\",\n \"estimatedConsumptions\": [\n {\n \"livingArea\": 25,\n \"estimatedConsumption\": {\n \"value\": 6150,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 40,\n \"estimatedConsumption\": {\n \"value\": 7440,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 50,\n \"estimatedConsumption\": {\n \"value\": 8300,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 60,\n \"estimatedConsumption\": {\n \"value\": 9160,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 70,\n \"estimatedConsumption\": {\n \"value\": 10020,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 80,\n \"estimatedConsumption\": {\n \"value\": 10880,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 90,\n \"estimatedConsumption\": {\n \"value\": 11740,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 100,\n \"estimatedConsumption\": {\n \"value\": 12600,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 110,\n \"estimatedConsumption\": {\n \"value\": 13460,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 120,\n \"estimatedConsumption\": {\n \"value\": 14320,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 130,\n \"estimatedConsumption\": {\n \"value\": 15180,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 140,\n \"estimatedConsumption\": {\n \"value\": 16040,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 150,\n \"estimatedConsumption\": {\n \"value\": 16900,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 160,\n \"estimatedConsumption\": {\n \"value\": 17760,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 170,\n \"estimatedConsumption\": {\n \"value\": 18620,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 180,\n \"estimatedConsumption\": {\n \"value\": 19480,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 190,\n \"estimatedConsumption\": {\n \"value\": 20340,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 200,\n \"estimatedConsumption\": {\n \"value\": 21200,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 215,\n \"estimatedConsumption\": {\n \"value\": 22490,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 230,\n \"estimatedConsumption\": {\n \"value\": 23780,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 245,\n \"estimatedConsumption\": {\n \"value\": 25070,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 260,\n \"estimatedConsumption\": {\n \"value\": 26360,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 280,\n \"estimatedConsumption\": {\n \"value\": 28080,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 300,\n \"estimatedConsumption\": {\n \"value\": 29800,\n \"unit\": \"KWH_PER_YEAR\"\n }\n }\n ]\n },\n {\n \"_buildingType\": \"apartment\",\n \"estimatedConsumptions\": [\n {\n \"livingArea\": 25,\n \"estimatedConsumption\": {\n \"value\": 1750,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 40,\n \"estimatedConsumption\": {\n \"value\": 2320,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 50,\n \"estimatedConsumption\": {\n \"value\": 2700,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 60,\n \"estimatedConsumption\": {\n \"value\": 3080,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 70,\n \"estimatedConsumption\": {\n \"value\": 3460,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 80,\n \"estimatedConsumption\": {\n \"value\": 3840,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 90,\n \"estimatedConsumption\": {\n \"value\": 4220,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 100,\n \"estimatedConsumption\": {\n \"value\": 4600,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 110,\n \"estimatedConsumption\": {\n \"value\": 4980,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 120,\n \"estimatedConsumption\": {\n \"value\": 5360,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 130,\n \"estimatedConsumption\": {\n \"value\": 5740,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 140,\n \"estimatedConsumption\": {\n \"value\": 6120,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 150,\n \"estimatedConsumption\": {\n \"value\": 6500,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 160,\n \"estimatedConsumption\": {\n \"value\": 6880,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 170,\n \"estimatedConsumption\": {\n \"value\": 7260,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 180,\n \"estimatedConsumption\": {\n \"value\": 7640,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 190,\n \"estimatedConsumption\": {\n \"value\": 8020,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 200,\n \"estimatedConsumption\": {\n \"value\": 8400,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 215,\n \"estimatedConsumption\": {\n \"value\": 8970,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 230,\n \"estimatedConsumption\": {\n \"value\": 9540,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 245,\n \"estimatedConsumption\": {\n \"value\": 10110,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 260,\n \"estimatedConsumption\": {\n \"value\": 10680,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 280,\n \"estimatedConsumption\": {\n \"value\": 11440,\n \"unit\": \"KWH_PER_YEAR\"\n }\n },\n {\n \"livingArea\": 300,\n \"estimatedConsumption\": {\n \"value\": 12200,\n \"unit\": \"KWH_PER_YEAR\"\n }\n }\n ]\n }\n ]\n },\n \"/elements/my-profile-details-view/customer/profile-information\": {\n \"GET\": [\n {\n \"customerNumber\": \"ABC1234567890\",\n \"phoneNumber\": \"087654321\",\n \"firstName\": \"Adam\",\n \"lastName\": \"Bertilsson\",\n \"streetName\": \"Äggelundavägen 2 A\",\n \"postalCode\": \"123 45\",\n \"postalTown\": \"Växjö\"\n }\n ],\n \"PATCH\": [\n {\n \"phoneNumber\": \"0707654321\"\n }\n ]\n },\n \"/elements/my-contracts-view/premises/:premiseId\": {\n \"GET\": [\n {\n \"$array\": true,\n \"_premiseId\": \"1\",\n \"contractState\": \"Future\",\n \"electricityPriceExVat\": {\n \"value\": 82.9,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 20.73,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 103.63,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"fixedFeeTotalIncVat\": {\n \"value\": 440.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 100,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"HUV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 1942.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1484870400.0,\n \"contractName\": \"Anvisningsavtal\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TariffPrice\",\n \"premiseSiteName\": \"Hamngatan 22 D 1302\",\n \"premiseId\": \"HUV735999100015954186\",\n \"isRenewable\": true,\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"1\",\n \"contractState\": \"Active\",\n \"electricityPriceExVat\": {\n \"value\": 82.9,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 20.73,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 103.63,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"fixedFeeTotalIncVat\": {\n \"value\": 440.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 100,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"HUV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 1942.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1484870400.0,\n \"contractName\": \"Anvisningsavtal\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TariffPrice\",\n \"premiseSiteName\": \"Hamngatan 22 D 1302\",\n \"premiseId\": \"HUV735999100015954186\",\n \"isRenewable\": true,\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"2\",\n \"contractState\": \"Active\",\n \"electricityPriceExVat\": {\n \"value\": 82.9,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 20.73,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 103.63,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"fixedFeeTotalIncVat\": {\n \"value\": 440.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 100,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"HUV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 1942.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1484870400.0,\n \"contractName\": \"Anvisningsavtal\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TariffPrice\",\n \"premiseSiteName\": \"Hamngatan 22 D 1302\",\n \"premiseId\": \"HUV735999100015954186\",\n \"isRenewable\": true,\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"3\",\n \"contractState\": \"Active\",\n \"electricityPriceExVat\": {\n \"value\": 82.9,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 20.73,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 103.63,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"fixedFeeTotalIncVat\": {\n \"value\": 440.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 100,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"HUV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 1942.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1484870400.0,\n \"contractName\": \"Anvisningsavtal\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TariffPrice\",\n \"premiseSiteName\": \"Hamngatan 22 D 1302\",\n \"premiseId\": \"HUV735999100015954186\",\n \"isRenewable\": true,\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"TARIFFWITHFUTURE\",\n \"contractState\": \"Future\",\n \"electricityPriceExVat\": {\n \"value\": 82.9,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 20.73,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 103.63,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"fixedFeeTotalIncVat\": {\n \"value\": 440.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 100,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"HUV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 1942.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1484870400.0,\n \"contractName\": \"Anvisningsavtal\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TariffPrice\",\n \"premiseSiteName\": \"Hamngatan 22 D 1302\",\n \"premiseId\": \"HUV735999100015954186\",\n \"isRenewable\": true,\n \"isChangeable\": false\n },\n {\n \"$array\": true,\n \"_premiseId\": \"TARIFFWITHFUTURE\",\n \"electricityPriceExVat\": {\n \"value\": 82.9,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 20.73,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 103.63,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"fixedFeeTotalIncVat\": {\n \"value\": 440.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 100,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"HUV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 1942.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1484870400.0,\n \"contractName\": \"Anvisningsavtal\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TariffPrice\",\n \"premiseSiteName\": \"Hamngatan 22 D 1302 copy\",\n \"premiseId\": \"HUV735999100015954186\",\n \"isRenewable\": true,\n \"isChangeable\": false\n },\n {\n \"$array\": true,\n \"_premiseId\": \"FIXEDSE3Y\",\n \"electricityPriceExVat\": {\n \"value\": 43.2,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 2.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalExVat\": {\n \"value\": 41.2,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1530403200,\n \"electricityPriceDiscountEndDate\": 1625011200,\n \"fixedFeeTotalExVat\": {\n \"value\": 240.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeExVat\": {\n \"value\": 240.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"customersOwnReference\": \"\",\n \"isRenewable\": true,\n \"gridOwner\": \"E.ON Energidistribution AB\",\n \"gridArea\": \"OGO\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 15296.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1530403200.0,\n \"contractEndDate\": 1625011200.0,\n \"contractName\": \"Fast elpris 3 år\",\n \"invoicesPerYear\": {\n \"value\": 4,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"FixedPriceSmallEnterprise\",\n \"premiseSiteName\": \"Drothemsgatan\",\n \"premiseId\": \"OGO735999114000009119\",\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"FIXEDSE1Y\",\n \"electricityPriceExVat\": {\n \"value\": 64.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalExVat\": {\n \"value\": 65.82,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalExVat\": {\n \"value\": 336.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeDiscountExVat\": {\n \"value\": 3.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountStartDate\": 1484870400,\n \"electricityPriceDiscountEndDate\": 1485870400,\n \"gridOwner\": \"E.ON Elnät Stockholm AB\",\n \"gridArea\": \"UPS\",\n \"energyArea\": \"SE3\",\n \"yearlyConsumption\": {\n \"value\": 34427.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Wind\",\n \"energySourcePriceExVat\": {\n \"value\": 1.52,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"contractStartDate\": 1554076800,\n \"contractEndDate\": 1585612800,\n \"contractName\": \"Fast elpris 1 år\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"FixedPriceSmallEnterprise\",\n \"premiseSiteName\": \"Äggelundavägen 2 A\",\n \"premiseId\": \"735999114009896437\",\n \"customersOwnReference\": \"abcd abcd abcd abcd abcde\",\n \"isRenewable\": true,\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"HEAT\",\n \"tariff\": \"Värme - Villa\",\n \"energyPriceTotalIncVat\": {\n \"value\": 834.0,\n \"unit\": \"SWEDISH_KRONA/MWH\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 4047.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"warmWaterCostIncVat\": {\n \"value\": 47.47,\n \"unit\": \"SWEDISH_KRONA/CUBIC_METER\"\n },\n \"contractStartDate\": 1577836800.0,\n \"contractEndDate\": 1609372800.0,\n \"contractName\": \"Fjärrvärme\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"Heat\",\n \"premiseSiteName\": \"Gitarrvägen 23\",\n \"premiseId\": \"HUPP3013196\",\n \"isChangeable\": true\n },\n {\n \"$array\": true,\n \"_premiseId\": \"SPOT\",\n \"electricityPriceSurchargeExVat\": {\n \"value\": 4.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateCostExVat\": {\n \"value\": 3.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 540.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"contractStartDate\": 1350432000,\n \"contractName\": \"Rörligt elpris\",\n \"gridOwner\": \"E.ON Elnät AB\",\n \"energyArea\": \"SN3\",\n \"invoicesPerYear\": {\n \"value\": 12,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"yearlyConsumption\": {\n \"value\": 20445.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"contractType\": \"SpotPrice\",\n \"energySource\": \"Wind\",\n \"premiseSiteName\": \"Dragontorpsvägen 7\",\n \"premiseId\": \"AKB735999114009345270\"\n },\n {\n \"$array\": true,\n \"_premiseId\": \"TIMETARIFF\",\n \"lowElectricityPriceExVat\": {\n \"value\": 41.4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"lowElectricityPriceVat\": {\n \"value\": 10.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"lowElectricityPriceTotalIncVat\": {\n \"value\": 51.75,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"highElectricityPriceExVat\": {\n \"value\": 41.4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"highElectricityPriceVat\": {\n \"value\": 10.35,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"highElectricityPriceTotalIncVat\": {\n \"value\": 51.75,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 420.0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"DAD\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 6925.0,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": true,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1525824000.0,\n \"contractEndDate\": 1620432000.0,\n \"contractName\": \"Tidstariff\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"TimeTariffPrice\",\n \"premiseSiteName\": \"Björkhaget 5\",\n \"premiseId\": \"DAD735999100053445271\"\n },\n {\n \"$array\": true,\n \"_premiseId\": \"UNKNOWN\",\n \"contractStartDate\": 1227484800,\n \"contractName\": \"Rörligt elpris\",\n \"invoicesPerYear\": {\n \"value\": 6,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"UnknownElectricityContract\",\n \"premiseSiteName\": \"Gitarrvägen 23\",\n \"premiseId\": \"UPP735999100057049772\"\n },\n {\n \"$array\": true,\n \"_premiseId\": \"WINTERINSURANCE\",\n \"electricityPriceExVat\": {\n \"value\": 67,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 16.75,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 83.75,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 540,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"gridOwner\": \"Vattenfall Eldistribution AB\",\n \"gridArea\": \"DRV\",\n \"energyArea\": \"SN3\",\n \"yearlyConsumption\": {\n \"value\": 18948,\n \"unit\": \"KWH\"\n },\n \"rightToChange\": false,\n \"energySource\": \"Mixed\",\n \"contractStartDate\": 1577836800,\n \"contractName\": \"Vintersäkring\",\n \"invoicesPerYear\": {\n \"value\": 12,\n \"unit\": \"INVOICES_PER_YEAR\"\n },\n \"contractType\": \"WinterInsurance\",\n \"premiseSiteName\": \"Höglidsvägen 3 B\",\n \"premiseId\": \"DRV735999100057606173\"\n }\n ]\n },\n \"/elements/flows-product-addons-section/customer/contact-information\": {\n \"GET\": [\n {\n \"phoneNumber\": \"\",\n \"emailAddress\": \"\"\n }\n ]\n },\n \"/elements/flows-product-select-option/change/products/:productId\": {\n \"GET\": [\n {\n \"_productId\": \"PrivateFixed3Years\",\n \"_callerId\": \"MS.SE4.0\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 117.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 102.8,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 24.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 123.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 750,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 36,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1468.75,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 75,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 1800,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 120.5,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed3Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 36 mån\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateFixed2Years\",\n \"_callerId\": \"MS.SE4.0\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 134.98,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 112.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 27.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 135.38,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1687.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 120,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 135.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed2Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 2 år\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateFixed1Years\",\n \"_callerId\": \"MS.SE4.0\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 136.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 33.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 2073.5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 120,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 6,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed1Years\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 1 år\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateFixed6Months\",\n \"_callerId\": \"MS.SE4.0\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"_energySource\": \"Mix\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 136.7,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 33.18,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 250,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 12,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 2073.5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 90,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 3,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 165.88,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateFixed6Months\",\n \"productType\": \"FixedPriceElectricity\",\n \"productName\": \"Fast elpris 6 månader\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateVariableRate\",\n \"_callerId\": \"MS.SE4.0\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 141.25,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 111.79,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 82.03,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 23.36,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 2,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 6.00,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.40,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 545.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 545.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 0.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 326.19,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 142.79,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 2000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateVariableRate\",\n \"productType\": \"SpotPriceElectricity\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"productName\": \"Private Variable Rate Monthly\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateVariableRateHourly\",\n \"_callerId\": \"MS.SE4.0\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 139.55,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 111.79,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 82.03,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 22.36,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceIsValidForMonth\": 2,\n \"electricityPriceSurchargeExVat\": {\n \"value\": 6.00,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityCertificateExVat\": {\n \"value\": 1.40,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 540.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 540.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 0.00,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 226.19,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 20,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 138.79,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 2000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0.0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateVariableRateHourly\",\n \"productType\": \"SpotPriceHourlyElectricity\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"productName\": \"Timpris\",\n \"sortOrder\": 0\n },\n {\n \"_productId\": \"PrivateWinterInsurance\",\n \"_callerId\": \"MS.SE4.0\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 134.98,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 112.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 27.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 135.38,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1687.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 120,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 135.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateWinterInsurance\",\n \"productType\": \"WinterInsuranceElectricity\",\n \"productName\": \"Winter Insurance\",\n \"sortOrder\": 0,\n \"isProductHidden\": false\n },\n {\n \"_productId\": \"PrivateWinterInsuranceHourlySpot\",\n \"_callerId\": \"MS.SE4.0\",\n \"_premiseId\": \"TUM735999100054769321\",\n \"totalPricePerkWhIncVat\": {\n \"value\": 134.98,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceExVat\": {\n \"value\": 112.3,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceVat\": {\n \"value\": 27.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountExVat\": {\n \"value\": 4,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"electricityPriceDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"electricityPriceTotalIncVat\": {\n \"value\": 135.38,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"rightToChangePriceTotalIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"rightToChangePriceIncVat\": {\n \"value\": 375,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"fixedFeeTotalIncVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountIncVat\": {\n \"value\": 480,\n \"unit\": \"SWEDISH_KRONA/YEAR\"\n },\n \"fixedFeeDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"estimatedMonthlyCostIncVat\": {\n \"value\": 1687.25,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"hasMonthlyDiscounts\": true,\n \"campaignDiscountIncVat\": {\n \"value\": 5,\n \"unit\": \"SWEDISH_KRONA/MONTH\"\n },\n \"campaignDiscountTotalIncVat\": {\n \"value\": 120,\n \"unit\": \"SWEDISH_KRONA\"\n },\n \"campaignDiscountDuration\": {\n \"value\": 24,\n \"unit\": \"MONTHS\"\n },\n \"comparisonPriceIncVat\": {\n \"value\": 135.08,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"comparisonConsumption\": {\n \"value\": 20000,\n \"unit\": \"KWH\"\n },\n \"isRightToChangeAvailable\": false,\n \"_energySource\": \"Mix\",\n \"energySourcePriceExVat\": {\n \"value\": 0,\n \"unit\": \"SWEDISH_ORE/KWH\"\n },\n \"productId\": \"PrivateWinterInsuranceHourlySpot\",\n \"productType\": \"WinterInsuranceElectricityHourlySpot\",\n \"productName\": \"Winter Insurance Hourly Spot\",\n \"sortOrder\": 0,\n \"isProductHidden\": false\n }\n ]\n }\n }\n};\n\n/**\n * Sets the `ApiConfiguration` root URL from the provided base URL, or from the base URL specified in the elements environment configuration object\n */\nfunction setBaseUrl(baseUrl) {\n const callback = (injector, apiConfiguration) => () => {\n var _a;\n // TODO (stefan): Getting the injection token from string until we have the @vattenfall/core library setup\n // After that we should provide the actual token as a dependency to this provider and get it from there\n const elementsConfiguration = injector.get(\"ELEMENTS_ENVIRONMENT\", {});\n apiConfiguration.rootUrl =\n baseUrl || ((_a = elementsConfiguration === null || elementsConfiguration === void 0 ? void 0 : elementsConfiguration.endpoints) === null || _a === void 0 ? void 0 : _a.selfServiceApi.replace(\"/elements\", \"\")) || \"\";\n };\n return callback;\n}\n/**\n * `SelfServiceModule` manages configurations used when communicating with the Self-Service API, and should be imported once at the application root.\n *\n * To create module use the `forRoot` static method, it will create a module that contain all the configurations and instantiation logic required to communicate with the Self-Service API.\n *\n * The module should be imported as follows: `imports: [ SelfServiceModule.forRoot({ baseUrl: \"https://some-host.com\" }) ]` in your application's root module. If no base URL has been provided, self-service module will try to read the base URL from the elements environment configuration object.\n *\n * Optionally, requests can be intercepted and return mocked data as response. To enable this feature, set the `mockup` option to `true` when calling the `forRoot` method. Mockup data needs to be added to a mockup file in the `@vattenfall/self-service` root directory. Check the package documentation for more information.\n */\nclass SelfServiceModule {\n constructor(parentModule, http) {\n this.parentModule = parentModule;\n this.http = http;\n if (this.parentModule) {\n throw new Error(\"Could not import 'SelfServiceModule'. This module has already been imported, please make sure it is imported once and in the application root module.\");\n }\n if (!this.http) {\n throw new Error(\"Could not import 'SelfServiceModule'. You need to import the HttpClientModule in the application root module.\");\n }\n }\n static forRoot(selfServiceConfig) {\n return {\n ngModule: SelfServiceModule,\n providers: [\n // Provide mockup data\n (selfServiceConfig === null || selfServiceConfig === void 0 ? void 0 : selfServiceConfig.mockup) ? {\n provide: MOCKUP,\n useValue: MOCKUP_DATA,\n }\n : [],\n // Provide mockup interceptor\n (selfServiceConfig === null || selfServiceConfig === void 0 ? void 0 : selfServiceConfig.mockup) ? {\n provide: HTTP_INTERCEPTORS,\n useClass: SelfServiceMockupInterceptor,\n multi: true,\n }\n : [],\n // Provide root URL for the base service\n {\n provide: APP_INITIALIZER,\n useFactory: setBaseUrl(selfServiceConfig === null || selfServiceConfig === void 0 ? void 0 : selfServiceConfig.baseUrl),\n deps: [Injector, ApiConfiguration],\n multi: true,\n },\n ],\n };\n }\n}\nSelfServiceModule.ɵmod = ɵɵdefineNgModule({ type: SelfServiceModule });\nSelfServiceModule.ɵinj = ɵɵdefineInjector({ factory: function SelfServiceModule_Factory(t) { return new (t || SelfServiceModule)(ɵɵinject(SelfServiceModule, 12), ɵɵinject(HttpClient, 8)); } });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(SelfServiceModule, [{\n type: NgModule,\n args: [{}]\n }], function () { return [{ type: SelfServiceModule, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: HttpClient, decorators: [{\n type: Optional\n }] }]; }, null); })();\n\n/* tslint:disable */\n/**\n * Base class for services\n */\nclass BaseService {\n constructor(config, http) {\n this.config = config;\n this.http = http;\n this._rootUrl = '';\n }\n /**\n * Returns the root url for all operations in this service. If not set directly in this\n * service, will fallback to `ApiConfiguration.rootUrl`.\n */\n get rootUrl() {\n return this._rootUrl || this.config.rootUrl;\n }\n /**\n * Sets the root URL for API operations in this service.\n */\n set rootUrl(rootUrl) {\n this._rootUrl = rootUrl;\n }\n}\nBaseService.ɵfac = function BaseService_Factory(t) { return new (t || BaseService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nBaseService.ɵprov = ɵɵdefineInjectable({ token: BaseService, factory: BaseService.ɵfac });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(BaseService, [{\n type: Injectable\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\n/**\n * Custom parameter codec to correctly handle the plus sign in parameter\n * values. See https://github.com/angular/angular/issues/18261\n */\nclass ParameterCodec {\n encodeKey(key) {\n return encodeURIComponent(key);\n }\n encodeValue(value) {\n return encodeURIComponent(value);\n }\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nconst ParameterCodecInstance = new ParameterCodec();\n/**\n * Base class for a parameter\n */\nclass Parameter {\n constructor(name, value, options, defaultStyle, defaultExplode) {\n this.name = name;\n this.value = value;\n this.options = options;\n this.options = options || {};\n if (this.options.style === null || this.options.style === undefined) {\n this.options.style = defaultStyle;\n }\n if (this.options.explode === null || this.options.explode === undefined) {\n this.options.explode = defaultExplode;\n }\n }\n serializeValue(value, separator = ',') {\n if (value === null || value === undefined) {\n return '';\n }\n else if (value instanceof Array) {\n return value.map(v => this.serializeValue(v).split(separator).join(encodeURIComponent(separator))).join(separator);\n }\n else if (typeof value === 'object') {\n const array = [];\n for (const key of Object.keys(value)) {\n let propVal = value[key];\n if (propVal !== null && propVal !== undefined) {\n propVal = this.serializeValue(propVal).split(separator).join(encodeURIComponent(separator));\n if (this.options.explode) {\n array.push(`${key}=${propVal}`);\n }\n else {\n array.push(key);\n array.push(propVal);\n }\n }\n }\n return array.join(separator);\n }\n else {\n return String(value);\n }\n }\n}\n/**\n * A parameter in the operation path\n */\nclass PathParameter extends Parameter {\n constructor(name, value, options) {\n super(name, value, options, 'simple', false);\n }\n append(path) {\n let value = this.value;\n if (value === null || value === undefined) {\n value = '';\n }\n let prefix = this.options.style === 'label' ? '.' : '';\n let separator = this.options.explode ? prefix === '' ? ',' : prefix : ',';\n let alreadySerialized = false;\n if (this.options.style === 'matrix') {\n // The parameter name is just used as prefix, except in some cases...\n prefix = `;${this.name}=`;\n if (this.options.explode && typeof value === 'object') {\n prefix = ';';\n if (value instanceof Array) {\n // For arrays we have to repeat the name for each element\n value = value.map(v => `${this.name}=${this.serializeValue(v, ';')}`);\n value = value.join(';');\n alreadySerialized = true;\n }\n else {\n // For objects we have to put each the key / value pairs\n value = this.serializeValue(value, ';');\n alreadySerialized = true;\n }\n }\n }\n value = prefix + (alreadySerialized ? value : this.serializeValue(value, separator));\n // Replace both the plain variable and the corresponding variant taking in the prefix and explode into account\n path = path.replace(`{${this.name}}`, value);\n path = path.replace(`{${prefix}${this.name}${this.options.explode ? '*' : ''}}`, value);\n return path;\n }\n // @ts-ignore\n serializeValue(value, separator = ',') {\n var result = typeof value === 'string' ? encodeURIComponent(value) : super.serializeValue(value, separator);\n result = result.replace('%3D', '=');\n result = result.replace('%3B', ';');\n result = result.replace('%2C', ',');\n return result;\n }\n}\n/**\n * A parameter in the query\n */\nclass QueryParameter extends Parameter {\n constructor(name, value, options) {\n super(name, value, options, 'form', true);\n }\n append(params) {\n if (this.value instanceof Array) {\n // Array serialization\n if (this.options.explode) {\n for (const v of this.value) {\n params = params.append(this.name, this.serializeValue(v));\n }\n }\n else {\n const separator = this.options.style === 'spaceDelimited'\n ? ' ' : this.options.style === 'pipeDelimited'\n ? '|' : ',';\n return params.append(this.name, this.serializeValue(this.value, separator));\n }\n }\n else if (this.value !== null && typeof this.value === 'object') {\n // Object serialization\n if (this.options.style === 'deepObject') {\n // Append a parameter for each key, in the form `name[key]`\n for (const key of Object.keys(this.value)) {\n const propVal = this.value[key];\n if (propVal !== null && propVal !== undefined) {\n params = params.append(`${this.name}[${key}]`, this.serializeValue(propVal));\n }\n }\n }\n else if (this.options.explode) {\n // Append a parameter for each key without using the parameter name\n for (const key of Object.keys(this.value)) {\n const propVal = this.value[key];\n if (propVal !== null && propVal !== undefined) {\n params = params.append(key, this.serializeValue(propVal));\n }\n }\n }\n else {\n // Append a single parameter whose values are a comma-separated list of key,value,key,value...\n const array = [];\n for (const key of Object.keys(this.value)) {\n const propVal = this.value[key];\n if (propVal !== null && propVal !== undefined) {\n array.push(key);\n array.push(propVal);\n }\n }\n params = params.append(this.name, this.serializeValue(array));\n }\n }\n else if (this.value !== null && this.value !== undefined) {\n // Plain value\n params = params.append(this.name, this.serializeValue(this.value));\n }\n return params;\n }\n}\n/**\n * A parameter in the HTTP request header\n */\nclass HeaderParameter extends Parameter {\n constructor(name, value, options) {\n super(name, value, options, 'simple', false);\n }\n append(headers) {\n if (this.value !== null && this.value !== undefined) {\n if (this.value instanceof Array) {\n for (const v of this.value) {\n headers = headers.append(this.name, this.serializeValue(v));\n }\n }\n else {\n headers = headers.append(this.name, this.serializeValue(this.value));\n }\n }\n return headers;\n }\n}\n/**\n * Helper to build http requests from parameters\n */\nclass RequestBuilder {\n constructor(rootUrl, operationPath, method) {\n this.rootUrl = rootUrl;\n this.operationPath = operationPath;\n this.method = method;\n this._path = new Map();\n this._query = new Map();\n this._header = new Map();\n }\n /**\n * Sets a path parameter\n */\n path(name, value, options) {\n this._path.set(name, new PathParameter(name, value, options || {}));\n }\n /**\n * Sets a query parameter\n */\n query(name, value, options) {\n this._query.set(name, new QueryParameter(name, value, options || {}));\n }\n /**\n * Sets a header parameter\n */\n header(name, value, options) {\n this._header.set(name, new HeaderParameter(name, value, options || {}));\n }\n /**\n * Sets the body content, along with the content type\n */\n body(value, contentType = 'application/json') {\n if (value instanceof Blob) {\n this._bodyContentType = value.type;\n }\n else {\n this._bodyContentType = contentType;\n }\n if (this._bodyContentType === 'application/x-www-form-urlencoded' && value !== null && typeof value === 'object') {\n // Handle URL-encoded data\n const pairs = [];\n for (const key of Object.keys(value)) {\n let val = value[key];\n if (!(val instanceof Array)) {\n val = [val];\n }\n for (const v of val) {\n const formValue = this.formDataValue(v);\n if (formValue !== null) {\n pairs.push([key, formValue]);\n }\n }\n }\n this._bodyContent = pairs.map(p => `${encodeURIComponent(p[0])}=${encodeURIComponent(p[1])}`).join('&');\n }\n else if (this._bodyContentType === 'multipart/form-data') {\n // Handle multipart form data\n const formData = new FormData();\n if (value !== null && value !== undefined) {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (val instanceof Array) {\n for (const v of val) {\n const toAppend = this.formDataValue(v);\n if (toAppend !== null) {\n formData.append(key, toAppend);\n }\n }\n }\n else {\n const toAppend = this.formDataValue(val);\n if (toAppend !== null) {\n formData.set(key, toAppend);\n }\n }\n }\n }\n this._bodyContent = formData;\n }\n else {\n // The body is the plain content\n this._bodyContent = value;\n }\n }\n formDataValue(value) {\n if (value === null || value === undefined) {\n return null;\n }\n if (value instanceof Blob) {\n return value;\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n }\n /**\n * Builds the request with the current set parameters\n */\n build(options) {\n options = options || {};\n // Path parameters\n let path = this.operationPath;\n for (const pathParam of this._path.values()) {\n path = pathParam.append(path);\n }\n const url = this.rootUrl + path;\n // Query parameters\n let httpParams = new HttpParams({\n encoder: ParameterCodecInstance\n });\n for (const queryParam of this._query.values()) {\n httpParams = queryParam.append(httpParams);\n }\n // Header parameters\n let httpHeaders = new HttpHeaders();\n if (options.accept) {\n httpHeaders = httpHeaders.append('Accept', options.accept);\n }\n for (const headerParam of this._header.values()) {\n httpHeaders = headerParam.append(httpHeaders);\n }\n // Request content headers\n if (this._bodyContentType && !(this._bodyContent instanceof FormData)) {\n httpHeaders = httpHeaders.set('Content-Type', this._bodyContentType);\n }\n // Perform the request\n return new HttpRequest(this.method.toUpperCase(), url, this._bodyContent, {\n params: httpParams,\n headers: httpHeaders,\n responseType: options.responseType,\n reportProgress: options.reportProgress\n });\n }\n}\n\n/* tslint:disable */\nclass AcquisitionFlowsEnergySourcesSelectElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get a list of available energy sources with additional cost related to each energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getAcquisitionEnergySources()` instead.\n *\n * This method doesn't expect any request body.\n */\n getAcquisitionEnergySources$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AcquisitionFlowsEnergySourcesSelectElementService.GetAcquisitionEnergySourcesPath, 'get');\n if (params) {\n rb.query('callerId', params.callerId, {});\n rb.query('customerType', params.customerType, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get a list of available energy sources with additional cost related to each energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getAcquisitionEnergySources$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getAcquisitionEnergySources(params) {\n return this.getAcquisitionEnergySources$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getAcquisitionEnergySources\n */\nAcquisitionFlowsEnergySourcesSelectElementService.GetAcquisitionEnergySourcesPath = '/elements/flows-energy-source-select-acquisition-section';\nAcquisitionFlowsEnergySourcesSelectElementService.ɵfac = function AcquisitionFlowsEnergySourcesSelectElementService_Factory(t) { return new (t || AcquisitionFlowsEnergySourcesSelectElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nAcquisitionFlowsEnergySourcesSelectElementService.ɵprov = ɵɵdefineInjectable({ token: AcquisitionFlowsEnergySourcesSelectElementService, factory: AcquisitionFlowsEnergySourcesSelectElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(AcquisitionFlowsEnergySourcesSelectElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass AcquisitionFlowsProductSelectOptionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getAcquisitionProductForEnergySource()` instead.\n *\n * This method doesn't expect any request body.\n */\n getAcquisitionProductForEnergySource$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AcquisitionFlowsProductSelectOptionElementService.GetAcquisitionProductForEnergySourcePath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('callerId', params.callerId, {});\n rb.query('customerType', params.customerType, {});\n rb.query('energyArea', params.energyArea, {});\n rb.query('gridArea', params.gridArea, {});\n rb.query('estimatedKwhConsumption', params.estimatedKwhConsumption, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getAcquisitionProductForEnergySource$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getAcquisitionProductForEnergySource(params) {\n return this.getAcquisitionProductForEnergySource$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getAcquisitionProductForEnergySource\n */\nAcquisitionFlowsProductSelectOptionElementService.GetAcquisitionProductForEnergySourcePath = '/elements/flows-product-select-option/acquisition/products/{productId}';\nAcquisitionFlowsProductSelectOptionElementService.ɵfac = function AcquisitionFlowsProductSelectOptionElementService_Factory(t) { return new (t || AcquisitionFlowsProductSelectOptionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nAcquisitionFlowsProductSelectOptionElementService.ɵprov = ɵɵdefineInjectable({ token: AcquisitionFlowsProductSelectOptionElementService, factory: AcquisitionFlowsProductSelectOptionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(AcquisitionFlowsProductSelectOptionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass AssentlyConsumptionPowerOfAttorneyCallbackService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * When a case status is updated assently will call this endpoint and we will process the update if applicable.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `assentlyConsumptionPowerOfAttorneyCallbackPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n assentlyConsumptionPowerOfAttorneyCallbackPost$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AssentlyConsumptionPowerOfAttorneyCallbackService.AssentlyConsumptionPowerOfAttorneyCallbackPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'text',\n accept: '*/*'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: undefined });\n }));\n }\n /**\n * When a case status is updated assently will call this endpoint and we will process the update if applicable.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `assentlyConsumptionPowerOfAttorneyCallbackPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n assentlyConsumptionPowerOfAttorneyCallbackPost$Json(params) {\n return this.assentlyConsumptionPowerOfAttorneyCallbackPost$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * When a case status is updated assently will call this endpoint and we will process the update if applicable.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `assentlyConsumptionPowerOfAttorneyCallbackPost$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n assentlyConsumptionPowerOfAttorneyCallbackPost$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AssentlyConsumptionPowerOfAttorneyCallbackService.AssentlyConsumptionPowerOfAttorneyCallbackPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'text',\n accept: '*/*'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: undefined });\n }));\n }\n /**\n * When a case status is updated assently will call this endpoint and we will process the update if applicable.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `assentlyConsumptionPowerOfAttorneyCallbackPost$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n assentlyConsumptionPowerOfAttorneyCallbackPost$CspReport(params) {\n return this.assentlyConsumptionPowerOfAttorneyCallbackPost$CspReport$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation assentlyConsumptionPowerOfAttorneyCallbackPost\n */\nAssentlyConsumptionPowerOfAttorneyCallbackService.AssentlyConsumptionPowerOfAttorneyCallbackPostPath = '/assently-consumption-power-of-attorney-callback';\nAssentlyConsumptionPowerOfAttorneyCallbackService.ɵfac = function AssentlyConsumptionPowerOfAttorneyCallbackService_Factory(t) { return new (t || AssentlyConsumptionPowerOfAttorneyCallbackService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nAssentlyConsumptionPowerOfAttorneyCallbackService.ɵprov = ɵɵdefineInjectable({ token: AssentlyConsumptionPowerOfAttorneyCallbackService, factory: AssentlyConsumptionPowerOfAttorneyCallbackService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(AssentlyConsumptionPowerOfAttorneyCallbackService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass AverageSpotPriceService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the average spot prices for energy areas for given dates.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsAverageSpotPriceGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsAverageSpotPriceGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AverageSpotPriceService.ElementsAverageSpotPriceGetPath, 'get');\n if (params) {\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the average spot prices for energy areas for given dates.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsAverageSpotPriceGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsAverageSpotPriceGet(params) {\n return this.elementsAverageSpotPriceGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the postal code grid area element view model for the specified postal code.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsAverageSpotPricePostalCodesPostalCodeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsAverageSpotPricePostalCodesPostalCodeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AverageSpotPriceService.ElementsAverageSpotPricePostalCodesPostalCodeGetPath, 'get');\n if (params) {\n rb.path('postalCode', params.postalCode, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the postal code grid area element view model for the specified postal code.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsAverageSpotPricePostalCodesPostalCodeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsAverageSpotPricePostalCodesPostalCodeGet(params) {\n return this.elementsAverageSpotPricePostalCodesPostalCodeGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the postal code grid area element view model for the specified grid area.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsAverageSpotPriceGridAreasGridAreaGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsAverageSpotPriceGridAreasGridAreaGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, AverageSpotPriceService.ElementsAverageSpotPriceGridAreasGridAreaGetPath, 'get');\n if (params) {\n rb.path('gridArea', params.gridArea, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the postal code grid area element view model for the specified grid area.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsAverageSpotPriceGridAreasGridAreaGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsAverageSpotPriceGridAreasGridAreaGet(params) {\n return this.elementsAverageSpotPriceGridAreasGridAreaGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsAverageSpotPriceGet\n */\nAverageSpotPriceService.ElementsAverageSpotPriceGetPath = '/elements/average-spot-price';\n/**\n * Path part for operation elementsAverageSpotPricePostalCodesPostalCodeGet\n */\nAverageSpotPriceService.ElementsAverageSpotPricePostalCodesPostalCodeGetPath = '/elements/average-spot-price/postal-codes/{postalCode}';\n/**\n * Path part for operation elementsAverageSpotPriceGridAreasGridAreaGet\n */\nAverageSpotPriceService.ElementsAverageSpotPriceGridAreasGridAreaGetPath = '/elements/average-spot-price/grid-areas/{gridArea}';\nAverageSpotPriceService.ɵfac = function AverageSpotPriceService_Factory(t) { return new (t || AverageSpotPriceService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nAverageSpotPriceService.ɵprov = ɵɵdefineInjectable({ token: AverageSpotPriceService, factory: AverageSpotPriceService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(AverageSpotPriceService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass ChangeFlowsEnergySourcesSelectElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get a list of available energy sources with additional cost related to each energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getChangeEnergySources()` instead.\n *\n * This method doesn't expect any request body.\n */\n getChangeEnergySources$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, ChangeFlowsEnergySourcesSelectElementService.GetChangeEnergySourcesPath, 'get');\n if (params) {\n rb.query('premiseId', params.premiseId, {});\n rb.query('callerId', params.callerId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get a list of available energy sources with additional cost related to each energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getChangeEnergySources$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getChangeEnergySources(params) {\n return this.getChangeEnergySources$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getChangeEnergySources\n */\nChangeFlowsEnergySourcesSelectElementService.GetChangeEnergySourcesPath = '/elements/flows-energy-source-select-change-section';\nChangeFlowsEnergySourcesSelectElementService.ɵfac = function ChangeFlowsEnergySourcesSelectElementService_Factory(t) { return new (t || ChangeFlowsEnergySourcesSelectElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nChangeFlowsEnergySourcesSelectElementService.ɵprov = ɵɵdefineInjectable({ token: ChangeFlowsEnergySourcesSelectElementService, factory: ChangeFlowsEnergySourcesSelectElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(ChangeFlowsEnergySourcesSelectElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass ChangeFlowsProductSelectOptionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the product for a specific productId, premiseId, callerId and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getChangeProductForEnergySource()` instead.\n *\n * This method doesn't expect any request body.\n */\n getChangeProductForEnergySource$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, ChangeFlowsProductSelectOptionElementService.GetChangeProductForEnergySourcePath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('premiseId', params.premiseId, {});\n rb.query('callerId', params.callerId, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, premiseId, callerId and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getChangeProductForEnergySource$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getChangeProductForEnergySource(params) {\n return this.getChangeProductForEnergySource$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getChangeProductForEnergySource\n */\nChangeFlowsProductSelectOptionElementService.GetChangeProductForEnergySourcePath = '/elements/flows-product-select-option/change/products/{productId}';\nChangeFlowsProductSelectOptionElementService.ɵfac = function ChangeFlowsProductSelectOptionElementService_Factory(t) { return new (t || ChangeFlowsProductSelectOptionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nChangeFlowsProductSelectOptionElementService.ɵprov = ɵɵdefineInjectable({ token: ChangeFlowsProductSelectOptionElementService, factory: ChangeFlowsProductSelectOptionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(ChangeFlowsProductSelectOptionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass ClimateService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the outdoor temperature for the specified postal code.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsClimateTemperatureTimeSpanZipCodeZipCodeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsClimateTemperatureTimeSpanZipCodeZipCodeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, ClimateService.ElementsClimateTemperatureTimeSpanZipCodeZipCodeGetPath, 'get');\n if (params) {\n rb.path('timeSpan', params.timeSpan, {});\n rb.path('zipCode', params.zipCode, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the outdoor temperature for the specified postal code.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsClimateTemperatureTimeSpanZipCodeZipCodeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsClimateTemperatureTimeSpanZipCodeZipCodeGet(params) {\n return this.elementsClimateTemperatureTimeSpanZipCodeZipCodeGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsClimateTemperatureTimeSpanZipCodeZipCodeGet\n */\nClimateService.ElementsClimateTemperatureTimeSpanZipCodeZipCodeGetPath = '/elements/climate/temperature/{timeSpan}/zipCode/{zipCode}';\nClimateService.ɵfac = function ClimateService_Factory(t) { return new (t || ClimateService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nClimateService.ɵprov = ɵɵdefineInjectable({ token: ClimateService, factory: ClimateService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(ClimateService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass CspReportService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Content Security Report uri end-point.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `apiCspReportReportUriPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n apiCspReportReportUriPost$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, CspReportService.ApiCspReportReportUriPostPath, 'post');\n if (params) {\n rb.query('key', params.key, {});\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Content Security Report uri end-point.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `apiCspReportReportUriPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n apiCspReportReportUriPost$Json(params) {\n return this.apiCspReportReportUriPost$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Content Security Report uri end-point.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `apiCspReportReportUriPost$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n apiCspReportReportUriPost$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, CspReportService.ApiCspReportReportUriPostPath, 'post');\n if (params) {\n rb.query('key', params.key, {});\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Content Security Report uri end-point.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `apiCspReportReportUriPost$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n apiCspReportReportUriPost$CspReport(params) {\n return this.apiCspReportReportUriPost$CspReport$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation apiCspReportReportUriPost\n */\nCspReportService.ApiCspReportReportUriPostPath = '/api/csp-report/report-uri';\nCspReportService.ɵfac = function CspReportService_Factory(t) { return new (t || CspReportService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nCspReportService.ɵprov = ɵɵdefineInjectable({ token: CspReportService, factory: CspReportService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(CspReportService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass DynamicDataTableService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the price lists for open pages.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsDynamicDataTablePriceListTypesTypeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsDynamicDataTablePriceListTypesTypeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, DynamicDataTableService.ElementsDynamicDataTablePriceListTypesTypeGetPath, 'get');\n if (params) {\n rb.path('type', params.type, {});\n rb.query('productId', params.productId, {});\n rb.query('energyArea', params.energyArea, {});\n rb.query('energySource', params.energySource, {});\n rb.query('consumption', params.consumption, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the price lists for open pages.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsDynamicDataTablePriceListTypesTypeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsDynamicDataTablePriceListTypesTypeGet(params) {\n return this.elementsDynamicDataTablePriceListTypesTypeGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsDynamicDataTablePriceListTypesTypeGet\n */\nDynamicDataTableService.ElementsDynamicDataTablePriceListTypesTypeGetPath = '/elements/dynamic-data-table/price-list/types/{type}';\nDynamicDataTableService.ɵfac = function DynamicDataTableService_Factory(t) { return new (t || DynamicDataTableService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nDynamicDataTableService.ɵprov = ɵɵdefineInjectable({ token: DynamicDataTableService, factory: DynamicDataTableService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(DynamicDataTableService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlexAppService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * FLEX - Get temperatures for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionClimateTemperaturePremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionClimateTemperaturePremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionClimateTemperaturePremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get temperatures for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionClimateTemperaturePremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionClimateTemperaturePremisesPremiseIdGet(params) {\n return this.flexVVersionClimateTemperaturePremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get latest temperature and wind information for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionClimateLatestWeatherInfoPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionClimateLatestWeatherInfoPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionClimateLatestWeatherInfoPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get latest temperature and wind information for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionClimateLatestWeatherInfoPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionClimateLatestWeatherInfoPremisesPremiseIdGet(params) {\n return this.flexVVersionClimateLatestWeatherInfoPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get latest temperature and wind information for a zip code.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionClimateLatestWeatherInfoZipCodeZipCodeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionClimateLatestWeatherInfoZipCodeZipCodeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionClimateLatestWeatherInfoZipCodeZipCodeGetPath, 'get');\n if (params) {\n rb.path('zipCode', params.zipCode, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get latest temperature and wind information for a zip code.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionClimateLatestWeatherInfoZipCodeZipCodeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionClimateLatestWeatherInfoZipCodeZipCodeGet(params) {\n return this.flexVVersionClimateLatestWeatherInfoZipCodeZipCodeGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get electricity consumption for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionConsumptionPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionConsumptionPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionConsumptionPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n rb.query('dataSourceOption', params.dataSourceOption, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get electricity consumption for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionConsumptionPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionConsumptionPremisesPremiseIdGet(params) {\n return this.flexVVersionConsumptionPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get cost for consumption for a premise for a given resolution.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionConsumptionCostPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionConsumptionCostPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionConsumptionCostPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n rb.query('dataSourceOption', params.dataSourceOption, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get cost for consumption for a premise for a given resolution.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionConsumptionCostPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionConsumptionCostPremisesPremiseIdGet(params) {\n return this.flexVVersionConsumptionCostPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get all renewable premises associated with the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionContractChangeFlowsRenewablePremisesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionContractChangeFlowsRenewablePremisesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionContractChangeFlowsRenewablePremisesGetPath, 'get');\n if (params) {\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get all renewable premises associated with the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionContractChangeFlowsRenewablePremisesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionContractChangeFlowsRenewablePremisesGet(params) {\n return this.flexVVersionContractChangeFlowsRenewablePremisesGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get the contracts for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionContractsPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionContractsPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionContractsPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('includeFutureContracts', params.includeFutureContracts, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get the contracts for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionContractsPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionContractsPremisesPremiseIdGet(params) {\n return this.flexVVersionContractsPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get invoice settings information for a premise for the logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionCustomersInvoiceSettingsPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionCustomersInvoiceSettingsPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionCustomersInvoiceSettingsPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get invoice settings information for a premise for the logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionCustomersInvoiceSettingsPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionCustomersInvoiceSettingsPremisesPremiseIdGet(params) {\n return this.flexVVersionCustomersInvoiceSettingsPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionHourlySpotPricesPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionHourlySpotPricesPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionHourlySpotPricesPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionHourlySpotPricesPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionHourlySpotPricesPremisesPremiseIdGet(params) {\n return this.flexVVersionHourlySpotPricesPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get customer specific hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get customer specific hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGet(params) {\n return this.flexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get hourly spot prices for energy area.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionHourlySpotPricesEnergyAreaEnergyAreaGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionHourlySpotPricesEnergyAreaEnergyAreaGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionHourlySpotPricesEnergyAreaEnergyAreaGetPath, 'get');\n if (params) {\n rb.path('energyArea', params.energyArea, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get hourly spot prices for energy area.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionHourlySpotPricesEnergyAreaEnergyAreaGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionHourlySpotPricesEnergyAreaEnergyAreaGet(params) {\n return this.flexVVersionHourlySpotPricesEnergyAreaEnergyAreaGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get the invoices for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionInvoicesPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionInvoicesPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionInvoicesPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get the invoices for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionInvoicesPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionInvoicesPremisesPremiseIdGet(params) {\n return this.flexVVersionInvoicesPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get the invoice file content for the specified invoice id for the customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionInvoicesArchiveDocumentIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionInvoicesArchiveDocumentIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionInvoicesArchiveDocumentIdGetPath, 'get');\n if (params) {\n rb.path('archiveDocumentId', params.archiveDocumentId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get the invoice file content for the specified invoice id for the customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionInvoicesArchiveDocumentIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionInvoicesArchiveDocumentIdGet(params) {\n return this.flexVVersionInvoicesArchiveDocumentIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get measurement ranges for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get measurement ranges for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGet(params) {\n return this.flexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get measurement for premise for specified resolution, measurementType and start and end dates.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionMicroproductionPremisesPremiseIdMeasurementGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionMicroproductionPremisesPremiseIdMeasurementGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionMicroproductionPremisesPremiseIdMeasurementGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('resolution', params.resolution, {});\n rb.query('measurementType', params.measurementType, {});\n rb.query('startDate', params.startDate, {});\n rb.query('endDate', params.endDate, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get measurement for premise for specified resolution, measurementType and start and end dates.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionMicroproductionPremisesPremiseIdMeasurementGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionMicroproductionPremisesPremiseIdMeasurementGet(params) {\n return this.flexVVersionMicroproductionPremisesPremiseIdMeasurementGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get customer premises information.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesGetPath, 'get');\n if (params) {\n rb.query('includeFutureContracts', params.includeFutureContracts, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get customer premises information.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesGet(params) {\n return this.flexVVersionPremisesGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get energy area of the specified premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPremiseIdEnergyAreaGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdEnergyAreaGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPremiseIdEnergyAreaGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get energy area of the specified premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPremiseIdEnergyAreaGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdEnergyAreaGet(params) {\n return this.flexVVersionPremisesPremiseIdEnergyAreaGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get contract type of the specified premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPremiseIdContractTypeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdContractTypeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPremiseIdContractTypeGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get contract type of the specified premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPremiseIdContractTypeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdContractTypeGet(params) {\n return this.flexVVersionPremisesPremiseIdContractTypeGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get contract type of the specified premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPremiseIdGridOwnerGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdGridOwnerGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPremiseIdGridOwnerGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get contract type of the specified premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPremiseIdGridOwnerGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdGridOwnerGet(params) {\n return this.flexVVersionPremisesPremiseIdGridOwnerGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get electricity start date for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPremiseIdElectricityStartDateGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdElectricityStartDateGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPremiseIdElectricityStartDateGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get electricity start date for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPremiseIdElectricityStartDateGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdElectricityStartDateGet(params) {\n return this.flexVVersionPremisesPremiseIdElectricityStartDateGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get available resolution for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPremiseIdResolutionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdResolutionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPremiseIdResolutionGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get available resolution for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPremiseIdResolutionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdResolutionGet(params) {\n return this.flexVVersionPremisesPremiseIdResolutionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get position of a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPremiseIdPositionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdPositionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPremiseIdPositionGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get position of a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPremiseIdPositionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPremiseIdPositionGet(params) {\n return this.flexVVersionPremisesPremiseIdPositionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get position of a zipcode.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPremisesPositionZipCodeZipCodeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPositionZipCodeZipCodeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionPremisesPositionZipCodeZipCodeGetPath, 'get');\n if (params) {\n rb.path('zipCode', params.zipCode, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get position of a zipcode.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPremisesPositionZipCodeZipCodeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPremisesPositionZipCodeZipCodeGet(params) {\n return this.flexVVersionPremisesPositionZipCodeZipCodeGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get profile information for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionProfileGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionProfileGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionProfileGetPath, 'get');\n if (params) {\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get profile information for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionProfileGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionProfileGet(params) {\n return this.flexVVersionProfileGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Get logged in customer detail information.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionProfileSummaryGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionProfileSummaryGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionProfileSummaryGetPath, 'get');\n if (params) {\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Get logged in customer detail information.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionProfileSummaryGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionProfileSummaryGet(params) {\n return this.flexVVersionProfileSummaryGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * FLEX - Check whether the user is a Guest User.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionUsersRoleGuestGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionUsersRoleGuestGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppService.FlexVVersionUsersRoleGuestGetPath, 'get');\n if (params) {\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * FLEX - Check whether the user is a Guest User.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionUsersRoleGuestGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionUsersRoleGuestGet(params) {\n return this.flexVVersionUsersRoleGuestGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation flexVVersionClimateTemperaturePremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionClimateTemperaturePremisesPremiseIdGetPath = '/flex/v{version}/climate/temperature/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionClimateLatestWeatherInfoPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionClimateLatestWeatherInfoPremisesPremiseIdGetPath = '/flex/v{version}/climate/latest-weather-info/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionClimateLatestWeatherInfoZipCodeZipCodeGet\n */\nFlexAppService.FlexVVersionClimateLatestWeatherInfoZipCodeZipCodeGetPath = '/flex/v{version}/climate/latest-weather-info/zipCode/{zipCode}';\n/**\n * Path part for operation flexVVersionConsumptionPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionConsumptionPremisesPremiseIdGetPath = '/flex/v{version}/consumption/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionConsumptionCostPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionConsumptionCostPremisesPremiseIdGetPath = '/flex/v{version}/consumption/cost/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionContractChangeFlowsRenewablePremisesGet\n */\nFlexAppService.FlexVVersionContractChangeFlowsRenewablePremisesGetPath = '/flex/v{version}/contract-change-flows/renewable-premises';\n/**\n * Path part for operation flexVVersionContractsPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionContractsPremisesPremiseIdGetPath = '/flex/v{version}/contracts/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionCustomersInvoiceSettingsPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionCustomersInvoiceSettingsPremisesPremiseIdGetPath = '/flex/v{version}/customers/invoice-settings/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionHourlySpotPricesPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionHourlySpotPricesPremisesPremiseIdGetPath = '/flex/v{version}/hourly-spot-prices/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionHourlySpotPricesCustomerSpecificPremisesPremiseIdGetPath = '/flex/v{version}/hourly-spot-prices/customer-specific/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionHourlySpotPricesEnergyAreaEnergyAreaGet\n */\nFlexAppService.FlexVVersionHourlySpotPricesEnergyAreaEnergyAreaGetPath = '/flex/v{version}/hourly-spot-prices/energy-area/{energyArea}';\n/**\n * Path part for operation flexVVersionInvoicesPremisesPremiseIdGet\n */\nFlexAppService.FlexVVersionInvoicesPremisesPremiseIdGetPath = '/flex/v{version}/invoices/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionInvoicesArchiveDocumentIdGet\n */\nFlexAppService.FlexVVersionInvoicesArchiveDocumentIdGetPath = '/flex/v{version}/invoices/{archiveDocumentId}';\n/**\n * Path part for operation flexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGet\n */\nFlexAppService.FlexVVersionMicroproductionPremisesPremiseIdMeasurementRangesGetPath = '/flex/v{version}/microproduction/premises/{premiseId}/measurement-ranges';\n/**\n * Path part for operation flexVVersionMicroproductionPremisesPremiseIdMeasurementGet\n */\nFlexAppService.FlexVVersionMicroproductionPremisesPremiseIdMeasurementGetPath = '/flex/v{version}/microproduction/premises/{premiseId}/measurement';\n/**\n * Path part for operation flexVVersionPremisesGet\n */\nFlexAppService.FlexVVersionPremisesGetPath = '/flex/v{version}/premises';\n/**\n * Path part for operation flexVVersionPremisesPremiseIdEnergyAreaGet\n */\nFlexAppService.FlexVVersionPremisesPremiseIdEnergyAreaGetPath = '/flex/v{version}/premises/{premiseId}/energy-area';\n/**\n * Path part for operation flexVVersionPremisesPremiseIdContractTypeGet\n */\nFlexAppService.FlexVVersionPremisesPremiseIdContractTypeGetPath = '/flex/v{version}/premises/{premiseId}/contract-type';\n/**\n * Path part for operation flexVVersionPremisesPremiseIdGridOwnerGet\n */\nFlexAppService.FlexVVersionPremisesPremiseIdGridOwnerGetPath = '/flex/v{version}/premises/{premiseId}/grid-owner';\n/**\n * Path part for operation flexVVersionPremisesPremiseIdElectricityStartDateGet\n */\nFlexAppService.FlexVVersionPremisesPremiseIdElectricityStartDateGetPath = '/flex/v{version}/premises/{premiseId}/electricity-start-date';\n/**\n * Path part for operation flexVVersionPremisesPremiseIdResolutionGet\n */\nFlexAppService.FlexVVersionPremisesPremiseIdResolutionGetPath = '/flex/v{version}/premises/{premiseId}/resolution';\n/**\n * Path part for operation flexVVersionPremisesPremiseIdPositionGet\n */\nFlexAppService.FlexVVersionPremisesPremiseIdPositionGetPath = '/flex/v{version}/premises/{premiseId}/position';\n/**\n * Path part for operation flexVVersionPremisesPositionZipCodeZipCodeGet\n */\nFlexAppService.FlexVVersionPremisesPositionZipCodeZipCodeGetPath = '/flex/v{version}/premises/position/zip-code/{zipCode}';\n/**\n * Path part for operation flexVVersionProfileGet\n */\nFlexAppService.FlexVVersionProfileGetPath = '/flex/v{version}/profile';\n/**\n * Path part for operation flexVVersionProfileSummaryGet\n */\nFlexAppService.FlexVVersionProfileSummaryGetPath = '/flex/v{version}/profile/summary';\n/**\n * Path part for operation flexVVersionUsersRoleGuestGet\n */\nFlexAppService.FlexVVersionUsersRoleGuestGetPath = '/flex/v{version}/users/role/guest';\nFlexAppService.ɵfac = function FlexAppService_Factory(t) { return new (t || FlexAppService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlexAppService.ɵprov = ɵɵdefineInjectable({ token: FlexAppService, factory: FlexAppService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlexAppService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlexAppPowerOfAttorneyService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get power of attorney status for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPowerOfAttorneyPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPowerOfAttorneyPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppPowerOfAttorneyService.FlexVVersionPowerOfAttorneyPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get power of attorney status for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPowerOfAttorneyPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPowerOfAttorneyPremisesPremiseIdGet(params) {\n return this.flexVVersionPowerOfAttorneyPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Start power of attorney process for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `flexVVersionPowerOfAttorneyPremisesPremiseIdPut()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPowerOfAttorneyPremisesPremiseIdPut$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlexAppPowerOfAttorneyService.FlexVVersionPowerOfAttorneyPremisesPremiseIdPutPath, 'put');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.path('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Start power of attorney process for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `flexVVersionPowerOfAttorneyPremisesPremiseIdPut$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n flexVVersionPowerOfAttorneyPremisesPremiseIdPut(params) {\n return this.flexVVersionPowerOfAttorneyPremisesPremiseIdPut$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation flexVVersionPowerOfAttorneyPremisesPremiseIdGet\n */\nFlexAppPowerOfAttorneyService.FlexVVersionPowerOfAttorneyPremisesPremiseIdGetPath = '/flex/v{version}/power-of-attorney/premises/{premiseId}';\n/**\n * Path part for operation flexVVersionPowerOfAttorneyPremisesPremiseIdPut\n */\nFlexAppPowerOfAttorneyService.FlexVVersionPowerOfAttorneyPremisesPremiseIdPutPath = '/flex/v{version}/power-of-attorney/premises/{premiseId}';\nFlexAppPowerOfAttorneyService.ɵfac = function FlexAppPowerOfAttorneyService_Factory(t) { return new (t || FlexAppPowerOfAttorneyService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlexAppPowerOfAttorneyService.ɵprov = ɵɵdefineInjectable({ token: FlexAppPowerOfAttorneyService, factory: FlexAppPowerOfAttorneyService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlexAppPowerOfAttorneyService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsAcquisitionBusinessCheckoutService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsAcquisitionBusinessCheckoutService.ElementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGetPath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('callerId', params.callerId, {});\n rb.query('gridArea', params.gridArea, {});\n rb.query('estimatedKwhConsumption', params.estimatedKwhConsumption, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet(params) {\n return this.elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsAcquisitionBusinessCheckoutService.ElementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost(params) {\n return this.elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGet\n */\nFlowsAcquisitionBusinessCheckoutService.ElementsFlowsAcquisitionBusinessSwedenCheckoutProductsProductIdGetPath = '/elements/flows-acquisition-business-sweden-checkout/products/{productId}';\n/**\n * Path part for operation elementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPost\n */\nFlowsAcquisitionBusinessCheckoutService.ElementsFlowsAcquisitionBusinessSwedenCheckoutOrdersPostPath = '/elements/flows-acquisition-business-sweden-checkout/orders';\nFlowsAcquisitionBusinessCheckoutService.ɵfac = function FlowsAcquisitionBusinessCheckoutService_Factory(t) { return new (t || FlowsAcquisitionBusinessCheckoutService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsAcquisitionBusinessCheckoutService.ɵprov = ɵɵdefineInjectable({ token: FlowsAcquisitionBusinessCheckoutService, factory: FlowsAcquisitionBusinessCheckoutService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsAcquisitionBusinessCheckoutService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsAcquisitionPrivateCheckoutService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get a list of allowed e-invoice banks.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsAcquisitionPrivateCheckoutService.ElementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get a list of allowed e-invoice banks.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet(params) {\n return this.elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsAcquisitionPrivateCheckoutService.ElementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGetPath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('callerId', params.callerId, {});\n rb.query('energyArea', params.energyArea, {});\n rb.query('gridArea', params.gridArea, {});\n rb.query('estimatedKwhConsumption', params.estimatedKwhConsumption, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet(params) {\n return this.elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsAcquisitionPrivateCheckoutService.ElementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost(params) {\n return this.elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet\n */\nFlowsAcquisitionPrivateCheckoutService.ElementsFlowsAcquisitionPrivateSwedenCheckoutInvoiceSettingsPaymentBanksGetPath = '/elements/flows-acquisition-private-sweden-checkout/invoice-settings/payment/banks';\n/**\n * Path part for operation elementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGet\n */\nFlowsAcquisitionPrivateCheckoutService.ElementsFlowsAcquisitionPrivateSwedenCheckoutProductsProductIdGetPath = '/elements/flows-acquisition-private-sweden-checkout/products/{productId}';\n/**\n * Path part for operation elementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPost\n */\nFlowsAcquisitionPrivateCheckoutService.ElementsFlowsAcquisitionPrivateSwedenCheckoutOrdersPostPath = '/elements/flows-acquisition-private-sweden-checkout/orders';\nFlowsAcquisitionPrivateCheckoutService.ɵfac = function FlowsAcquisitionPrivateCheckoutService_Factory(t) { return new (t || FlowsAcquisitionPrivateCheckoutService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsAcquisitionPrivateCheckoutService.ɵprov = ɵɵdefineInjectable({ token: FlowsAcquisitionPrivateCheckoutService, factory: FlowsAcquisitionPrivateCheckoutService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsAcquisitionPrivateCheckoutService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsChangeContractCheckoutService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsChangeContractSwedenCheckoutOrdersPost()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsChangeContractSwedenCheckoutOrdersPost$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsChangeContractCheckoutService.ElementsFlowsChangeContractSwedenCheckoutOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsChangeContractSwedenCheckoutOrdersPost$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsChangeContractSwedenCheckoutOrdersPost(params) {\n return this.elementsFlowsChangeContractSwedenCheckoutOrdersPost$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsChangeContractSwedenCheckoutOrdersPost\n */\nFlowsChangeContractCheckoutService.ElementsFlowsChangeContractSwedenCheckoutOrdersPostPath = '/elements/flows-change-contract-sweden-checkout/orders';\nFlowsChangeContractCheckoutService.ɵfac = function FlowsChangeContractCheckoutService_Factory(t) { return new (t || FlowsChangeContractCheckoutService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsChangeContractCheckoutService.ɵprov = ɵɵdefineInjectable({ token: FlowsChangeContractCheckoutService, factory: FlowsChangeContractCheckoutService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsChangeContractCheckoutService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsContractDetailsSectionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get details about the renewable contract for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsContractDetailsSectionPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsContractDetailsSectionPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsContractDetailsSectionElementService.ElementsFlowsContractDetailsSectionPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get details about the renewable contract for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsContractDetailsSectionPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsContractDetailsSectionPremisesPremiseIdGet(params) {\n return this.elementsFlowsContractDetailsSectionPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsContractDetailsSectionPremisesPremiseIdGet\n */\nFlowsContractDetailsSectionElementService.ElementsFlowsContractDetailsSectionPremisesPremiseIdGetPath = '/elements/flows-contract-details-section/premises/{premiseId}';\nFlowsContractDetailsSectionElementService.ɵfac = function FlowsContractDetailsSectionElementService_Factory(t) { return new (t || FlowsContractDetailsSectionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsContractDetailsSectionElementService.ɵprov = ɵɵdefineInjectable({ token: FlowsContractDetailsSectionElementService, factory: FlowsContractDetailsSectionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsContractDetailsSectionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsMoveAcquisitionPrivateSwitchService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get estimated yearly consumption values for a building type and for specific living areas.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsMoveAcquisitionPrivateSwitchService.ElementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGetPath, 'get');\n if (params) {\n rb.path('buildingType', params.buildingType, {});\n rb.query('postalCode', params.postalCode, {});\n rb.query('livingArea', params.livingArea, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get estimated yearly consumption values for a building type and for specific living areas.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet(params) {\n return this.elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGet\n */\nFlowsMoveAcquisitionPrivateSwitchService.ElementsFlowsMoveAcquisitionPrivateSwitchEstimatedConsumptionBuildingTypesBuildingTypeGetPath = '/elements/flows-move-acquisition-private-switch/estimated-consumption/building-types/{buildingType}';\nFlowsMoveAcquisitionPrivateSwitchService.ɵfac = function FlowsMoveAcquisitionPrivateSwitchService_Factory(t) { return new (t || FlowsMoveAcquisitionPrivateSwitchService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsMoveAcquisitionPrivateSwitchService.ɵprov = ɵɵdefineInjectable({ token: FlowsMoveAcquisitionPrivateSwitchService, factory: FlowsMoveAcquisitionPrivateSwitchService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsMoveAcquisitionPrivateSwitchService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsMoveBusinessCheckoutService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsMoveBusinessCheckoutService.ElementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGetPath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('callerId', params.callerId, {});\n rb.query('gridArea', params.gridArea, {});\n rb.query('estimatedKwhConsumption', params.estimatedKwhConsumption, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet(params) {\n return this.elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsMoveBusinessSwedenCheckoutOrdersPost()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsMoveBusinessSwedenCheckoutOrdersPost$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsMoveBusinessCheckoutService.ElementsFlowsMoveBusinessSwedenCheckoutOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsMoveBusinessSwedenCheckoutOrdersPost$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsMoveBusinessSwedenCheckoutOrdersPost(params) {\n return this.elementsFlowsMoveBusinessSwedenCheckoutOrdersPost$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGet\n */\nFlowsMoveBusinessCheckoutService.ElementsFlowsMoveBusinessSwedenCheckoutProductsProductIdGetPath = '/elements/flows-move-business-sweden-checkout/products/{productId}';\n/**\n * Path part for operation elementsFlowsMoveBusinessSwedenCheckoutOrdersPost\n */\nFlowsMoveBusinessCheckoutService.ElementsFlowsMoveBusinessSwedenCheckoutOrdersPostPath = '/elements/flows-move-business-sweden-checkout/orders';\nFlowsMoveBusinessCheckoutService.ɵfac = function FlowsMoveBusinessCheckoutService_Factory(t) { return new (t || FlowsMoveBusinessCheckoutService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsMoveBusinessCheckoutService.ɵprov = ɵɵdefineInjectable({ token: FlowsMoveBusinessCheckoutService, factory: FlowsMoveBusinessCheckoutService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsMoveBusinessCheckoutService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsMovePrivateCheckoutService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get a list of allowed e-invoice banks.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsMovePrivateCheckoutService.ElementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get a list of allowed e-invoice banks.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet(params) {\n return this.elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsMovePrivateCheckoutService.ElementsFlowsMovePrivateSwedenCheckoutProductsProductIdGetPath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('callerId', params.callerId, {});\n rb.query('energyArea', params.energyArea, {});\n rb.query('gridArea', params.gridArea, {});\n rb.query('estimatedKwhConsumption', params.estimatedKwhConsumption, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, callerId, customerType, gridArea, estimatedKwhConsumption and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet(params) {\n return this.elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsMovePrivateSwedenCheckoutOrdersPost()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsMovePrivateSwedenCheckoutOrdersPost$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsMovePrivateCheckoutService.ElementsFlowsMovePrivateSwedenCheckoutOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsMovePrivateSwedenCheckoutOrdersPost$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsMovePrivateSwedenCheckoutOrdersPost(params) {\n return this.elementsFlowsMovePrivateSwedenCheckoutOrdersPost$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGet\n */\nFlowsMovePrivateCheckoutService.ElementsFlowsMovePrivateSwedenCheckoutInvoiceSettingsPaymentBanksGetPath = '/elements/flows-move-private-sweden-checkout/invoice-settings/payment/banks';\n/**\n * Path part for operation elementsFlowsMovePrivateSwedenCheckoutProductsProductIdGet\n */\nFlowsMovePrivateCheckoutService.ElementsFlowsMovePrivateSwedenCheckoutProductsProductIdGetPath = '/elements/flows-move-private-sweden-checkout/products/{productId}';\n/**\n * Path part for operation elementsFlowsMovePrivateSwedenCheckoutOrdersPost\n */\nFlowsMovePrivateCheckoutService.ElementsFlowsMovePrivateSwedenCheckoutOrdersPostPath = '/elements/flows-move-private-sweden-checkout/orders';\nFlowsMovePrivateCheckoutService.ɵfac = function FlowsMovePrivateCheckoutService_Factory(t) { return new (t || FlowsMovePrivateCheckoutService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsMovePrivateCheckoutService.ɵprov = ɵɵdefineInjectable({ token: FlowsMovePrivateCheckoutService, factory: FlowsMovePrivateCheckoutService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsMovePrivateCheckoutService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsNewContractDetailsSectionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get possible delivery start and end dates for acquisition flow or move flow.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsNewContractDetailsSectionDeliverydatesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsNewContractDetailsSectionDeliverydatesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsNewContractDetailsSectionElementService.ElementsFlowsNewContractDetailsSectionDeliverydatesGetPath, 'get');\n if (params) {\n rb.query('isMoveFlow', params.isMoveFlow, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get possible delivery start and end dates for acquisition flow or move flow.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsNewContractDetailsSectionDeliverydatesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsNewContractDetailsSectionDeliverydatesGet(params) {\n return this.elementsFlowsNewContractDetailsSectionDeliverydatesGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsNewContractDetailsSectionDeliverydatesGet\n */\nFlowsNewContractDetailsSectionElementService.ElementsFlowsNewContractDetailsSectionDeliverydatesGetPath = '/elements/flows-new-contract-details-section/deliverydates';\nFlowsNewContractDetailsSectionElementService.ɵfac = function FlowsNewContractDetailsSectionElementService_Factory(t) { return new (t || FlowsNewContractDetailsSectionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsNewContractDetailsSectionElementService.ɵprov = ɵɵdefineInjectable({ token: FlowsNewContractDetailsSectionElementService, factory: FlowsNewContractDetailsSectionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsNewContractDetailsSectionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsPremiseContractSummaryElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get premise- and contract- summary information for a given premise owned by the logged in customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsPremiseContractSummaryPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremiseContractSummaryPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsPremiseContractSummaryElementService.ElementsFlowsPremiseContractSummaryPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get premise- and contract- summary information for a given premise owned by the logged in customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsPremiseContractSummaryPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremiseContractSummaryPremisesPremiseIdGet(params) {\n return this.elementsFlowsPremiseContractSummaryPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsPremiseContractSummaryPremisesPremiseIdGet\n */\nFlowsPremiseContractSummaryElementService.ElementsFlowsPremiseContractSummaryPremisesPremiseIdGetPath = '/elements/flows-premise-contract-summary/premises/{premiseId}';\nFlowsPremiseContractSummaryElementService.ɵfac = function FlowsPremiseContractSummaryElementService_Factory(t) { return new (t || FlowsPremiseContractSummaryElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsPremiseContractSummaryElementService.ɵprov = ɵɵdefineInjectable({ token: FlowsPremiseContractSummaryElementService, factory: FlowsPremiseContractSummaryElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsPremiseContractSummaryElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsPremisesSelectElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get all renewable premises associated with the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsPremisesSelectRenewalGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremisesSelectRenewalGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsPremisesSelectElementService.ElementsFlowsPremisesSelectRenewalGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get all renewable premises associated with the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsPremisesSelectRenewalGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremisesSelectRenewalGet(params) {\n return this.elementsFlowsPremisesSelectRenewalGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get all premises eligible for winter assurance associated with the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsPremisesSelectWinterAssuranceGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremisesSelectWinterAssuranceGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsPremisesSelectElementService.ElementsFlowsPremisesSelectWinterAssuranceGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get all premises eligible for winter assurance associated with the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsPremisesSelectWinterAssuranceGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremisesSelectWinterAssuranceGet(params) {\n return this.elementsFlowsPremisesSelectWinterAssuranceGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get all premises eligible for product change associated with the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsPremisesSelectChangeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremisesSelectChangeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsPremisesSelectElementService.ElementsFlowsPremisesSelectChangeGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get all premises eligible for product change associated with the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsPremisesSelectChangeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsPremisesSelectChangeGet(params) {\n return this.elementsFlowsPremisesSelectChangeGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsPremisesSelectRenewalGet\n */\nFlowsPremisesSelectElementService.ElementsFlowsPremisesSelectRenewalGetPath = '/elements/flows-premises-select/renewal';\n/**\n * Path part for operation elementsFlowsPremisesSelectWinterAssuranceGet\n */\nFlowsPremisesSelectElementService.ElementsFlowsPremisesSelectWinterAssuranceGetPath = '/elements/flows-premises-select/winter-assurance';\n/**\n * Path part for operation elementsFlowsPremisesSelectChangeGet\n */\nFlowsPremisesSelectElementService.ElementsFlowsPremisesSelectChangeGetPath = '/elements/flows-premises-select/change';\nFlowsPremisesSelectElementService.ɵfac = function FlowsPremisesSelectElementService_Factory(t) { return new (t || FlowsPremisesSelectElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsPremisesSelectElementService.ɵprov = ɵɵdefineInjectable({ token: FlowsPremisesSelectElementService, factory: FlowsPremisesSelectElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsPremisesSelectElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsProductAddonsSectionViewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get contact information for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsProductAddonsSectionCustomerContactInformationGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsProductAddonsSectionCustomerContactInformationGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsProductAddonsSectionViewElementService.ElementsFlowsProductAddonsSectionCustomerContactInformationGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get contact information for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsProductAddonsSectionCustomerContactInformationGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsFlowsProductAddonsSectionCustomerContactInformationGet(params) {\n return this.elementsFlowsProductAddonsSectionCustomerContactInformationGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsProductAddonsSectionCustomerContactInformationGet\n */\nFlowsProductAddonsSectionViewElementService.ElementsFlowsProductAddonsSectionCustomerContactInformationGetPath = '/elements/flows-product-addons-section/customer/contact-information';\nFlowsProductAddonsSectionViewElementService.ɵfac = function FlowsProductAddonsSectionViewElementService_Factory(t) { return new (t || FlowsProductAddonsSectionViewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsProductAddonsSectionViewElementService.ɵprov = ɵɵdefineInjectable({ token: FlowsProductAddonsSectionViewElementService, factory: FlowsProductAddonsSectionViewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsProductAddonsSectionViewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass FlowsSubmitRenewalOrderElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsSubmitRenewalSectionOrdersPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsFlowsSubmitRenewalSectionOrdersPost$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsSubmitRenewalOrderElementService.ElementsFlowsSubmitRenewalSectionOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsSubmitRenewalSectionOrdersPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsFlowsSubmitRenewalSectionOrdersPost$Json(params) {\n return this.elementsFlowsSubmitRenewalSectionOrdersPost$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsSubmitRenewalSectionOrdersPost$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsFlowsSubmitRenewalSectionOrdersPost$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, FlowsSubmitRenewalOrderElementService.ElementsFlowsSubmitRenewalSectionOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsSubmitRenewalSectionOrdersPost$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsFlowsSubmitRenewalSectionOrdersPost$CspReport(params) {\n return this.elementsFlowsSubmitRenewalSectionOrdersPost$CspReport$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsFlowsSubmitRenewalSectionOrdersPost\n */\nFlowsSubmitRenewalOrderElementService.ElementsFlowsSubmitRenewalSectionOrdersPostPath = '/elements/flows-submit-renewal-section/orders';\nFlowsSubmitRenewalOrderElementService.ɵfac = function FlowsSubmitRenewalOrderElementService_Factory(t) { return new (t || FlowsSubmitRenewalOrderElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nFlowsSubmitRenewalOrderElementService.ɵprov = ɵɵdefineInjectable({ token: FlowsSubmitRenewalOrderElementService, factory: FlowsSubmitRenewalOrderElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(FlowsSubmitRenewalOrderElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass HistoricalSpotPriceService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsHistoricalSpotPricePrivateCustomerGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsHistoricalSpotPricePrivateCustomerGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, HistoricalSpotPriceService.ElementsHistoricalSpotPricePrivateCustomerGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsHistoricalSpotPricePrivateCustomerGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsHistoricalSpotPricePrivateCustomerGet(params) {\n return this.elementsHistoricalSpotPricePrivateCustomerGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsHistoricalSpotPriceCompanyCustomerGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsHistoricalSpotPriceCompanyCustomerGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, HistoricalSpotPriceService.ElementsHistoricalSpotPriceCompanyCustomerGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsHistoricalSpotPriceCompanyCustomerGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsHistoricalSpotPriceCompanyCustomerGet(params) {\n return this.elementsHistoricalSpotPriceCompanyCustomerGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsHistoricalSpotPricePrivateCustomerGet\n */\nHistoricalSpotPriceService.ElementsHistoricalSpotPricePrivateCustomerGetPath = '/elements/historical-spot-price/private-customer';\n/**\n * Path part for operation elementsHistoricalSpotPriceCompanyCustomerGet\n */\nHistoricalSpotPriceService.ElementsHistoricalSpotPriceCompanyCustomerGetPath = '/elements/historical-spot-price/company-customer';\nHistoricalSpotPriceService.ɵfac = function HistoricalSpotPriceService_Factory(t) { return new (t || HistoricalSpotPriceService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nHistoricalSpotPriceService.ɵprov = ɵɵdefineInjectable({ token: HistoricalSpotPriceService, factory: HistoricalSpotPriceService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(HistoricalSpotPriceService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyConsumptionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get electricity start date for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdElectricityStartDateGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdElectricityStartDateGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdElectricityStartDateGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('resolution', params.resolution, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: parseFloat(String(r.body)) });\n }));\n }\n /**\n * Get electricity start date for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdElectricityStartDateGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdElectricityStartDateGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdElectricityStartDateGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get electricity resolution history for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdElectricityHistoryGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdElectricityHistoryGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdElectricityHistoryGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('resolution', params.resolution, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get electricity resolution history for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdElectricityHistoryGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdElectricityHistoryGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdElectricityHistoryGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get trading fee start date for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: parseFloat(String(r.body)) });\n }));\n }\n /**\n * Get trading fee start date for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get heat start date for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdHeatStartDateGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHeatStartDateGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHeatStartDateGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: parseFloat(String(r.body)) });\n }));\n }\n /**\n * Get heat start date for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdHeatStartDateGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHeatStartDateGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdHeatStartDateGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get if the premise is consuming electricity or not (if not it is producing electricity).\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: String(r.body) === 'true' });\n }));\n }\n /**\n * Get if the premise is consuming electricity or not (if not it is producing electricity).\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the grid owner of the specified premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdGridOwnerGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdGridOwnerGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdGridOwnerGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the grid owner of the specified premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdGridOwnerGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdGridOwnerGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdGridOwnerGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get energy area of the specified premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdEnergyAreaGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdEnergyAreaGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdEnergyAreaGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get energy area of the specified premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdEnergyAreaGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdEnergyAreaGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdEnergyAreaGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get available resolutions for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdResolutionsGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdResolutionsGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdResolutionsGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get available resolutions for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdResolutionsGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdResolutionsGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdResolutionsGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get electricity consumption for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdConsumptionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdConsumptionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdConsumptionGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get electricity consumption for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdConsumptionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdConsumptionGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdConsumptionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get heat consumption for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdHeatConsumptionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHeatConsumptionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHeatConsumptionGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n rb.query('consumptionType', params.consumptionType, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get heat consumption for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdHeatConsumptionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHeatConsumptionGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdHeatConsumptionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdHourlySpotPricesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHourlySpotPricesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHourlySpotPricesGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdHourlySpotPricesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHourlySpotPricesGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdHourlySpotPricesGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get customer specific hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get customer specific hourly spot prices for energy area where premise is located.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get cost for consumption for a premise for a given resolution.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdCostGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdCostGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdCostGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n rb.query('version', params.version, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get cost for consumption for a premise for a given resolution.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdCostGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdCostGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdCostGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get temperatures for a premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdTemperatureGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdTemperatureGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdTemperatureGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get temperatures for a premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdTemperatureGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdTemperatureGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdTemperatureGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get WAC(WeatherAdjustedConsumption-Normalårskorrigerad Förbrukning) Calculation for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n rb.query('resolution', params.resolution, {});\n rb.query('consumptionType', params.consumptionType, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get WAC(WeatherAdjustedConsumption-Normalårskorrigerad Förbrukning) Calculation for a premise for a given resolution and consumption type.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get power of attorney status for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get power of attorney status for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGet(params) {\n return this.elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Start power of attorney process for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPut()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPut$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPutPath, 'put');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Start power of attorney process for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPut$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPut(params) {\n return this.elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPut$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdElectricityStartDateGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdElectricityStartDateGetPath = '/elements/my-consumption/premises/{premiseId}/electricity-start-date';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdElectricityHistoryGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdElectricityHistoryGetPath = '/elements/my-consumption/premises/{premiseId}/electricity-history';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdTradingFeeStartDateGetPath = '/elements/my-consumption/premises/{premiseId}/trading-fee-start-date';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdHeatStartDateGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHeatStartDateGetPath = '/elements/my-consumption/premises/{premiseId}/heat-start-date';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdIsConsumingElectricityGetPath = '/elements/my-consumption/premises/{premiseId}/is-consuming-electricity';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdGridOwnerGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdGridOwnerGetPath = '/elements/my-consumption/premises/{premiseId}/grid-owner';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdEnergyAreaGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdEnergyAreaGetPath = '/elements/my-consumption/premises/{premiseId}/energy-area';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdResolutionsGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdResolutionsGetPath = '/elements/my-consumption/premises/{premiseId}/resolutions';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdConsumptionGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdConsumptionGetPath = '/elements/my-consumption/premises/{premiseId}/consumption';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdHeatConsumptionGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHeatConsumptionGetPath = '/elements/my-consumption/premises/{premiseId}/heat-consumption';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdHourlySpotPricesGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHourlySpotPricesGetPath = '/elements/my-consumption/premises/{premiseId}/hourly-spot-prices';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdCustomerSpecificHourlySpotPricesGetPath = '/elements/my-consumption/premises/{premiseId}/customer-specific-hourly-spot-prices';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdCostGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdCostGetPath = '/elements/my-consumption/premises/{premiseId}/cost';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdTemperatureGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdTemperatureGetPath = '/elements/my-consumption/premises/{premiseId}/temperature';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdHeatWacConsumptionGetPath = '/elements/my-consumption/premises/{premiseId}/heat-wac-consumption';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGet\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdPowerOfAttorneyGetPath = '/elements/my-consumption/premises/{premiseId}/power-of-attorney';\n/**\n * Path part for operation elementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPut\n */\nMyConsumptionElementService.ElementsMyConsumptionPremisesPremiseIdPowerOfAttorneyPutPath = '/elements/my-consumption/premises/{premiseId}/power-of-attorney';\nMyConsumptionElementService.ɵfac = function MyConsumptionElementService_Factory(t) { return new (t || MyConsumptionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyConsumptionElementService.ɵprov = ɵɵdefineInjectable({ token: MyConsumptionElementService, factory: MyConsumptionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyConsumptionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyConsumptionElementAnonymousService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get hourly spot prices for energy area.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyConsumptionElementAnonymousService.ElementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGetPath, 'get');\n if (params) {\n rb.path('energyArea', params.energyArea, {});\n rb.query('fromDate', params.fromDate, {});\n rb.query('toDate', params.toDate, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get hourly spot prices for energy area.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGet(params) {\n return this.elementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGet\n */\nMyConsumptionElementAnonymousService.ElementsMyConsumptionEnergyAreaEnergyAreaHourlySpotPricesGetPath = '/elements/my-consumption/energy-area/{energyArea}/hourly-spot-prices';\nMyConsumptionElementAnonymousService.ɵfac = function MyConsumptionElementAnonymousService_Factory(t) { return new (t || MyConsumptionElementAnonymousService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyConsumptionElementAnonymousService.ɵprov = ɵɵdefineInjectable({ token: MyConsumptionElementAnonymousService, factory: MyConsumptionElementAnonymousService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyConsumptionElementAnonymousService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyContactNotificationDialogueElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get contact information for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyContactNotificationDialogCustomerContactInformationGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContactNotificationDialogCustomerContactInformationGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyContactNotificationDialogueElementService.ElementsMyContactNotificationDialogCustomerContactInformationGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get contact information for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyContactNotificationDialogCustomerContactInformationGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContactNotificationDialogCustomerContactInformationGet(params) {\n return this.elementsMyContactNotificationDialogCustomerContactInformationGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information email and mobile number for the currently logged in user, without changing the notification flags or telephone number.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyContactNotificationDialogCustomerContactInformationPut()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsMyContactNotificationDialogCustomerContactInformationPut$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyContactNotificationDialogueElementService.ElementsMyContactNotificationDialogCustomerContactInformationPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information email and mobile number for the currently logged in user, without changing the notification flags or telephone number.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyContactNotificationDialogCustomerContactInformationPut$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsMyContactNotificationDialogCustomerContactInformationPut(params) {\n return this.elementsMyContactNotificationDialogCustomerContactInformationPut$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyContactNotificationDialogCustomerContactInformationGet\n */\nMyContactNotificationDialogueElementService.ElementsMyContactNotificationDialogCustomerContactInformationGetPath = '/elements/my-contact-notification-dialog/customer/contact-information';\n/**\n * Path part for operation elementsMyContactNotificationDialogCustomerContactInformationPut\n */\nMyContactNotificationDialogueElementService.ElementsMyContactNotificationDialogCustomerContactInformationPutPath = '/elements/my-contact-notification-dialog/customer/contact-information';\nMyContactNotificationDialogueElementService.ɵfac = function MyContactNotificationDialogueElementService_Factory(t) { return new (t || MyContactNotificationDialogueElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyContactNotificationDialogueElementService.ɵprov = ɵɵdefineInjectable({ token: MyContactNotificationDialogueElementService, factory: MyContactNotificationDialogueElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyContactNotificationDialogueElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyContractsElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the premise details for the specified premise id and premise type.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyContractsPremisesPremiseIdPremiseDetailsGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContractsPremisesPremiseIdPremiseDetailsGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyContractsElementService.ElementsMyContractsPremisesPremiseIdPremiseDetailsGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('premiseType', params.premiseType, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the premise details for the specified premise id and premise type.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyContractsPremisesPremiseIdPremiseDetailsGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContractsPremisesPremiseIdPremiseDetailsGet(params) {\n return this.elementsMyContractsPremisesPremiseIdPremiseDetailsGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get all contracts for the specified premise id and premise type.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyContractsPremisesPremiseIdContractsGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContractsPremisesPremiseIdContractsGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyContractsElementService.ElementsMyContractsPremisesPremiseIdContractsGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('premiseType', params.premiseType, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get all contracts for the specified premise id and premise type.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyContractsPremisesPremiseIdContractsGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContractsPremisesPremiseIdContractsGet(params) {\n return this.elementsMyContractsPremisesPremiseIdContractsGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyContractsPremisesPremiseIdPremiseDetailsGet\n */\nMyContractsElementService.ElementsMyContractsPremisesPremiseIdPremiseDetailsGetPath = '/elements/my-contracts/premises/{premiseId}/premise-details';\n/**\n * Path part for operation elementsMyContractsPremisesPremiseIdContractsGet\n */\nMyContractsElementService.ElementsMyContractsPremisesPremiseIdContractsGetPath = '/elements/my-contracts/premises/{premiseId}/contracts';\nMyContractsElementService.ɵfac = function MyContractsElementService_Factory(t) { return new (t || MyContractsElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyContractsElementService.ɵprov = ɵɵdefineInjectable({ token: MyContractsElementService, factory: MyContractsElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyContractsElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyContractsViewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the contracts for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyContractsViewPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContractsViewPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyContractsViewElementService.ElementsMyContractsViewPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('includeFutureContracts', params.includeFutureContracts, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the contracts for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyContractsViewPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyContractsViewPremisesPremiseIdGet(params) {\n return this.elementsMyContractsViewPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyContractsViewPremisesPremiseIdGet\n */\nMyContractsViewElementService.ElementsMyContractsViewPremisesPremiseIdGetPath = '/elements/my-contracts-view/premises/{premiseId}';\nMyContractsViewElementService.ɵfac = function MyContractsViewElementService_Factory(t) { return new (t || MyContractsViewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyContractsViewElementService.ɵprov = ɵɵdefineInjectable({ token: MyContractsViewElementService, factory: MyContractsViewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyContractsViewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyEnergyElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get measurement ranges for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyEnergyPremisesPremiseIdMeasurementRangesGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyEnergyPremisesPremiseIdMeasurementRangesGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyEnergyElementService.ElementsMyEnergyPremisesPremiseIdMeasurementRangesGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get measurement ranges for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyEnergyPremisesPremiseIdMeasurementRangesGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyEnergyPremisesPremiseIdMeasurementRangesGet(params) {\n return this.elementsMyEnergyPremisesPremiseIdMeasurementRangesGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get measurement for premise for specified resolution, measurementType and start and end dates.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyEnergyPremisesPremiseIdMeasurementGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyEnergyPremisesPremiseIdMeasurementGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyEnergyElementService.ElementsMyEnergyPremisesPremiseIdMeasurementGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('resolution', params.resolution, {});\n rb.query('measurementType', params.measurementType, {});\n rb.query('startDate', params.startDate, {});\n rb.query('endDate', params.endDate, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get measurement for premise for specified resolution, measurementType and start and end dates.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyEnergyPremisesPremiseIdMeasurementGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyEnergyPremisesPremiseIdMeasurementGet(params) {\n return this.elementsMyEnergyPremisesPremiseIdMeasurementGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyEnergyPremisesPremiseIdMeasurementRangesGet\n */\nMyEnergyElementService.ElementsMyEnergyPremisesPremiseIdMeasurementRangesGetPath = '/elements/my-energy/premises/{premiseId}/measurement-ranges';\n/**\n * Path part for operation elementsMyEnergyPremisesPremiseIdMeasurementGet\n */\nMyEnergyElementService.ElementsMyEnergyPremisesPremiseIdMeasurementGetPath = '/elements/my-energy/premises/{premiseId}/measurement';\nMyEnergyElementService.ɵfac = function MyEnergyElementService_Factory(t) { return new (t || MyEnergyElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyEnergyElementService.ɵprov = ɵɵdefineInjectable({ token: MyEnergyElementService, factory: MyEnergyElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyEnergyElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyInvoicesViewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the invoices for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyInvoicesViewPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyInvoicesViewPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyInvoicesViewElementService.ElementsMyInvoicesViewPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n rb.query('fromEpochTime', params.fromEpochTime, {});\n rb.query('toEpochTime', params.toEpochTime, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the invoices for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyInvoicesViewPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyInvoicesViewPremisesPremiseIdGet(params) {\n return this.elementsMyInvoicesViewPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the invoice file content for the specified invoice id for the customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyInvoicesViewInvoicesInvoiceIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyInvoicesViewInvoicesInvoiceIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyInvoicesViewElementService.ElementsMyInvoicesViewInvoicesInvoiceIdGetPath, 'get');\n if (params) {\n rb.path('invoiceId', params.invoiceId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the invoice file content for the specified invoice id for the customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyInvoicesViewInvoicesInvoiceIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyInvoicesViewInvoicesInvoiceIdGet(params) {\n return this.elementsMyInvoicesViewInvoicesInvoiceIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyInvoicesViewPremisesPremiseIdGet\n */\nMyInvoicesViewElementService.ElementsMyInvoicesViewPremisesPremiseIdGetPath = '/elements/my-invoices-view/premises/{premiseId}';\n/**\n * Path part for operation elementsMyInvoicesViewInvoicesInvoiceIdGet\n */\nMyInvoicesViewElementService.ElementsMyInvoicesViewInvoicesInvoiceIdGetPath = '/elements/my-invoices-view/invoices/{invoiceId}';\nMyInvoicesViewElementService.ɵfac = function MyInvoicesViewElementService_Factory(t) { return new (t || MyInvoicesViewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyInvoicesViewElementService.ɵprov = ɵɵdefineInjectable({ token: MyInvoicesViewElementService, factory: MyInvoicesViewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyInvoicesViewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyPagesLoginPageService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the my pages login customer view model for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `myPagesLoginPageCustomerGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n myPagesLoginPageCustomerGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyPagesLoginPageService.MyPagesLoginPageCustomerGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the my pages login customer view model for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `myPagesLoginPageCustomerGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n myPagesLoginPageCustomerGet(params) {\n return this.myPagesLoginPageCustomerGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation myPagesLoginPageCustomerGet\n */\nMyPagesLoginPageService.MyPagesLoginPageCustomerGetPath = '/my-pages-login-page/customer';\nMyPagesLoginPageService.ɵfac = function MyPagesLoginPageService_Factory(t) { return new (t || MyPagesLoginPageService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyPagesLoginPageService.ɵprov = ɵɵdefineInjectable({ token: MyPagesLoginPageService, factory: MyPagesLoginPageService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyPagesLoginPageService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyPoaConsumptionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get power of attorney status for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyPoaConsumptionElementService.ElementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get power of attorney status for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGet(params) {\n return this.elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Start power of attorney process for premise.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPut()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPut$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyPoaConsumptionElementService.ElementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPutPath, 'put');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Start power of attorney process for premise.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPut$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPut(params) {\n return this.elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPut$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGet\n */\nMyPoaConsumptionElementService.ElementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyGetPath = '/elements/my-poa-consumption/premises/{premiseId}/power-of-attorney';\n/**\n * Path part for operation elementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPut\n */\nMyPoaConsumptionElementService.ElementsMyPoaConsumptionPremisesPremiseIdPowerOfAttorneyPutPath = '/elements/my-poa-consumption/premises/{premiseId}/power-of-attorney';\nMyPoaConsumptionElementService.ɵfac = function MyPoaConsumptionElementService_Factory(t) { return new (t || MyPoaConsumptionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyPoaConsumptionElementService.ɵprov = ɵɵdefineInjectable({ token: MyPoaConsumptionElementService, factory: MyPoaConsumptionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyPoaConsumptionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyPremisesSelectElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get all premises associated with the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyPremisesSelectGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyPremisesSelectGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyPremisesSelectElementService.ElementsMyPremisesSelectGetPath, 'get');\n if (params) {\n rb.query('includeFutureContracts', params.includeFutureContracts, {});\n rb.query('contractTypeFilter', params.contractTypeFilter, {});\n rb.query('excludeContractTypes', params.excludeContractTypes, {});\n rb.query('combineMicroProductionPremises', params.combineMicroProductionPremises, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get all premises associated with the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyPremisesSelectGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyPremisesSelectGet(params) {\n return this.elementsMyPremisesSelectGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyPremisesSelectGet\n */\nMyPremisesSelectElementService.ElementsMyPremisesSelectGetPath = '/elements/my-premises-select';\nMyPremisesSelectElementService.ɵfac = function MyPremisesSelectElementService_Factory(t) { return new (t || MyPremisesSelectElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyPremisesSelectElementService.ɵprov = ɵɵdefineInjectable({ token: MyPremisesSelectElementService, factory: MyPremisesSelectElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyPremisesSelectElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyProfileCommunicationSettingsViewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get communication communication settings for the logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileCommunicationSettingsViewElementService.ElementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get communication communication settings for the logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet(params) {\n return this.elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update communication settings for the logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileCommunicationSettingsViewElementService.ElementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update communication settings for the logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut(params) {\n return this.elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGet\n */\nMyProfileCommunicationSettingsViewElementService.ElementsMyProfileCommunicationSettingsCustomerCommunicationSettingsGetPath = '/elements/my-profile-communication-settings/customer/communication-settings';\n/**\n * Path part for operation elementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPut\n */\nMyProfileCommunicationSettingsViewElementService.ElementsMyProfileCommunicationSettingsCustomerCommunicationSettingsPutPath = '/elements/my-profile-communication-settings/customer/communication-settings';\nMyProfileCommunicationSettingsViewElementService.ɵfac = function MyProfileCommunicationSettingsViewElementService_Factory(t) { return new (t || MyProfileCommunicationSettingsViewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyProfileCommunicationSettingsViewElementService.ɵprov = ɵɵdefineInjectable({ token: MyProfileCommunicationSettingsViewElementService, factory: MyProfileCommunicationSettingsViewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyProfileCommunicationSettingsViewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyProfileDetailsViewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get profile information for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileDetailsViewCustomerProfileInformationGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileDetailsViewCustomerProfileInformationGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileDetailsViewElementService.ElementsMyProfileDetailsViewCustomerProfileInformationGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get profile information for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileDetailsViewCustomerProfileInformationGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileDetailsViewCustomerProfileInformationGet(params) {\n return this.elementsMyProfileDetailsViewCustomerProfileInformationGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update profile information phone number for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileDetailsViewCustomerProfileInformationPatch()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsMyProfileDetailsViewCustomerProfileInformationPatch$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileDetailsViewElementService.ElementsMyProfileDetailsViewCustomerProfileInformationPatchPath, 'patch');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update profile information phone number for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileDetailsViewCustomerProfileInformationPatch$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsMyProfileDetailsViewCustomerProfileInformationPatch(params) {\n return this.elementsMyProfileDetailsViewCustomerProfileInformationPatch$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyProfileDetailsViewCustomerProfileInformationGet\n */\nMyProfileDetailsViewElementService.ElementsMyProfileDetailsViewCustomerProfileInformationGetPath = '/elements/my-profile-details-view/customer/profile-information';\n/**\n * Path part for operation elementsMyProfileDetailsViewCustomerProfileInformationPatch\n */\nMyProfileDetailsViewElementService.ElementsMyProfileDetailsViewCustomerProfileInformationPatchPath = '/elements/my-profile-details-view/customer/profile-information';\nMyProfileDetailsViewElementService.ɵfac = function MyProfileDetailsViewElementService_Factory(t) { return new (t || MyProfileDetailsViewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyProfileDetailsViewElementService.ɵprov = ɵɵdefineInjectable({ token: MyProfileDetailsViewElementService, factory: MyProfileDetailsViewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyProfileDetailsViewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyProfileElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get contact information for the logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileContactDetailsGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get contact information for the logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileContactDetailsGet(params) {\n return this.elementsMyProfileContactDetailsGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information email address for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsEmailEmailAddressPut$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsEmailEmailAddressPut$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsEmailEmailAddressPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information email address for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsEmailEmailAddressPut$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsEmailEmailAddressPut$Json(params) {\n return this.elementsMyProfileContactDetailsEmailEmailAddressPut$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information email address for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsEmailEmailAddressPut$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsEmailEmailAddressPut$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsEmailEmailAddressPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information email address for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsEmailEmailAddressPut$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsEmailEmailAddressPut$CspReport(params) {\n return this.elementsMyProfileContactDetailsEmailEmailAddressPut$CspReport$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information email subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsEmailSubscribePut$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsEmailSubscribePut$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsEmailSubscribePutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information email subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsEmailSubscribePut$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsEmailSubscribePut$Json(params) {\n return this.elementsMyProfileContactDetailsEmailSubscribePut$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information email subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsEmailSubscribePut$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsEmailSubscribePut$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsEmailSubscribePutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information email subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsEmailSubscribePut$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsEmailSubscribePut$CspReport(params) {\n return this.elementsMyProfileContactDetailsEmailSubscribePut$CspReport$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information mobile number for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsMobileNumberPut$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsMobileNumberPut$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsMobileNumberPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information mobile number for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsMobileNumberPut$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsMobileNumberPut$Json(params) {\n return this.elementsMyProfileContactDetailsMobileNumberPut$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update contact information mobile number for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsMobileNumberPut$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsMobileNumberPut$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsMobileNumberPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update contact information mobile number for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsMobileNumberPut$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsMobileNumberPut$CspReport(params) {\n return this.elementsMyProfileContactDetailsMobileNumberPut$CspReport$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update profile information mobile subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsMobileSubscribePut$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsMobileSubscribePut$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsMobileSubscribePutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update profile information mobile subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsMobileSubscribePut$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileContactDetailsMobileSubscribePut$Json(params) {\n return this.elementsMyProfileContactDetailsMobileSubscribePut$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update profile information mobile subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileContactDetailsMobileSubscribePut$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsMobileSubscribePut$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileContactDetailsMobileSubscribePutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update profile information mobile subscription for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileContactDetailsMobileSubscribePut$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileContactDetailsMobileSubscribePut$CspReport(params) {\n return this.elementsMyProfileContactDetailsMobileSubscribePut$CspReport$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get invoice settings information for a premise for the logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileInvoiceSettingsGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsGetPath, 'get');\n if (params) {\n rb.query('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get invoice settings information for a premise for the logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileInvoiceSettingsGet(params) {\n return this.elementsMyProfileInvoiceSettingsGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update invoice address for the currently logged in user either for a specific premise or for all premises.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileInvoiceSettingsPost$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update invoice address for the currently logged in user either for a specific premise or for all premises.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileInvoiceSettingsPost$Json(params) {\n return this.elementsMyProfileInvoiceSettingsPost$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update invoice address for the currently logged in user either for a specific premise or for all premises.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsPost$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileInvoiceSettingsPost$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update invoice address for the currently logged in user either for a specific premise or for all premises.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsPost$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileInvoiceSettingsPost$CspReport(params) {\n return this.elementsMyProfileInvoiceSettingsPost$CspReport$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the main address for the logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsMainAddressGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileInvoiceSettingsMainAddressGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsMainAddressGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the main address for the logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsMainAddressGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileInvoiceSettingsMainAddressGet(params) {\n return this.elementsMyProfileInvoiceSettingsMainAddressGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update invoice interval for all premises for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsInvoiceIntervalPut$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileInvoiceSettingsInvoiceIntervalPut$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsInvoiceIntervalPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update invoice interval for all premises for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsInvoiceIntervalPut$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileInvoiceSettingsInvoiceIntervalPut$Json(params) {\n return this.elementsMyProfileInvoiceSettingsInvoiceIntervalPut$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update invoice interval for all premises for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsInvoiceIntervalPut$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileInvoiceSettingsInvoiceIntervalPut$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsInvoiceIntervalPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Update invoice interval for all premises for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsInvoiceIntervalPut$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileInvoiceSettingsInvoiceIntervalPut$CspReport(params) {\n return this.elementsMyProfileInvoiceSettingsInvoiceIntervalPut$CspReport$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get available banks that support e-invoice as payment method.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsPaymentBanksGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileInvoiceSettingsPaymentBanksGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsPaymentBanksGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get available banks that support e-invoice as payment method.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsPaymentBanksGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyProfileInvoiceSettingsPaymentBanksGet(params) {\n return this.elementsMyProfileInvoiceSettingsPaymentBanksGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Register e-invoice to a bank.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Register e-invoice to a bank.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$Json(params) {\n return this.elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Register e-invoice to a bank.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyProfileElementService.ElementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Register e-invoice to a bank.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$CspReport(params) {\n return this.elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost$CspReport$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyProfileContactDetailsGet\n */\nMyProfileElementService.ElementsMyProfileContactDetailsGetPath = '/elements/my-profile/contact-details';\n/**\n * Path part for operation elementsMyProfileContactDetailsEmailEmailAddressPut\n */\nMyProfileElementService.ElementsMyProfileContactDetailsEmailEmailAddressPutPath = '/elements/my-profile/contact-details/email/email-address';\n/**\n * Path part for operation elementsMyProfileContactDetailsEmailSubscribePut\n */\nMyProfileElementService.ElementsMyProfileContactDetailsEmailSubscribePutPath = '/elements/my-profile/contact-details/email/subscribe';\n/**\n * Path part for operation elementsMyProfileContactDetailsMobileNumberPut\n */\nMyProfileElementService.ElementsMyProfileContactDetailsMobileNumberPutPath = '/elements/my-profile/contact-details/mobile/number';\n/**\n * Path part for operation elementsMyProfileContactDetailsMobileSubscribePut\n */\nMyProfileElementService.ElementsMyProfileContactDetailsMobileSubscribePutPath = '/elements/my-profile/contact-details/mobile/subscribe';\n/**\n * Path part for operation elementsMyProfileInvoiceSettingsGet\n */\nMyProfileElementService.ElementsMyProfileInvoiceSettingsGetPath = '/elements/my-profile/invoice-settings';\n/**\n * Path part for operation elementsMyProfileInvoiceSettingsPost\n */\nMyProfileElementService.ElementsMyProfileInvoiceSettingsPostPath = '/elements/my-profile/invoice-settings';\n/**\n * Path part for operation elementsMyProfileInvoiceSettingsMainAddressGet\n */\nMyProfileElementService.ElementsMyProfileInvoiceSettingsMainAddressGetPath = '/elements/my-profile/invoice-settings/main-address';\n/**\n * Path part for operation elementsMyProfileInvoiceSettingsInvoiceIntervalPut\n */\nMyProfileElementService.ElementsMyProfileInvoiceSettingsInvoiceIntervalPutPath = '/elements/my-profile/invoice-settings/invoice-interval';\n/**\n * Path part for operation elementsMyProfileInvoiceSettingsPaymentBanksGet\n */\nMyProfileElementService.ElementsMyProfileInvoiceSettingsPaymentBanksGetPath = '/elements/my-profile/invoice-settings/payment/banks';\n/**\n * Path part for operation elementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePost\n */\nMyProfileElementService.ElementsMyProfileInvoiceSettingsPaymentRegisterEinvoicePostPath = '/elements/my-profile/invoice-settings/payment/register/einvoice';\nMyProfileElementService.ɵfac = function MyProfileElementService_Factory(t) { return new (t || MyProfileElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyProfileElementService.ɵprov = ɵɵdefineInjectable({ token: MyProfileElementService, factory: MyProfileElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyProfileElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyWidgetsConsumptionOverviewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the consumption overview widget for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyWidgetsConsumptionOverviewElementService.ElementsMyWidgetsConsumptionOverviewPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the consumption overview widget for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet(params) {\n return this.elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyWidgetsConsumptionOverviewPremisesPremiseIdGet\n */\nMyWidgetsConsumptionOverviewElementService.ElementsMyWidgetsConsumptionOverviewPremisesPremiseIdGetPath = '/elements/my-widgets-consumption-overview/premises/{premiseId}';\nMyWidgetsConsumptionOverviewElementService.ɵfac = function MyWidgetsConsumptionOverviewElementService_Factory(t) { return new (t || MyWidgetsConsumptionOverviewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyWidgetsConsumptionOverviewElementService.ɵprov = ɵɵdefineInjectable({ token: MyWidgetsConsumptionOverviewElementService, factory: MyWidgetsConsumptionOverviewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyWidgetsConsumptionOverviewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyWidgetsContractPriceElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the contract widgets for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyWidgetsContractPricePremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsContractPricePremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyWidgetsContractPriceElementService.ElementsMyWidgetsContractPricePremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the contract widgets for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyWidgetsContractPricePremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsContractPricePremisesPremiseIdGet(params) {\n return this.elementsMyWidgetsContractPricePremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyWidgetsContractPricePremisesPremiseIdGet\n */\nMyWidgetsContractPriceElementService.ElementsMyWidgetsContractPricePremisesPremiseIdGetPath = '/elements/my-widgets-contract-price/premises/{premiseId}';\nMyWidgetsContractPriceElementService.ɵfac = function MyWidgetsContractPriceElementService_Factory(t) { return new (t || MyWidgetsContractPriceElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyWidgetsContractPriceElementService.ɵprov = ɵɵdefineInjectable({ token: MyWidgetsContractPriceElementService, factory: MyWidgetsContractPriceElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyWidgetsContractPriceElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyWidgetsElectricityPriceNowElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the current hourly price for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyWidgetsElectricityPriceNowElementService.ElementsMyWidgetsElectricityPriceNowPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the current hourly price for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet(params) {\n return this.elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyWidgetsElectricityPriceNowPremisesPremiseIdGet\n */\nMyWidgetsElectricityPriceNowElementService.ElementsMyWidgetsElectricityPriceNowPremisesPremiseIdGetPath = '/elements/my-widgets-electricity-price-now/premises/{premiseId}';\nMyWidgetsElectricityPriceNowElementService.ɵfac = function MyWidgetsElectricityPriceNowElementService_Factory(t) { return new (t || MyWidgetsElectricityPriceNowElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyWidgetsElectricityPriceNowElementService.ɵprov = ɵɵdefineInjectable({ token: MyWidgetsElectricityPriceNowElementService, factory: MyWidgetsElectricityPriceNowElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyWidgetsElectricityPriceNowElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyWidgetsInvoiceOverviewElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the invoice overview for the latest invoice for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyWidgetsInvoiceOverviewElementService.ElementsMyWidgetsInvoiceOverviewPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the invoice overview for the latest invoice for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet(params) {\n return this.elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyWidgetsInvoiceOverviewPremisesPremiseIdGet\n */\nMyWidgetsInvoiceOverviewElementService.ElementsMyWidgetsInvoiceOverviewPremisesPremiseIdGetPath = '/elements/my-widgets-invoice-overview/premises/{premiseId}';\nMyWidgetsInvoiceOverviewElementService.ɵfac = function MyWidgetsInvoiceOverviewElementService_Factory(t) { return new (t || MyWidgetsInvoiceOverviewElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyWidgetsInvoiceOverviewElementService.ɵprov = ɵɵdefineInjectable({ token: MyWidgetsInvoiceOverviewElementService, factory: MyWidgetsInvoiceOverviewElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyWidgetsInvoiceOverviewElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass MyWidgetsPremiseDetailsElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the premise details widget for the specified premise id.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, MyWidgetsPremiseDetailsElementService.ElementsMyWidgetsPremiseDetailsPremisesPremiseIdGetPath, 'get');\n if (params) {\n rb.path('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the premise details widget for the specified premise id.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet(params) {\n return this.elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsMyWidgetsPremiseDetailsPremisesPremiseIdGet\n */\nMyWidgetsPremiseDetailsElementService.ElementsMyWidgetsPremiseDetailsPremisesPremiseIdGetPath = '/elements/my-widgets-premise-details/premises/{premiseId}';\nMyWidgetsPremiseDetailsElementService.ɵfac = function MyWidgetsPremiseDetailsElementService_Factory(t) { return new (t || MyWidgetsPremiseDetailsElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nMyWidgetsPremiseDetailsElementService.ɵprov = ɵɵdefineInjectable({ token: MyWidgetsPremiseDetailsElementService, factory: MyWidgetsPremiseDetailsElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(MyWidgetsPremiseDetailsElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass OutageSubscriptionDialogElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get outage information for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsOutageSubscriptionDialogCustomerOutageInformationGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsOutageSubscriptionDialogCustomerOutageInformationGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, OutageSubscriptionDialogElementService.ElementsOutageSubscriptionDialogCustomerOutageInformationGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get outage information for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsOutageSubscriptionDialogCustomerOutageInformationGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsOutageSubscriptionDialogCustomerOutageInformationGet(params) {\n return this.elementsOutageSubscriptionDialogCustomerOutageInformationGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update outage information email and phone number for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsOutageSubscriptionDialogCustomerOutageInformationPut$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsOutageSubscriptionDialogCustomerOutageInformationPut$Json$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, OutageSubscriptionDialogElementService.ElementsOutageSubscriptionDialogCustomerOutageInformationPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: String(r.body) === 'true' });\n }));\n }\n /**\n * Update outage information email and phone number for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsOutageSubscriptionDialogCustomerOutageInformationPut$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n elementsOutageSubscriptionDialogCustomerOutageInformationPut$Json(params) {\n return this.elementsOutageSubscriptionDialogCustomerOutageInformationPut$Json$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Update outage information email and phone number for the currently logged in user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsOutageSubscriptionDialogCustomerOutageInformationPut$CspReport()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsOutageSubscriptionDialogCustomerOutageInformationPut$CspReport$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, OutageSubscriptionDialogElementService.ElementsOutageSubscriptionDialogCustomerOutageInformationPutPath, 'put');\n if (params) {\n rb.body(params.body, 'application/csp-report');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r.clone({ body: String(r.body) === 'true' });\n }));\n }\n /**\n * Update outage information email and phone number for the currently logged in user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsOutageSubscriptionDialogCustomerOutageInformationPut$CspReport$Response()` instead.\n *\n * This method sends `application/csp-report` and handles request body of type `application/csp-report`.\n */\n elementsOutageSubscriptionDialogCustomerOutageInformationPut$CspReport(params) {\n return this.elementsOutageSubscriptionDialogCustomerOutageInformationPut$CspReport$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsOutageSubscriptionDialogCustomerOutageInformationGet\n */\nOutageSubscriptionDialogElementService.ElementsOutageSubscriptionDialogCustomerOutageInformationGetPath = '/elements/outage-subscription-dialog/customer/outage-information';\n/**\n * Path part for operation elementsOutageSubscriptionDialogCustomerOutageInformationPut\n */\nOutageSubscriptionDialogElementService.ElementsOutageSubscriptionDialogCustomerOutageInformationPutPath = '/elements/outage-subscription-dialog/customer/outage-information';\nOutageSubscriptionDialogElementService.ɵfac = function OutageSubscriptionDialogElementService_Factory(t) { return new (t || OutageSubscriptionDialogElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nOutageSubscriptionDialogElementService.ɵprov = ɵɵdefineInjectable({ token: OutageSubscriptionDialogElementService, factory: OutageSubscriptionDialogElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(OutageSubscriptionDialogElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass PostalCodeGridAreaElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the postal code grid area element view model for the specified postal code.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsPostalCodeGridAreaPostalCodesPostalCodeGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsPostalCodeGridAreaPostalCodesPostalCodeGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, PostalCodeGridAreaElementService.ElementsPostalCodeGridAreaPostalCodesPostalCodeGetPath, 'get');\n if (params) {\n rb.path('postalCode', params.postalCode, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the postal code grid area element view model for the specified postal code.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsPostalCodeGridAreaPostalCodesPostalCodeGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsPostalCodeGridAreaPostalCodesPostalCodeGet(params) {\n return this.elementsPostalCodeGridAreaPostalCodesPostalCodeGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the postal code grid area element view model for the specified grid area.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsPostalCodeGridAreaGridAreasGridAreaGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsPostalCodeGridAreaGridAreasGridAreaGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, PostalCodeGridAreaElementService.ElementsPostalCodeGridAreaGridAreasGridAreaGetPath, 'get');\n if (params) {\n rb.path('gridArea', params.gridArea, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the postal code grid area element view model for the specified grid area.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsPostalCodeGridAreaGridAreasGridAreaGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n elementsPostalCodeGridAreaGridAreasGridAreaGet(params) {\n return this.elementsPostalCodeGridAreaGridAreasGridAreaGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation elementsPostalCodeGridAreaPostalCodesPostalCodeGet\n */\nPostalCodeGridAreaElementService.ElementsPostalCodeGridAreaPostalCodesPostalCodeGetPath = '/elements/postal-code-grid-area/postal-codes/{postalCode}';\n/**\n * Path part for operation elementsPostalCodeGridAreaGridAreasGridAreaGet\n */\nPostalCodeGridAreaElementService.ElementsPostalCodeGridAreaGridAreasGridAreaGetPath = '/elements/postal-code-grid-area/grid-areas/{gridArea}';\nPostalCodeGridAreaElementService.ɵfac = function PostalCodeGridAreaElementService_Factory(t) { return new (t || PostalCodeGridAreaElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nPostalCodeGridAreaElementService.ɵprov = ɵɵdefineInjectable({ token: PostalCodeGridAreaElementService, factory: PostalCodeGridAreaElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(PostalCodeGridAreaElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass RenewalFlowsCheckoutSectionService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the summary for a specific premiseId and selected productId and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getSummary()` instead.\n *\n * This method doesn't expect any request body.\n */\n getSummary$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, RenewalFlowsCheckoutSectionService.GetSummaryPath, 'get');\n if (params) {\n rb.query('premiseId', params.premiseId, {});\n rb.query('productId', params.productId, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the summary for a specific premiseId and selected productId and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getSummary$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getSummary(params) {\n return this.getSummary$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Submit an order to the order handler and send a confirmation email.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `elementsFlowsCheckoutSectionRenewalOrdersPost()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsCheckoutSectionRenewalOrdersPost$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, RenewalFlowsCheckoutSectionService.ElementsFlowsCheckoutSectionRenewalOrdersPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/json');\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Submit an order to the order handler and send a confirmation email.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `elementsFlowsCheckoutSectionRenewalOrdersPost$Response()` instead.\n *\n * This method sends `application/json` and handles request body of type `application/json`.\n */\n elementsFlowsCheckoutSectionRenewalOrdersPost(params) {\n return this.elementsFlowsCheckoutSectionRenewalOrdersPost$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getSummary\n */\nRenewalFlowsCheckoutSectionService.GetSummaryPath = '/elements/flows-checkout-section/renewal/summary';\n/**\n * Path part for operation elementsFlowsCheckoutSectionRenewalOrdersPost\n */\nRenewalFlowsCheckoutSectionService.ElementsFlowsCheckoutSectionRenewalOrdersPostPath = '/elements/flows-checkout-section/renewal/orders';\nRenewalFlowsCheckoutSectionService.ɵfac = function RenewalFlowsCheckoutSectionService_Factory(t) { return new (t || RenewalFlowsCheckoutSectionService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nRenewalFlowsCheckoutSectionService.ɵprov = ɵɵdefineInjectable({ token: RenewalFlowsCheckoutSectionService, factory: RenewalFlowsCheckoutSectionService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(RenewalFlowsCheckoutSectionService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass RenewalFlowsEnergySourcesSelectElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get a list of available energy sources with additional cost related to each energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getRenewalEnergySources()` instead.\n *\n * This method doesn't expect any request body.\n */\n getRenewalEnergySources$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, RenewalFlowsEnergySourcesSelectElementService.GetRenewalEnergySourcesPath, 'get');\n if (params) {\n rb.query('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get a list of available energy sources with additional cost related to each energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getRenewalEnergySources$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getRenewalEnergySources(params) {\n return this.getRenewalEnergySources$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getRenewalEnergySources\n */\nRenewalFlowsEnergySourcesSelectElementService.GetRenewalEnergySourcesPath = '/elements/flows-energy-source-select-renewal-section';\nRenewalFlowsEnergySourcesSelectElementService.ɵfac = function RenewalFlowsEnergySourcesSelectElementService_Factory(t) { return new (t || RenewalFlowsEnergySourcesSelectElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nRenewalFlowsEnergySourcesSelectElementService.ɵprov = ɵɵdefineInjectable({ token: RenewalFlowsEnergySourcesSelectElementService, factory: RenewalFlowsEnergySourcesSelectElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(RenewalFlowsEnergySourcesSelectElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass RenewalFlowsProductSelectOptionElementService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the product for a specific productId, premiseId and energy source.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getRenewableProductForEnergySource()` instead.\n *\n * This method doesn't expect any request body.\n */\n getRenewableProductForEnergySource$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, RenewalFlowsProductSelectOptionElementService.GetRenewableProductForEnergySourcePath, 'get');\n if (params) {\n rb.path('productId', params.productId, {});\n rb.query('premiseId', params.premiseId, {});\n rb.query('energySource', params.energySource, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the product for a specific productId, premiseId and energy source.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getRenewableProductForEnergySource$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getRenewableProductForEnergySource(params) {\n return this.getRenewableProductForEnergySource$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get available products for a specific premiseId in renewal.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getRenewableProducts()` instead.\n *\n * This method doesn't expect any request body.\n */\n getRenewableProducts$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, RenewalFlowsProductSelectOptionElementService.GetRenewableProductsPath, 'get');\n if (params) {\n rb.query('premiseId', params.premiseId, {});\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get available products for a specific premiseId in renewal.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getRenewableProducts$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getRenewableProducts(params) {\n return this.getRenewableProducts$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation getRenewableProductForEnergySource\n */\nRenewalFlowsProductSelectOptionElementService.GetRenewableProductForEnergySourcePath = '/elements/flows-product-select-option/renewal/products/{productId}';\n/**\n * Path part for operation getRenewableProducts\n */\nRenewalFlowsProductSelectOptionElementService.GetRenewableProductsPath = '/elements/flows-product-select-option/renewal/products';\nRenewalFlowsProductSelectOptionElementService.ɵfac = function RenewalFlowsProductSelectOptionElementService_Factory(t) { return new (t || RenewalFlowsProductSelectOptionElementService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nRenewalFlowsProductSelectOptionElementService.ɵprov = ɵɵdefineInjectable({ token: RenewalFlowsProductSelectOptionElementService, factory: RenewalFlowsProductSelectOptionElementService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(RenewalFlowsProductSelectOptionElementService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/* tslint:disable */\nclass VisitorGroupCriteriaService extends BaseService {\n constructor(config, http) {\n super(config, http);\n }\n /**\n * Get the view models for the renewal status criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaRenewalStatusCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaRenewalStatusCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaRenewalStatusCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view models for the renewal status criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaRenewalStatusCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaRenewalStatusCriterionGet(params) {\n return this.visitorGroupCriteriaRenewalStatusCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get a boolean product change status criterion for the current customer. The boolean is true if any premise is eligible for product change.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaProductChangeStatusCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaProductChangeStatusCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaProductChangeStatusCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get a boolean product change status criterion for the current customer. The boolean is true if any premise is eligible for product change.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaProductChangeStatusCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaProductChangeStatusCriterionGet(params) {\n return this.visitorGroupCriteriaProductChangeStatusCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the view models for the service group criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaServiceGroupCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaServiceGroupCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaServiceGroupCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view models for the service group criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaServiceGroupCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaServiceGroupCriterionGet(params) {\n return this.visitorGroupCriteriaServiceGroupCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the view models for the service group future contract criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaServiceGroupFutureContractCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaServiceGroupFutureContractCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaServiceGroupFutureContractCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view models for the service group future contract criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaServiceGroupFutureContractCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaServiceGroupFutureContractCriterionGet(params) {\n return this.visitorGroupCriteriaServiceGroupFutureContractCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the view model for the winter assurance status criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaWinterAssuranceStatusCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaWinterAssuranceStatusCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaWinterAssuranceStatusCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view model for the winter assurance status criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaWinterAssuranceStatusCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaWinterAssuranceStatusCriterionGet(params) {\n return this.visitorGroupCriteriaWinterAssuranceStatusCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the view model for the invoice delivery method criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaInvoiceDeliveryMethodCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaInvoiceDeliveryMethodCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaInvoiceDeliveryMethodCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view model for the invoice delivery method criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaInvoiceDeliveryMethodCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaInvoiceDeliveryMethodCriterionGet(params) {\n return this.visitorGroupCriteriaInvoiceDeliveryMethodCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the view models for the contract type criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaContractTypeCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaContractTypeCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaContractTypeCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view models for the contract type criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaContractTypeCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaContractTypeCriterionGet(params) {\n return this.visitorGroupCriteriaContractTypeCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n /**\n * Get the view models for the consumption power of attorney criterion for the current customer.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `visitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGet()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGet$Response(params) {\n const rb = new RequestBuilder(this.rootUrl, VisitorGroupCriteriaService.VisitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGetPath, 'get');\n if (params) {\n }\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'application/json'\n })).pipe(filter((r) => r instanceof HttpResponse), map((r) => {\n return r;\n }));\n }\n /**\n * Get the view models for the consumption power of attorney criterion for the current customer.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `visitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGet$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n visitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGet(params) {\n return this.visitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGet$Response(params).pipe(map((r) => r.body));\n }\n}\n/**\n * Path part for operation visitorGroupCriteriaRenewalStatusCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaRenewalStatusCriterionGetPath = '/visitor-group-criteria/renewal-status-criterion';\n/**\n * Path part for operation visitorGroupCriteriaProductChangeStatusCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaProductChangeStatusCriterionGetPath = '/visitor-group-criteria/product-change-status-criterion';\n/**\n * Path part for operation visitorGroupCriteriaServiceGroupCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaServiceGroupCriterionGetPath = '/visitor-group-criteria/service-group-criterion';\n/**\n * Path part for operation visitorGroupCriteriaServiceGroupFutureContractCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaServiceGroupFutureContractCriterionGetPath = '/visitor-group-criteria/service-group-future-contract-criterion';\n/**\n * Path part for operation visitorGroupCriteriaWinterAssuranceStatusCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaWinterAssuranceStatusCriterionGetPath = '/visitor-group-criteria/winter-assurance-status-criterion';\n/**\n * Path part for operation visitorGroupCriteriaInvoiceDeliveryMethodCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaInvoiceDeliveryMethodCriterionGetPath = '/visitor-group-criteria/invoice-delivery-method-criterion';\n/**\n * Path part for operation visitorGroupCriteriaContractTypeCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaContractTypeCriterionGetPath = '/visitor-group-criteria/contract-type-criterion';\n/**\n * Path part for operation visitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGet\n */\nVisitorGroupCriteriaService.VisitorGroupCriteriaConsumptionPowerOfAttorneyCriterionGetPath = '/visitor-group-criteria/consumption-power-of-attorney-criterion';\nVisitorGroupCriteriaService.ɵfac = function VisitorGroupCriteriaService_Factory(t) { return new (t || VisitorGroupCriteriaService)(ɵɵinject(ApiConfiguration), ɵɵinject(HttpClient)); };\nVisitorGroupCriteriaService.ɵprov = ɵɵdefineInjectable({ token: VisitorGroupCriteriaService, factory: VisitorGroupCriteriaService.ɵfac, providedIn: 'root' });\n/*@__PURE__*/ (function () { ɵsetClassMetadata(VisitorGroupCriteriaService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return [{ type: ApiConfiguration }, { type: HttpClient }]; }, null); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AcquisitionFlowsEnergySourcesSelectElementService, AcquisitionFlowsProductSelectOptionElementService, AssentlyConsumptionPowerOfAttorneyCallbackService, AverageSpotPriceService, ChangeFlowsEnergySourcesSelectElementService, ChangeFlowsProductSelectOptionElementService, ClimateService, CspReportService, DynamicDataTableService, FlexAppPowerOfAttorneyService, FlexAppService, FlowsAcquisitionBusinessCheckoutService, FlowsAcquisitionPrivateCheckoutService, FlowsChangeContractCheckoutService, FlowsContractDetailsSectionElementService, FlowsMoveAcquisitionPrivateSwitchService, FlowsMoveBusinessCheckoutService, FlowsMovePrivateCheckoutService, FlowsNewContractDetailsSectionElementService, FlowsPremiseContractSummaryElementService, FlowsPremisesSelectElementService, FlowsProductAddonsSectionViewElementService, FlowsSubmitRenewalOrderElementService, HistoricalSpotPriceService, MOCKUP_DATA, MyConsumptionElementAnonymousService, MyConsumptionElementService, MyContactNotificationDialogueElementService, MyContractsElementService, MyContractsViewElementService, MyEnergyElementService, MyInvoicesViewElementService, MyPagesLoginPageService, MyPoaConsumptionElementService, MyPremisesSelectElementService, MyProfileCommunicationSettingsViewElementService, MyProfileDetailsViewElementService, MyProfileElementService, MyWidgetsConsumptionOverviewElementService, MyWidgetsContractPriceElementService, MyWidgetsElectricityPriceNowElementService, MyWidgetsInvoiceOverviewElementService, MyWidgetsPremiseDetailsElementService, OutageSubscriptionDialogElementService, PostalCodeGridAreaElementService, RenewalFlowsCheckoutSectionService, RenewalFlowsEnergySourcesSelectElementService, RenewalFlowsProductSelectOptionElementService, SelfServiceModule, VisitorGroupCriteriaService };\n//# sourceMappingURL=vattenfall-self-service.js.map\n","import toInteger from '../_lib/toInteger/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, it returns `Invalid Date`.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nexport default function parseISO(argument, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (isNaN(date) || !date) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time) || time === null) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate(), dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n result.setFullYear(dirtyDate.getUTCFullYear());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString; // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: null\n };\n var year = captures[1] && parseInt(captures[1]);\n var century = captures[2] && parseInt(captures[2]);\n return {\n year: century == null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return null;\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return null;\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return null; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","var calendar = require('./lib/calendar');\nvar finder = require('./lib/finder');\nvar translator = require('./lib/translator');\n\nvar FinnishHolidays = {\n next: function(count, includeWeekends) {\n return calendar.next(count, includeWeekends);\n },\n year: function(year, includeWeekends) {\n return calendar.byYear(year, includeWeekends);\n },\n month: function(month, year, includeWeekends) {\n return calendar.byMonth(month, year, includeWeekends);\n },\n translate: function(english, language) {\n return translator.translate(english, language);\n },\n after: function(month, year, index) {\n return finder.after(month, year, index);\n },\n before: function(month, year, index) {\n return finder.before(month, year, index);\n }\n};\n\nmodule.exports = FinnishHolidays;\n","import toDate from '../toDate/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * var result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function startOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from '../toDate/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\n\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}","var calendar = require('./calendar');\n\nvar finder = {\n /**\n * @param {number} month\n * @param {number} year\n * @param {number} index\n * @return {Object}\n */\n after: function(month, year, index) {\n var currentHolidays = calendar.byMonth(month, year);\n var nextIndex = index + 1;\n\n if (currentHolidays[nextIndex]) {\n return currentHolidays[nextIndex];\n }\n\n var nextHoliday;\n var nextDate = {\n month: month,\n year: year\n };\n\n while (!nextHoliday) {\n if (nextDate.month === 12) {\n nextDate.month = 1;\n nextDate.year += 1;\n } else {\n nextDate.month += 1;\n }\n\n var nextHolidays = calendar.byMonth(nextDate.month, nextDate.year);\n\n if (nextHolidays[0]) {\n nextHoliday = nextHolidays[0];\n }\n }\n\n return nextHoliday;\n },\n\n /**\n * @param {number} month\n * @param {number} year\n * @param {number} index\n * @return {Object}\n */\n before: function(month, year, index) {\n var currentHolidays = calendar.byMonth(month, year);\n var previousIndex = index - 1;\n\n if (currentHolidays[previousIndex]) {\n return currentHolidays[previousIndex];\n }\n\n var previousHoliday;\n var previousDate = {\n month: month,\n year: year\n };\n\n while (!previousHoliday) {\n if (previousDate.month === 1) {\n previousDate.month = 12;\n previousDate.year -= 1;\n } else {\n previousDate.month -= 1;\n }\n\n var previousHolidays = calendar.byMonth(previousDate.month, previousDate.year);\n\n if (previousHolidays[0]) {\n previousHoliday = previousHolidays[0];\n }\n }\n\n return previousHoliday;\n }\n};\n\nmodule.exports = finder;\n","import startOfDay from '../startOfDay/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler = async) {\n return (source) => source.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nclass DebounceTimeOperator {\n constructor(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n }\n}\nclass DebounceTimeSubscriber extends Subscriber {\n constructor(destination, dueTime, scheduler) {\n super(destination);\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n this.debouncedSubscription = null;\n this.lastValue = null;\n this.hasValue = false;\n }\n _next(value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n }\n _complete() {\n this.debouncedNext();\n this.destination.complete();\n }\n debouncedNext() {\n this.clearDebounce();\n if (this.hasValue) {\n const { lastValue } = this;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n }\n clearDebounce() {\n const debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n }\n}\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map","import toDate from '../toDate/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * var result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","var dateUtils = require('./date-utils');\nvar yearFactory = require('./year-factory');\n\nvar calendar = {\n MAX_HOLIDAYS: 100,\n\n /**\n * Returns the next holidays.\n * @param {number} [count] number of holidays to list (default: 3)\n * @param {boolean} [includeWeekends] include holidays falling on a weekend (default: false)\n * @return {Array}\n */\n next: function(count, includeWeekends) {\n initialize();\n\n count = count || 3;\n includeWeekends = includeWeekends || false;\n\n var self = this;\n var holidays = [];\n\n if (count > self.MAX_HOLIDAYS) {\n throw Error('Cannot request more than {MAX_HOLIDAYS} holidays at once.'.replace('{MAX HOLIDAYS}', self.MAX_HOLIDAYS));\n }\n\n /**\n * Collects holidays.\n */\n function collectHolidays() {\n if (typeof self.year.holidays[self.m] !== 'undefined' && typeof self.year.holidays[self.m] !== 'undefined') {\n self.year.holidays[self.m].forEach(function(holiday) {\n if (holidays.length < count && holiday.day >= self.d) {\n holidays.push(holiday);\n }\n });\n }\n }\n\n while (holidays.length < count) {\n if (!includeWeekends) {\n self.year.discardWeekends();\n }\n\n collectHolidays();\n\n if (holidays.length < count) {\n nextMonth();\n }\n }\n\n return holidays;\n },\n\n /**\n * Returns holidays by year.\n * @param {number} year\n * @param {boolean} [includeWeekends] include holidays falling on a weekend (default: false)\n * @return {Array}\n */\n byYear: function(year, includeWeekends) {\n initialize(year);\n\n includeWeekends = includeWeekends || false;\n\n var self = this;\n var holidays = [];\n\n if (!includeWeekends) {\n self.year.discardWeekends();\n }\n\n Object.keys(self.year.holidays).forEach(function(month) {\n self.year.holidays[month].forEach(function(holiday) {\n holidays.push(holiday);\n });\n });\n\n return holidays;\n },\n\n /**\n * Returns holidays by month and year.\n * @param {number} month\n * @param {number} year\n * @param {boolean} [includeWeekends] include holidays falling on a weekend (default: false)\n */\n byMonth: function(month, year, includeWeekends) {\n initialize(year, month);\n\n includeWeekends = includeWeekends || false;\n\n if (!month || !year) {\n throw Error('Month or year missing.');\n }\n\n var self = this;\n var holidays = [];\n\n if (!includeWeekends) {\n self.year.discardWeekends();\n }\n\n if (typeof self.year.holidays[month] !== 'undefined') {\n self.year.holidays[month].forEach(function(holiday) {\n holidays.push(holiday);\n });\n }\n\n return holidays;\n }\n};\n\n/**\n * Initializes the calendar.\n * @param {number} [y] year (default: this year)\n * @param {number} [m] month (default: this month)\n * @param {number} [d] day (default: this day)\n * @private\n */\nfunction initialize(y, m, d) {\n var today = dateUtils.today();\n var thisDay = dateUtils.getDay(today);\n var thisMonth = dateUtils.getMonth(today);\n var thisYear = dateUtils.getYear(today);\n\n calendar.y = y || thisYear;\n calendar.m = m || thisMonth;\n calendar.d = d || thisDay;\n\n calendar.year = yearFactory.get(calendar.y);\n}\n\n/**\n * Goes to the next month.\n * @private\n */\nfunction nextMonth() {\n if (calendar.m === 12) {\n calendar.m = 1;\n calendar.y += 1;\n calendar.d = 1;\n } else {\n calendar.m += 1;\n calendar.d = 1;\n }\n\n calendar.year = yearFactory.get(calendar.y);\n}\n\nmodule.exports = calendar;\n","import { ɵɵdirectiveInject, ElementRef, Renderer2, ɵɵdefineComponent, ɵɵattribute, ɵɵprojectionDef, ɵɵprojection, ɵsetClassMetadata, Component, ChangeDetectionStrategy, HostBinding, Input, ɵɵdefineNgModule, ɵɵdefineInjector, ɵɵsetNgModuleScope, NgModule, ɵɵclassProp, ViewEncapsulation, ɵɵgetCurrentView, ɵɵelementStart, ɵɵlistener, ɵɵrestoreView, ɵɵreference, ɵɵelementEnd, ɵɵnextContext, ɵɵstyleProp, EventEmitter, ɵɵtemplate, ɵɵproperty, Output, HostListener, ɵɵcontentQuery, ɵɵqueryRefresh, ɵɵloadQuery, ContentChild, ɵɵstaticViewQuery, ɵɵtemplateRefExtractor, ViewChild, ɵɵtext, ɵɵpipe, ɵɵadvance, ɵɵtextInterpolate1, ɵɵpipeBind2, ɵɵpureFunction5, ɵɵtextInterpolate, LOCALE_ID, ɵɵresolveDocument, ɵɵNgOnChangesFeature, ɵɵpureFunction1, Inject, ɵɵelementContainer, ɵɵelementContainerStart, ɵɵelementContainerEnd, ɵɵelement, ChangeDetectorRef, ɵɵviewQuery, Self, Optional, ViewChildren, ContentChildren, ɵɵnamespaceSVG, ɵɵresolveWindow } from '@angular/core';\nimport { CommonModule, NgIf, NgClass, NgForOf, DatePipe, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty, isValid, startOfDay, subDays, addDays, startOfISOWeek, startOfMonth, endOfMonth, isBefore, isSameMonth, isWithinInterval, pluck, isWeekend, subMonths, addMonths, isSameDay, isAfter, endOfDay, parseISO, formatISO, format } from '@vattenfall/util';\nimport { NgControl, FormsModule } from '@angular/forms';\nimport finnishholidays from 'finnish-holidays-js';\n\nconst _c0 = [\"ui-button\", \"\"];\nconst _c1 = [\"*\"];\n/**\n * Vattenfall UI buttons are native `