{"version":3,"file":"selfService.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./Client/api/ApiClient.ts","webpack:///./Client/components/Spinner.tsx","webpack:///./Client/context/UserContext.ts","webpack:///./Client/authentication/SignIn.tsx","webpack:///./Client/services/QueryString.ts","webpack:///./Client/services/StringUtil.ts","webpack:///./Client/selfService/ConsumptionComparison.tsx","webpack:///./Client/selfService/Consumption.tsx","webpack:///./Client/components/Input.tsx","webpack:///./Client/components/EmailInput.tsx","webpack:///./Client/components/PhoneInput.tsx","webpack:///./Client/selfService/Contact.tsx","webpack:///./Client/utils/FetchStatus.ts","webpack:///./Client/selfService/PriceDetails.tsx","webpack:///./Client/selfService/ElavtalContainer.tsx","webpack:///./Client/selfService/Invoices.tsx","webpack:///./Client/selfService/SelfServiceContainer.tsx","webpack:///./Client/selfService/SessionListener.ts","webpack:///./Client/selfService/SelfServiceApp.tsx","webpack:///./node_modules/moment/locale/ sync (sv(\\.js)","webpack:///webpack/bootstrap","webpack:///webpack/runtime/amd options","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/runtimeId","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { Config } from \"./Config\";\r\nimport * as moment from 'moment';\r\n\r\nexport class ClientBase {\r\n private token: string;\r\n\r\n protected getBaseUrl(defaultUrl: string): string {\r\n return ClientConfig.ApiBaseUrl;\r\n }\r\n\r\n protected transformOptions(options: RequestInit): Promise {\r\n if (this.token) {\r\n options.headers[\"Authorization\"] = \"Bearer \" + this.token;\r\n }\r\n return new Promise(resolve => resolve(options));\r\n }\r\n\r\n public setToken(token: string): void {\r\n this.token = token;\r\n }\r\n}\r\n\r\nexport class AddressClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getByPid(pid: string, signal?: AbortSignal | undefined): Promise
{\r\n let url_ = this.baseUrl + \"/address/{Pid}\";\r\n if (pid === undefined || pid === null)\r\n throw new Error(\"The parameter 'pid' must be defined.\");\r\n url_ = url_.replace(\"{Pid}\", encodeURIComponent(\"\" + pid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByPid(_response);\r\n });\r\n }\r\n\r\n protected processGetByPid(response: Response): Promise
{\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Address.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve
(null as any);\r\n }\r\n}\r\n\r\nexport class AdminClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getObjects(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/objects\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetObjects(_response);\r\n });\r\n }\r\n\r\n protected processGetObjects(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealEstateObjectDbModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getObjectFile(id: string, fileId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/objects/{id}/file/{fileId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (fileId === undefined || fileId === null)\r\n throw new Error(\"The parameter 'fileId' must be defined.\");\r\n url_ = url_.replace(\"{fileId}\", encodeURIComponent(\"\" + fileId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetObjectFile(_response);\r\n });\r\n }\r\n\r\n protected processGetObjectFile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n markAsHandled(objectId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/objects/{objectId}/handled\";\r\n if (objectId === undefined || objectId === null)\r\n throw new Error(\"The parameter 'objectId' must be defined.\");\r\n url_ = url_.replace(\"{objectId}\", encodeURIComponent(\"\" + objectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMarkAsHandled(_response);\r\n });\r\n }\r\n\r\n protected processMarkAsHandled(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RealEstateObjectDbModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n listAvyInvoicings(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/avy-invoicings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processListAvyInvoicings(_response);\r\n });\r\n }\r\n\r\n protected processListAvyInvoicings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Invoicing.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n avyInvoicing(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/avy-invoicings/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAvyInvoicing(_response);\r\n });\r\n }\r\n\r\n protected processAvyInvoicing(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AvyInvoicing.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param status (optional) \r\n * @return Success\r\n */\r\n listAvyInvoices(id: string, status: AvyInvoiceStatus | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/avy-invoicings/{id}/invoices?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processListAvyInvoices(_response);\r\n });\r\n }\r\n\r\n protected processListAvyInvoices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AvyInvoice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n sendAvyInvoice(invoicingId: string, invoiceId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/avy-invoicings/{invoicingId}/invoices/{invoiceId}/send\";\r\n if (invoicingId === undefined || invoicingId === null)\r\n throw new Error(\"The parameter 'invoicingId' must be defined.\");\r\n url_ = url_.replace(\"{invoicingId}\", encodeURIComponent(\"\" + invoicingId));\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSendAvyInvoice(_response);\r\n });\r\n }\r\n\r\n protected processSendAvyInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AvyInvoice.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n mspecsOrdersMissingFiles(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs-orders/missing-files\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMspecsOrdersMissingFiles(_response);\r\n });\r\n }\r\n\r\n protected processMspecsOrdersMissingFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MspecsOrder.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n mspecsOrderFiles(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs-orders/{id}/files\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMspecsOrderFiles(_response);\r\n });\r\n }\r\n\r\n protected processMspecsOrderFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MspecsFile.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n mspecsOrderComplete(id: string, body: MspecsCompleteOrderRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs-orders/{id}/complete\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMspecsOrderComplete(_response);\r\n });\r\n }\r\n\r\n protected processMspecsOrderComplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MspecsOrder.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AuthenticationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n initiate(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/authentication/initiate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInitiate(_response);\r\n });\r\n }\r\n\r\n protected processInitiate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BankIdInitResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param qrState (optional) \r\n * @return Success\r\n */\r\n status(orderRef: string, qrState: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/authentication/status/{orderRef}?\";\r\n if (orderRef === undefined || orderRef === null)\r\n throw new Error(\"The parameter 'orderRef' must be defined.\");\r\n url_ = url_.replace(\"{orderRef}\", encodeURIComponent(\"\" + orderRef));\r\n if (qrState === null)\r\n throw new Error(\"The parameter 'qrState' cannot be null.\");\r\n else if (qrState !== undefined)\r\n url_ += \"qrState=\" + encodeURIComponent(\"\" + qrState) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStatus(_response);\r\n });\r\n }\r\n\r\n protected processStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StatusResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n initiateSignature(body: SignInitiateRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/authentication/initiate-signature\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInitiateSignature(_response);\r\n });\r\n }\r\n\r\n protected processInitiateSignature(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BankIdInitResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param pid (optional) \r\n * @return Success\r\n */\r\n generateToken(pid: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/authentication/generate-token?\";\r\n if (pid === null)\r\n throw new Error(\"The parameter 'pid' cannot be null.\");\r\n else if (pid !== undefined)\r\n url_ += \"pid=\" + encodeURIComponent(\"\" + pid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGenerateToken(_response);\r\n });\r\n }\r\n\r\n protected processGenerateToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TokenResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param requestToken (optional) \r\n * @return Success\r\n */\r\n authenticateToken(requestToken: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/authentication/authenticate-token?\";\r\n if (requestToken === null)\r\n throw new Error(\"The parameter 'requestToken' cannot be null.\");\r\n else if (requestToken !== undefined)\r\n url_ += \"requestToken=\" + encodeURIComponent(\"\" + requestToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAuthenticateToken(_response);\r\n });\r\n }\r\n\r\n protected processAuthenticateToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AuthenticationResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class Client extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param returnUrl (optional) \r\n * @param uiOptions (optional) \r\n * @return Success\r\n */\r\n auth(returnUrl: string | undefined, uiOptions: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ActiveLogin/BankId/Auth?\";\r\n if (returnUrl === null)\r\n throw new Error(\"The parameter 'returnUrl' cannot be null.\");\r\n else if (returnUrl !== undefined)\r\n url_ += \"returnUrl=\" + encodeURIComponent(\"\" + returnUrl) + \"&\";\r\n if (uiOptions === null)\r\n throw new Error(\"The parameter 'uiOptions' cannot be null.\");\r\n else if (uiOptions !== undefined)\r\n url_ += \"uiOptions=\" + encodeURIComponent(\"\" + uiOptions) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAuth(_response);\r\n });\r\n }\r\n\r\n protected processAuth(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n initialize(body: BankIdUiApiInitializeRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ActiveLogin/BankId/Auth/Api/Initialize\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInitialize(_response);\r\n });\r\n }\r\n\r\n protected processInitialize(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BankIdUiApiInitializeResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n status(body: BankIdUiApiStatusRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ActiveLogin/BankId/Auth/Api/Status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStatus(_response);\r\n });\r\n }\r\n\r\n protected processStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n qrCode(body: BankIdUiApiQrCodeRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ActiveLogin/BankId/Auth/Api/QrCode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processQrCode(_response);\r\n });\r\n }\r\n\r\n protected processQrCode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n cancel(body: BankIdUiApiCancelRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ActiveLogin/BankId/Auth/Api/Cancel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCancel(_response);\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n contacts(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Contacts/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processContacts(_response);\r\n });\r\n }\r\n\r\n protected processContacts(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Contact.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n anonymous(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAnonymous(_response);\r\n });\r\n }\r\n\r\n protected processAnonymous(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ContactClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n create(body: Contact | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Contacts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Contact.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EasyPriceClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n contact(body: EasyLead | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/site/contact\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processContact(_response);\r\n });\r\n }\r\n\r\n protected processContact(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param nrOfDeliveries (optional) \r\n * @return Success\r\n */\r\n calculate(nrOfDeliveries: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/site/prices?\";\r\n if (nrOfDeliveries === null)\r\n throw new Error(\"The parameter 'nrOfDeliveries' cannot be null.\");\r\n else if (nrOfDeliveries !== undefined)\r\n url_ += \"NrOfDeliveries=\" + encodeURIComponent(\"\" + nrOfDeliveries) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCalculate(_response);\r\n });\r\n }\r\n\r\n protected processCalculate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EasyPriceResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnodeClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n callback(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/callback\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCallback(_response);\r\n });\r\n }\r\n\r\n protected processCallback(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n syncVehicles(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles/sync\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSyncVehicles(_response);\r\n });\r\n }\r\n\r\n protected processSyncVehicles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VehicleModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getVehicle(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVehicle(_response);\r\n });\r\n }\r\n\r\n protected processGetVehicle(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VehicleModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getVehicles(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVehicles(_response);\r\n });\r\n }\r\n\r\n protected processGetVehicles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VehicleModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n disconnectVendor(vendor: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vendor/{vendor}\";\r\n if (vendor === undefined || vendor === null)\r\n throw new Error(\"The parameter 'vendor' must be defined.\");\r\n url_ = url_.replace(\"{vendor}\", encodeURIComponent(\"\" + vendor));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDisconnectVendor(_response);\r\n });\r\n }\r\n\r\n protected processDisconnectVendor(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VehicleModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param deadline (optional) \r\n * @param minimumChargeLimit (optional) \r\n * @return Success\r\n */\r\n setSmartCharging(vehicleId: string, deadline: string | undefined, minimumChargeLimit: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles/{vehicleId}/smart-charging-policy?\";\r\n if (vehicleId === undefined || vehicleId === null)\r\n throw new Error(\"The parameter 'vehicleId' must be defined.\");\r\n url_ = url_.replace(\"{vehicleId}\", encodeURIComponent(\"\" + vehicleId));\r\n if (deadline === null)\r\n throw new Error(\"The parameter 'deadline' cannot be null.\");\r\n else if (deadline !== undefined)\r\n url_ += \"deadline=\" + encodeURIComponent(\"\" + deadline) + \"&\";\r\n if (minimumChargeLimit === null)\r\n throw new Error(\"The parameter 'minimumChargeLimit' cannot be null.\");\r\n else if (minimumChargeLimit !== undefined)\r\n url_ += \"minimumChargeLimit=\" + encodeURIComponent(\"\" + minimumChargeLimit) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSetSmartCharging(_response);\r\n });\r\n }\r\n\r\n protected processSetSmartCharging(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SmartChargingResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n removeSmartCharging(vehicleId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles/{vehicleId}/smart-charging-policy\";\r\n if (vehicleId === undefined || vehicleId === null)\r\n throw new Error(\"The parameter 'vehicleId' must be defined.\");\r\n url_ = url_.replace(\"{vehicleId}\", encodeURIComponent(\"\" + vehicleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRemoveSmartCharging(_response);\r\n });\r\n }\r\n\r\n protected processRemoveSmartCharging(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SmartChargingResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n createSmartOverride(vehicleId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles/{vehicleId}/smart-override\";\r\n if (vehicleId === undefined || vehicleId === null)\r\n throw new Error(\"The parameter 'vehicleId' must be defined.\");\r\n url_ = url_.replace(\"{vehicleId}\", encodeURIComponent(\"\" + vehicleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateSmartOverride(_response);\r\n });\r\n }\r\n\r\n protected processCreateSmartOverride(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SmartChargingOverrideResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteSmartOverride(vehicleId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/vehicles/{vehicleId}/smart-override\";\r\n if (vehicleId === undefined || vehicleId === null)\r\n throw new Error(\"The parameter 'vehicleId' must be defined.\");\r\n url_ = url_.replace(\"{vehicleId}\", encodeURIComponent(\"\" + vehicleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeleteSmartOverride(_response);\r\n });\r\n }\r\n\r\n protected processDeleteSmartOverride(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SmartChargingOverrideResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param redirectUri (optional) \r\n * @param vendor (optional) \r\n * @return Success\r\n */\r\n getLinkUrl(redirectUri: string | undefined, vendor: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/link?\";\r\n if (redirectUri === null)\r\n throw new Error(\"The parameter 'redirectUri' cannot be null.\");\r\n else if (redirectUri !== undefined)\r\n url_ += \"redirectUri=\" + encodeURIComponent(\"\" + redirectUri) + \"&\";\r\n if (vendor === null)\r\n throw new Error(\"The parameter 'vendor' cannot be null.\");\r\n else if (vendor !== undefined)\r\n url_ += \"vendor=\" + encodeURIComponent(\"\" + vendor) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetLinkUrl(_response);\r\n });\r\n }\r\n\r\n protected processGetLinkUrl(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnodeLinkResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getUser(userId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/users/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetUser(_response);\r\n });\r\n }\r\n\r\n protected processGetUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n unlinkUser(userId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/users/{userId}/unlink\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUnlinkUser(_response);\r\n });\r\n }\r\n\r\n protected processUnlinkUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deauthorizeUser(userId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/users/{userId}/deauthorize\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeauthorizeUser(_response);\r\n });\r\n }\r\n\r\n protected processDeauthorizeUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getLocations(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/locations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetLocations(_response);\r\n });\r\n }\r\n\r\n protected processGetLocations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Location.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param name (optional) \r\n * @param latitude (optional) \r\n * @param longitude (optional) \r\n * @param timeZoneName (optional) \r\n * @return Success\r\n */\r\n createLocation(name: string | undefined, latitude: number | undefined, longitude: number | undefined, timeZoneName: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/locations?\";\r\n if (name === null)\r\n throw new Error(\"The parameter 'name' cannot be null.\");\r\n else if (name !== undefined)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (latitude === null)\r\n throw new Error(\"The parameter 'latitude' cannot be null.\");\r\n else if (latitude !== undefined)\r\n url_ += \"Latitude=\" + encodeURIComponent(\"\" + latitude) + \"&\";\r\n if (longitude === null)\r\n throw new Error(\"The parameter 'longitude' cannot be null.\");\r\n else if (longitude !== undefined)\r\n url_ += \"Longitude=\" + encodeURIComponent(\"\" + longitude) + \"&\";\r\n if (timeZoneName === null)\r\n throw new Error(\"The parameter 'timeZoneName' cannot be null.\");\r\n else if (timeZoneName !== undefined)\r\n url_ += \"TimeZoneName=\" + encodeURIComponent(\"\" + timeZoneName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateLocation(_response);\r\n });\r\n }\r\n\r\n protected processCreateLocation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Location.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param name (optional) \r\n * @param latitude (optional) \r\n * @param longitude (optional) \r\n * @param timeZoneName (optional) \r\n * @return Success\r\n */\r\n updateLocation(locationId: string, name: string | undefined, latitude: number | undefined, longitude: number | undefined, timeZoneName: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/locations/{locationId}?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n if (name === null)\r\n throw new Error(\"The parameter 'name' cannot be null.\");\r\n else if (name !== undefined)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (latitude === null)\r\n throw new Error(\"The parameter 'latitude' cannot be null.\");\r\n else if (latitude !== undefined)\r\n url_ += \"Latitude=\" + encodeURIComponent(\"\" + latitude) + \"&\";\r\n if (longitude === null)\r\n throw new Error(\"The parameter 'longitude' cannot be null.\");\r\n else if (longitude !== undefined)\r\n url_ += \"Longitude=\" + encodeURIComponent(\"\" + longitude) + \"&\";\r\n if (timeZoneName === null)\r\n throw new Error(\"The parameter 'timeZoneName' cannot be null.\");\r\n else if (timeZoneName !== undefined)\r\n url_ += \"TimeZoneName=\" + encodeURIComponent(\"\" + timeZoneName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateLocation(_response);\r\n });\r\n }\r\n\r\n protected processUpdateLocation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Location.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteLocation(locationId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/locations/{locationId}/delete\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeleteLocation(_response);\r\n });\r\n }\r\n\r\n protected processDeleteLocation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getInterventionById(interventionId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/interventions/{interventionId}\";\r\n if (interventionId === undefined || interventionId === null)\r\n throw new Error(\"The parameter 'interventionId' must be defined.\");\r\n url_ = url_.replace(\"{interventionId}\", encodeURIComponent(\"\" + interventionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInterventionById(_response);\r\n });\r\n }\r\n\r\n protected processGetInterventionById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Intervention.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param startDate (optional) \r\n * @param endDate (optional) \r\n * @return Success\r\n */\r\n getChargingSessions(startDate: moment.Moment | undefined, endDate: moment.Moment | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/charging-sessions?\";\r\n if (startDate === null)\r\n throw new Error(\"The parameter 'startDate' cannot be null.\");\r\n else if (startDate !== undefined)\r\n url_ += \"startDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate === null)\r\n throw new Error(\"The parameter 'endDate' cannot be null.\");\r\n else if (endDate !== undefined)\r\n url_ += \"endDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetChargingSessions(_response);\r\n });\r\n }\r\n\r\n protected processGetChargingSessions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SessionsStatisticsTimeseries.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getSupportedModels(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/enode/supported-models\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetSupportedModels(_response);\r\n });\r\n }\r\n\r\n protected processGetSupportedModels(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupportedModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class FasAdClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param file (optional) \r\n * @param objectId (optional) \r\n * @param channel (optional) \r\n * @return Success\r\n */\r\n uploadContract(file: FileParameter | undefined, objectId: string | undefined, channel: Channel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/fasad/contract\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file === null || file === undefined)\r\n throw new Error(\"The parameter 'file' cannot be null.\");\r\n else\r\n content_.append(\"File\", file.data, file.fileName ? file.fileName : \"File\");\r\n if (objectId === null || objectId === undefined)\r\n throw new Error(\"The parameter 'objectId' cannot be null.\");\r\n else\r\n content_.append(\"ObjectId\", objectId.toString());\r\n if (channel === null || channel === undefined)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else\r\n content_.append(\"Channel\", channel.toString());\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUploadContract(_response);\r\n });\r\n }\r\n\r\n protected processUploadContract(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param objectId (optional) \r\n * @return Success\r\n */\r\n notifyEsny(objectId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/fasad/notify-esny?\";\r\n if (objectId === null)\r\n throw new Error(\"The parameter 'objectId' cannot be null.\");\r\n else if (objectId !== undefined)\r\n url_ += \"objectId=\" + encodeURIComponent(\"\" + objectId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processNotifyEsny(_response);\r\n });\r\n }\r\n\r\n protected processNotifyEsny(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n updateOffices(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/fasad/update-offices\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateOffices(_response);\r\n });\r\n }\r\n\r\n protected processUpdateOffices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param months (optional) \r\n * @return Success\r\n */\r\n updateStats(months: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/fasad/update-stats?\";\r\n if (months === null)\r\n throw new Error(\"The parameter 'months' cannot be null.\");\r\n else if (months !== undefined)\r\n url_ += \"months=\" + encodeURIComponent(\"\" + months) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateStats(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStats(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class JobsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n cancel(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/jobs/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCancel(_response);\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MspecsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n subscriptionCallbacks(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/subscribe\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSubscriptionCallbacks(_response);\r\n });\r\n }\r\n\r\n protected processSubscriptionCallbacks(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n dealCallbacks(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/deal\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDealCallbacks(_response);\r\n });\r\n }\r\n\r\n protected processDealCallbacks(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n listSubscriptions(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/list-subscriptions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processListSubscriptions(_response);\r\n });\r\n }\r\n\r\n protected processListSubscriptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MspecsSubscriber.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n syncDeals(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/sync-deals\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSyncDeals(_response);\r\n });\r\n }\r\n\r\n protected processSyncDeals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n unhandledCallbacks(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/unhandled-callbacks\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUnhandledCallbacks(_response);\r\n });\r\n }\r\n\r\n protected processUnhandledCallbacks(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n sendMissingFileNotification(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/send-missing-file/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSendMissingFileNotification(_response);\r\n });\r\n }\r\n\r\n protected processSendMissingFileNotification(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n finishDelivery(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/mspecs/finish-delivery/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFinishDelivery(_response);\r\n });\r\n }\r\n\r\n protected processFinishDelivery(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ObjectClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param objectNumber (optional) \r\n * @param accessDate (optional) \r\n * @param customerId (optional) \r\n * @param channel (optional) \r\n * @param salesChannel (optional) \r\n * @param expandDateSearchIfNotFound (optional) \r\n * @return Success\r\n */\r\n get(objectNumber: string | undefined, accessDate: moment.Moment | undefined, customerId: string | undefined, channel: RealEstateChannel | undefined, salesChannel: Channel | undefined, expandDateSearchIfNotFound: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/get?\";\r\n if (objectNumber === null)\r\n throw new Error(\"The parameter 'objectNumber' cannot be null.\");\r\n else if (objectNumber !== undefined)\r\n url_ += \"ObjectNumber=\" + encodeURIComponent(\"\" + objectNumber) + \"&\";\r\n if (accessDate === null)\r\n throw new Error(\"The parameter 'accessDate' cannot be null.\");\r\n else if (accessDate !== undefined)\r\n url_ += \"AccessDate=\" + encodeURIComponent(accessDate ? \"\" + accessDate.toISOString() : \"\") + \"&\";\r\n if (customerId === null)\r\n throw new Error(\"The parameter 'customerId' cannot be null.\");\r\n else if (customerId !== undefined)\r\n url_ += \"CustomerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"Channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n if (salesChannel === null)\r\n throw new Error(\"The parameter 'salesChannel' cannot be null.\");\r\n else if (salesChannel !== undefined)\r\n url_ += \"SalesChannel=\" + encodeURIComponent(\"\" + salesChannel) + \"&\";\r\n if (expandDateSearchIfNotFound === null)\r\n throw new Error(\"The parameter 'expandDateSearchIfNotFound' cannot be null.\");\r\n else if (expandDateSearchIfNotFound !== undefined)\r\n url_ += \"ExpandDateSearchIfNotFound=\" + encodeURIComponent(\"\" + expandDateSearchIfNotFound) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RealEstateObject.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param objectNumber (optional) \r\n * @param channel (optional) \r\n * @return Success\r\n */\r\n getFasadRaw(objectNumber: string | undefined, channel: Channel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/fasadRaw?\";\r\n if (objectNumber === null)\r\n throw new Error(\"The parameter 'objectNumber' cannot be null.\");\r\n else if (objectNumber !== undefined)\r\n url_ += \"objectNumber=\" + encodeURIComponent(\"\" + objectNumber) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetFasadRaw(_response);\r\n });\r\n }\r\n\r\n protected processGetFasadRaw(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OfferClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param ip (optional) \r\n * @param no_tracking (optional) \r\n * @return Success\r\n */\r\n getById(id: string, ip: string | undefined, no_tracking: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Offers/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (ip === null)\r\n throw new Error(\"The parameter 'ip' cannot be null.\");\r\n else if (ip !== undefined)\r\n url_ += \"ip=\" + encodeURIComponent(\"\" + ip) + \"&\";\r\n if (no_tracking === null)\r\n throw new Error(\"The parameter 'no_tracking' cannot be null.\");\r\n else if (no_tracking !== undefined)\r\n url_ += \"no-tracking=\" + encodeURIComponent(\"\" + no_tracking) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Offer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n unsubscribe(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Offers/{id}/unsubscribe\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUnsubscribe(_response);\r\n });\r\n }\r\n\r\n protected processUnsubscribe(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Offer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n create(body: Offer | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Offers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Offer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n send(offerId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Offers/{offerId}/send\";\r\n if (offerId === undefined || offerId === null)\r\n throw new Error(\"The parameter 'offerId' must be defined.\");\r\n url_ = url_.replace(\"{offerId}\", encodeURIComponent(\"\" + offerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSend(_response);\r\n });\r\n }\r\n\r\n protected processSend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 201) {\r\n return response.text().then((_responseText) => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = resultData201 !== undefined ? resultData201 : null;\r\n \r\n return result201;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OrderClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param preorder (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n create(preorder: boolean | undefined, body: Order | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders?\";\r\n if (preorder === null)\r\n throw new Error(\"The parameter 'preorder' cannot be null.\");\r\n else if (preorder !== undefined)\r\n url_ += \"preorder=\" + encodeURIComponent(\"\" + preorder) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 201) {\r\n return response.text().then((_responseText) => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = resultData201 !== undefined ? resultData201 : null;\r\n \r\n return result201;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param externalID (optional) \r\n * @return Success\r\n */\r\n getByGuid(externalID: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders?\";\r\n if (externalID === null)\r\n throw new Error(\"The parameter 'externalID' cannot be null.\");\r\n else if (externalID !== undefined)\r\n url_ += \"externalID=\" + encodeURIComponent(\"\" + externalID) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByGuid(_response);\r\n });\r\n }\r\n\r\n protected processGetByGuid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Order.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n completionEA(elavtalID: string, body: Order | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{elavtalID}/completionEA\";\r\n if (elavtalID === undefined || elavtalID === null)\r\n throw new Error(\"The parameter 'elavtalID' must be defined.\");\r\n url_ = url_.replace(\"{elavtalID}\", encodeURIComponent(\"\" + elavtalID));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCompletionEA(_response);\r\n });\r\n }\r\n\r\n protected processCompletionEA(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 201) {\r\n return response.text().then((_responseText) => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = resultData201 !== undefined ? resultData201 : null;\r\n \r\n return result201;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n completion(completionId: string, body: Order | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{completionId}/completion\";\r\n if (completionId === undefined || completionId === null)\r\n throw new Error(\"The parameter 'completionId' must be defined.\");\r\n url_ = url_.replace(\"{completionId}\", encodeURIComponent(\"\" + completionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCompletion(_response);\r\n });\r\n }\r\n\r\n protected processCompletion(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 201) {\r\n return response.text().then((_responseText) => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = resultData201 !== undefined ? resultData201 : null;\r\n \r\n return result201;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getById(id: number, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Order.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n pdf(id: number, elavtalId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{id}/pdf/{elavtalId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (elavtalId === undefined || elavtalId === null)\r\n throw new Error(\"The parameter 'elavtalId' must be defined.\");\r\n url_ = url_.replace(\"{elavtalId}\", encodeURIComponent(\"\" + elavtalId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPdf(_response);\r\n });\r\n }\r\n\r\n protected processPdf(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Order.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getPdf(id: number, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{id}/pdf\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetPdf(_response);\r\n });\r\n }\r\n\r\n protected processGetPdf(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n sync(id: number, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{id}/sync\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSync(_response);\r\n });\r\n }\r\n\r\n protected processSync(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n cancelInsurance(id: number, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/{id}/cancel-insurance\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCancelInsurance(_response);\r\n });\r\n }\r\n\r\n protected processCancelInsurance(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OrderStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param elavtalID (optional) \r\n * @param company (optional) \r\n * @return Success\r\n */\r\n getByDeliveryID(elavtalID: string | undefined, company: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/orderStatus?\";\r\n if (elavtalID === null)\r\n throw new Error(\"The parameter 'elavtalID' cannot be null.\");\r\n else if (elavtalID !== undefined)\r\n url_ += \"elavtalID=\" + encodeURIComponent(\"\" + elavtalID) + \"&\";\r\n if (company === null)\r\n throw new Error(\"The parameter 'company' cannot be null.\");\r\n else if (company !== undefined)\r\n url_ += \"Company=\" + encodeURIComponent(\"\" + company) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByDeliveryID(_response);\r\n });\r\n }\r\n\r\n protected processGetByDeliveryID(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OrderStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CompletionsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param companyName (optional) \r\n * @return Success\r\n */\r\n getById(completionId: string, companyName: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/completions/{completionId}?\";\r\n if (completionId === undefined || completionId === null)\r\n throw new Error(\"The parameter 'completionId' must be defined.\");\r\n url_ = url_.replace(\"{completionId}\", encodeURIComponent(\"\" + completionId));\r\n if (companyName === null)\r\n throw new Error(\"The parameter 'companyName' cannot be null.\");\r\n else if (companyName !== undefined)\r\n url_ += \"companyName=\" + encodeURIComponent(\"\" + companyName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Order.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ElavtalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param elavtalID (optional) \r\n * @param company (optional) \r\n * @return Success\r\n */\r\n getByGuid(elavtalID: string | undefined, company: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/orders/elavtal?\";\r\n if (elavtalID === null)\r\n throw new Error(\"The parameter 'elavtalID' cannot be null.\");\r\n else if (elavtalID !== undefined)\r\n url_ += \"elavtalID=\" + encodeURIComponent(\"\" + elavtalID) + \"&\";\r\n if (company === null)\r\n throw new Error(\"The parameter 'company' cannot be null.\");\r\n else if (company !== undefined)\r\n url_ += \"Company=\" + encodeURIComponent(\"\" + company) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByGuid(_response);\r\n });\r\n }\r\n\r\n protected processGetByGuid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Order.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PriceClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param consumption (optional) \r\n * @param channel (optional) \r\n * @return Success\r\n */\r\n calculate(consumption: number | undefined, channel: Channel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/prices?\";\r\n if (consumption === null)\r\n throw new Error(\"The parameter 'consumption' cannot be null.\");\r\n else if (consumption !== undefined)\r\n url_ += \"Consumption=\" + encodeURIComponent(\"\" + consumption) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"Channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCalculate(_response);\r\n });\r\n }\r\n\r\n protected processCalculate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PriceResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param consumption (optional) \r\n * @param channel (optional) \r\n * @return Success\r\n */\r\n average(consumption: number | undefined, channel: Channel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/prices/average?\";\r\n if (consumption === null)\r\n throw new Error(\"The parameter 'consumption' cannot be null.\");\r\n else if (consumption !== undefined)\r\n url_ += \"Consumption=\" + encodeURIComponent(\"\" + consumption) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"Channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAverage(_response);\r\n });\r\n }\r\n\r\n protected processAverage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AveragePrices.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param consumption (optional) \r\n * @param channel (optional) \r\n * @return Success\r\n */\r\n list(consumption: number | undefined, channel: Channel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/prices/List?\";\r\n if (consumption === null)\r\n throw new Error(\"The parameter 'consumption' cannot be null.\");\r\n else if (consumption !== undefined)\r\n url_ += \"Consumption=\" + encodeURIComponent(\"\" + consumption) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"Channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SpotPrice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param consumption (optional) \r\n * @param channel (optional) \r\n * @return Success\r\n */\r\n listLatest(consumption: number | undefined, channel: Channel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/prices/ListLatest?\";\r\n if (consumption === null)\r\n throw new Error(\"The parameter 'consumption' cannot be null.\");\r\n else if (consumption !== undefined)\r\n url_ += \"Consumption=\" + encodeURIComponent(\"\" + consumption) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"Channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processListLatest(_response);\r\n });\r\n }\r\n\r\n protected processListLatest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SpotPrice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RealEstateAgentClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getById(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RealEstateAgent/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RealEstateAgentModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param name (optional) \r\n * @param channel (optional) \r\n * @param id (optional) \r\n * @return Success\r\n */\r\n list(name: string | undefined, channel: Channel | undefined, id: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RealEstateAgent?\";\r\n if (name === null)\r\n throw new Error(\"The parameter 'name' cannot be null.\");\r\n else if (name !== undefined)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (channel === null)\r\n throw new Error(\"The parameter 'channel' cannot be null.\");\r\n else if (channel !== undefined)\r\n url_ += \"Channel=\" + encodeURIComponent(\"\" + channel) + \"&\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealEstateAgentModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n create(body: RealEstateAgentModel | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RealEstateAgent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RealEstateAgentModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n loggedIn(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/loggedin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLoggedIn(_response);\r\n });\r\n }\r\n\r\n protected processLoggedIn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportUser.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n sales(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/sales?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSales(_response);\r\n });\r\n }\r\n\r\n protected processSales(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n conversions(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/conversions?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processConversions(_response);\r\n });\r\n }\r\n\r\n protected processConversions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ConversionResponseItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n conversionsCSV(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/conversions-csv?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processConversionsCSV(_response);\r\n });\r\n }\r\n\r\n protected processConversionsCSV(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n executiveReport(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/executive-report?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processExecutiveReport(_response);\r\n });\r\n }\r\n\r\n protected processExecutiveReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExecutiveReportResponseItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n executiveReportCSV(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/executive-report-csv?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processExecutiveReportCSV(_response);\r\n });\r\n }\r\n\r\n protected processExecutiveReportCSV(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n insuranceSalesCSV(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/insurance-sales-csv?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInsuranceSalesCSV(_response);\r\n });\r\n }\r\n\r\n protected processInsuranceSalesCSV(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n insuranceSales(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/insurance-sales?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInsuranceSales(_response);\r\n });\r\n }\r\n\r\n protected processInsuranceSales(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SalesResponseItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n mortgageSalesCSV(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/mortgage-sales-csv?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMortgageSalesCSV(_response);\r\n });\r\n }\r\n\r\n protected processMortgageSalesCSV(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n mortgageSales(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/mortgage-sales?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMortgageSales(_response);\r\n });\r\n }\r\n\r\n protected processMortgageSales(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SalesResponseItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n electricitySalesCSV(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/electricity-sales-csv?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processElectricitySalesCSV(_response);\r\n });\r\n }\r\n\r\n protected processElectricitySalesCSV(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n electricitySales(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/electricity-sales?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processElectricitySales(_response);\r\n });\r\n }\r\n\r\n protected processElectricitySales(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SalesResponseItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param ownerId (optional) \r\n * @return Success\r\n */\r\n chains(ownerId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/chains?\";\r\n if (ownerId === null)\r\n throw new Error(\"The parameter 'ownerId' cannot be null.\");\r\n else if (ownerId !== undefined)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processChains(_response);\r\n });\r\n }\r\n\r\n protected processChains(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealEstateChainModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n owners(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/owners\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOwners(_response);\r\n });\r\n }\r\n\r\n protected processOwners(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealEstateChainOwner.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param chainId (optional) \r\n * @return Success\r\n */\r\n offices(chainId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/offices?\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOffices(_response);\r\n });\r\n }\r\n\r\n protected processOffices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealEstateOfficeModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param officeId (optional) \r\n * @return Success\r\n */\r\n agents(officeId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/agents?\";\r\n if (officeId === null)\r\n throw new Error(\"The parameter 'officeId' cannot be null.\");\r\n else if (officeId !== undefined)\r\n url_ += \"officeId=\" + encodeURIComponent(\"\" + officeId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAgents(_response);\r\n });\r\n }\r\n\r\n protected processAgents(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealEstateAgentModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n addons(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/addons\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAddons(_response);\r\n });\r\n }\r\n\r\n protected processAddons(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n users(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/users\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUsers(_response);\r\n });\r\n }\r\n\r\n protected processUsers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReportUser.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createUser(body: ReportUserUpdate | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/users\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateUser(_response);\r\n });\r\n }\r\n\r\n protected processCreateUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportUser.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateUser(id: string, body: ReportUserUpdate | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/users/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateUser(_response);\r\n });\r\n }\r\n\r\n protected processUpdateUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportUser.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteUser(id: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/users/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeleteUser(_response);\r\n });\r\n }\r\n\r\n protected processDeleteUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n addUserPermission(id: string, body: ReportUserPermissionUpdate | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/users/{id}/permissions\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAddUserPermission(_response);\r\n });\r\n }\r\n\r\n protected processAddUserPermission(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportUserPermission.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n removeUserPermission(id: string, permissionId: string, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/users/{id}/permissions/{permissionId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (permissionId === undefined || permissionId === null)\r\n throw new Error(\"The parameter 'permissionId' must be defined.\");\r\n url_ = url_.replace(\"{permissionId}\", encodeURIComponent(\"\" + permissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRemoveUserPermission(_response);\r\n });\r\n }\r\n\r\n protected processRemoveUserPermission(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @param count (optional) \r\n * @return Success\r\n */\r\n topOffices(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, count: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/topoffices?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTopOffices(_response);\r\n });\r\n }\r\n\r\n protected processTopOffices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param numberOfMonths (optional) \r\n * @return Success\r\n */\r\n history(numberOfMonths: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/history?\";\r\n if (numberOfMonths === null)\r\n throw new Error(\"The parameter 'numberOfMonths' cannot be null.\");\r\n else if (numberOfMonths !== undefined)\r\n url_ += \"NumberOfMonths=\" + encodeURIComponent(\"\" + numberOfMonths) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processHistory(_response);\r\n });\r\n }\r\n\r\n protected processHistory(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HistoryItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @param count (optional) \r\n * @return Success\r\n */\r\n topAgents(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, count: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/topagents?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTopAgents(_response);\r\n });\r\n }\r\n\r\n protected processTopAgents(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgentItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param fromDate (optional) \r\n * @param toDate (optional) \r\n * @param byCreatedDate (optional) \r\n * @param chainId (optional) \r\n * @param showElectricity (optional) \r\n * @param showInsurance (optional) \r\n * @param showMortgage (optional) \r\n * @return Success\r\n */\r\n csvString(fromDate: moment.Moment | undefined, toDate: moment.Moment | undefined, byCreatedDate: boolean | undefined, chainId: string | undefined, showElectricity: boolean | undefined, showInsurance: boolean | undefined, showMortgage: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/report/csvstring?\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"FromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (toDate === null)\r\n throw new Error(\"The parameter 'toDate' cannot be null.\");\r\n else if (toDate !== undefined)\r\n url_ += \"ToDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\r\n if (byCreatedDate === null)\r\n throw new Error(\"The parameter 'byCreatedDate' cannot be null.\");\r\n else if (byCreatedDate !== undefined)\r\n url_ += \"ByCreatedDate=\" + encodeURIComponent(\"\" + byCreatedDate) + \"&\";\r\n if (chainId === null)\r\n throw new Error(\"The parameter 'chainId' cannot be null.\");\r\n else if (chainId !== undefined)\r\n url_ += \"ChainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (showElectricity === null)\r\n throw new Error(\"The parameter 'showElectricity' cannot be null.\");\r\n else if (showElectricity !== undefined)\r\n url_ += \"ShowElectricity=\" + encodeURIComponent(\"\" + showElectricity) + \"&\";\r\n if (showInsurance === null)\r\n throw new Error(\"The parameter 'showInsurance' cannot be null.\");\r\n else if (showInsurance !== undefined)\r\n url_ += \"ShowInsurance=\" + encodeURIComponent(\"\" + showInsurance) + \"&\";\r\n if (showMortgage === null)\r\n throw new Error(\"The parameter 'showMortgage' cannot be null.\");\r\n else if (showMortgage !== undefined)\r\n url_ += \"ShowMortgage=\" + encodeURIComponent(\"\" + showMortgage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCsvString(_response);\r\n });\r\n }\r\n\r\n protected processCsvString(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SelfServiceClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param host (optional) \r\n * @return Success\r\n */\r\n customer(host: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/customer?\";\r\n if (host === null)\r\n throw new Error(\"The parameter 'host' cannot be null.\");\r\n else if (host !== undefined)\r\n url_ += \"host=\" + encodeURIComponent(\"\" + host) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCustomer(_response);\r\n });\r\n }\r\n\r\n protected processCustomer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Customer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param host (optional) \r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateCustomer(host: string | undefined, body: Customer | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/customer?\";\r\n if (host === null)\r\n throw new Error(\"The parameter 'host' cannot be null.\");\r\n else if (host !== undefined)\r\n url_ += \"host=\" + encodeURIComponent(\"\" + host) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateCustomer(_response);\r\n });\r\n }\r\n\r\n protected processUpdateCustomer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Customer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param host (optional) \r\n * @return Success\r\n */\r\n elavtal(host: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/elavtal?\";\r\n if (host === null)\r\n throw new Error(\"The parameter 'host' cannot be null.\");\r\n else if (host !== undefined)\r\n url_ += \"host=\" + encodeURIComponent(\"\" + host) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processElavtal(_response);\r\n });\r\n }\r\n\r\n protected processElavtal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Elavtal.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param propertyId (optional) \r\n * @param host (optional) \r\n * @param elavtalId (optional) \r\n * @return Success\r\n */\r\n consumption(propertyId: string | undefined, host: string | undefined, elavtalId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/consumption?\";\r\n if (propertyId === null)\r\n throw new Error(\"The parameter 'propertyId' cannot be null.\");\r\n else if (propertyId !== undefined)\r\n url_ += \"propertyId=\" + encodeURIComponent(\"\" + propertyId) + \"&\";\r\n if (host === null)\r\n throw new Error(\"The parameter 'host' cannot be null.\");\r\n else if (host !== undefined)\r\n url_ += \"host=\" + encodeURIComponent(\"\" + host) + \"&\";\r\n if (elavtalId === null)\r\n throw new Error(\"The parameter 'elavtalId' cannot be null.\");\r\n else if (elavtalId !== undefined)\r\n url_ += \"elavtalId=\" + encodeURIComponent(\"\" + elavtalId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processConsumption(_response);\r\n });\r\n }\r\n\r\n protected processConsumption(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Consumption.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param propertyId (optional) \r\n * @param deliveryId (optional) \r\n * @param startTime (optional) \r\n * @param endTime (optional) \r\n * @return Success\r\n */\r\n consumptions(propertyId: string | undefined, deliveryId: string | undefined, startTime: moment.Moment | undefined, endTime: moment.Moment | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/consumptions?\";\r\n if (propertyId === null)\r\n throw new Error(\"The parameter 'propertyId' cannot be null.\");\r\n else if (propertyId !== undefined)\r\n url_ += \"propertyId=\" + encodeURIComponent(\"\" + propertyId) + \"&\";\r\n if (deliveryId === null)\r\n throw new Error(\"The parameter 'deliveryId' cannot be null.\");\r\n else if (deliveryId !== undefined)\r\n url_ += \"deliveryId=\" + encodeURIComponent(\"\" + deliveryId) + \"&\";\r\n if (startTime === null)\r\n throw new Error(\"The parameter 'startTime' cannot be null.\");\r\n else if (startTime !== undefined)\r\n url_ += \"startTime=\" + encodeURIComponent(startTime ? \"\" + startTime.toISOString() : \"\") + \"&\";\r\n if (endTime === null)\r\n throw new Error(\"The parameter 'endTime' cannot be null.\");\r\n else if (endTime !== undefined)\r\n url_ += \"endTime=\" + encodeURIComponent(endTime ? \"\" + endTime.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processConsumptions(_response);\r\n });\r\n }\r\n\r\n protected processConsumptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Consumption.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param elavtalId (optional) \r\n * @param consumption (optional) \r\n * @return Success\r\n */\r\n fixedPrice(elavtalId: string | undefined, consumption: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/fixedPrice?\";\r\n if (elavtalId === null)\r\n throw new Error(\"The parameter 'elavtalId' cannot be null.\");\r\n else if (elavtalId !== undefined)\r\n url_ += \"elavtalId=\" + encodeURIComponent(\"\" + elavtalId) + \"&\";\r\n if (consumption === null)\r\n throw new Error(\"The parameter 'consumption' cannot be null.\");\r\n else if (consumption !== undefined)\r\n url_ += \"consumption=\" + encodeURIComponent(\"\" + consumption) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFixedPrice(_response);\r\n });\r\n }\r\n\r\n protected processFixedPrice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FixedPrice.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param deliveryId (optional) \r\n * @return Success\r\n */\r\n contracts(deliveryId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/contracts?\";\r\n if (deliveryId === null)\r\n throw new Error(\"The parameter 'deliveryId' cannot be null.\");\r\n else if (deliveryId !== undefined)\r\n url_ += \"deliveryId=\" + encodeURIComponent(\"\" + deliveryId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processContracts(_response);\r\n });\r\n }\r\n\r\n protected processContracts(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Contract.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param deliveryId (optional) \r\n * @return Success\r\n */\r\n estimatedVariablePrice(deliveryId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/estimated-variable-price?\";\r\n if (deliveryId === null)\r\n throw new Error(\"The parameter 'deliveryId' cannot be null.\");\r\n else if (deliveryId !== undefined)\r\n url_ += \"deliveryId=\" + encodeURIComponent(\"\" + deliveryId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEstimatedVariablePrice(_response);\r\n });\r\n }\r\n\r\n protected processEstimatedVariablePrice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VariablePrice.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param electricityArea (optional) \r\n * @param startDate (optional) \r\n * @param endDate (optional) \r\n * @param monthly (optional) \r\n * @return Success\r\n */\r\n variablePrices(electricityArea: number | undefined, startDate: moment.Moment | undefined, endDate: moment.Moment | undefined, monthly: boolean | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/variable-prices?\";\r\n if (electricityArea === null)\r\n throw new Error(\"The parameter 'electricityArea' cannot be null.\");\r\n else if (electricityArea !== undefined)\r\n url_ += \"electricityArea=\" + encodeURIComponent(\"\" + electricityArea) + \"&\";\r\n if (startDate === null)\r\n throw new Error(\"The parameter 'startDate' cannot be null.\");\r\n else if (startDate !== undefined)\r\n url_ += \"startDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate === null)\r\n throw new Error(\"The parameter 'endDate' cannot be null.\");\r\n else if (endDate !== undefined)\r\n url_ += \"endDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n if (monthly === null)\r\n throw new Error(\"The parameter 'monthly' cannot be null.\");\r\n else if (monthly !== undefined)\r\n url_ += \"monthly=\" + encodeURIComponent(\"\" + monthly) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVariablePrices(_response);\r\n });\r\n }\r\n\r\n protected processVariablePrices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VariablePrice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param deliveryId (optional) \r\n * @param fromDate (optional) \r\n * @return Success\r\n */\r\n estimateMonth(deliveryId: string | undefined, fromDate: moment.Moment | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/estimated-month?\";\r\n if (deliveryId === null)\r\n throw new Error(\"The parameter 'deliveryId' cannot be null.\");\r\n else if (deliveryId !== undefined)\r\n url_ += \"deliveryId=\" + encodeURIComponent(\"\" + deliveryId) + \"&\";\r\n if (fromDate === null)\r\n throw new Error(\"The parameter 'fromDate' cannot be null.\");\r\n else if (fromDate !== undefined)\r\n url_ += \"fromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEstimateMonth(_response);\r\n });\r\n }\r\n\r\n protected processEstimateMonth(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EstimatedMonth.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n estimationItems(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/estimation-items\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEstimationItems(_response);\r\n });\r\n }\r\n\r\n protected processEstimationItems(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EstimationItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param page (optional) \r\n * @return Success\r\n */\r\n invoices(page: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/invoices?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInvoices(_response);\r\n });\r\n }\r\n\r\n protected processInvoices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Billogram.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param page (optional) \r\n * @return Success\r\n */\r\n invoicesV2(page: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/invoices-v2?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInvoicesV2(_response);\r\n });\r\n }\r\n\r\n protected processInvoicesV2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Invoice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n registerForNotifications(body: Device | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/notifications\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRegisterForNotifications(_response);\r\n });\r\n }\r\n\r\n protected processRegisterForNotifications(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n sendNotification(body: NotificationRequest | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/notifications\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSendNotification(_response);\r\n });\r\n }\r\n\r\n protected processSendNotification(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param installationId (optional) \r\n * @return Success\r\n */\r\n deleteRegistration(installationId: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/notifications?\";\r\n if (installationId === null)\r\n throw new Error(\"The parameter 'installationId' cannot be null.\");\r\n else if (installationId !== undefined)\r\n url_ += \"installationId=\" + encodeURIComponent(\"\" + installationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeleteRegistration(_response);\r\n });\r\n }\r\n\r\n protected processDeleteRegistration(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getInstallations(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/self-service/notifications\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInstallations(_response);\r\n });\r\n }\r\n\r\n protected processGetInstallations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RegistrationDescription.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SoderbergPartnersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param consumption (optional) \r\n * @return Success\r\n */\r\n estimatedSavings(id: string, consumption: number | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/soderberg-partners/{id}/estimated-savings?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (consumption === null)\r\n throw new Error(\"The parameter 'consumption' cannot be null.\");\r\n else if (consumption !== undefined)\r\n url_ += \"consumption=\" + encodeURIComponent(\"\" + consumption) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEstimatedSavings(_response);\r\n });\r\n }\r\n\r\n protected processEstimatedSavings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Savings.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n updateConsumptions(signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/soderberg-partners/update-consumptions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateConsumptions(_response);\r\n });\r\n }\r\n\r\n protected processUpdateConsumptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateAndSend(id: string, body: Order | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/soderberg-partners/{id}/update-and-send\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateAndSend(_response);\r\n });\r\n }\r\n\r\n protected processUpdateAndSend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createAndSend(body: Order | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/soderberg-partners/create-and-send\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateAndSend(_response);\r\n });\r\n }\r\n\r\n protected processCreateAndSend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VitecClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param addOns (optional) \r\n * @param contractMethod (optional) \r\n * @param files (optional) \r\n * @param vitecFileIds (optional) \r\n * @param comment (optional) \r\n * @return Success\r\n */\r\n completeOrder(id: string, addOns: AddOn[] | undefined, contractMethod: RealEstateOrderContractMethod | undefined, files: FileParameter[] | undefined, vitecFileIds: string[] | undefined, comment: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/vitec/order/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (addOns === null || addOns === undefined)\r\n throw new Error(\"The parameter 'addOns' cannot be null.\");\r\n else\r\n addOns.forEach(item_ => content_.append(\"AddOns\", item_.toString()));\r\n if (contractMethod === null || contractMethod === undefined)\r\n throw new Error(\"The parameter 'contractMethod' cannot be null.\");\r\n else\r\n content_.append(\"ContractMethod\", contractMethod.toString());\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"Files\", item_.data, item_.fileName ? item_.fileName : \"Files\") );\r\n if (vitecFileIds === null || vitecFileIds === undefined)\r\n throw new Error(\"The parameter 'vitecFileIds' cannot be null.\");\r\n else\r\n vitecFileIds.forEach(item_ => content_.append(\"VitecFileIds\", item_.toString()));\r\n if (comment === null || comment === undefined)\r\n throw new Error(\"The parameter 'comment' cannot be null.\");\r\n else\r\n content_.append(\"Comment\", comment.toString());\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCompleteOrder(_response);\r\n });\r\n }\r\n\r\n protected processCompleteOrder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param customerId (optional) \r\n * @param token (optional) \r\n * @return Success\r\n */\r\n getOrder(customerId: string | undefined, token: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/vitec/order?\";\r\n if (customerId === null)\r\n throw new Error(\"The parameter 'customerId' cannot be null.\");\r\n else if (customerId !== undefined)\r\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\r\n if (token === null)\r\n throw new Error(\"The parameter 'token' cannot be null.\");\r\n else if (token !== undefined)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOrder(_response);\r\n });\r\n }\r\n\r\n protected processGetOrder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VitecOrder.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param customerId (optional) \r\n * @param token (optional) \r\n * @return Success\r\n */\r\n updateOrderNotInterested(customerId: string | undefined, token: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/vitec/order-not-interested?\";\r\n if (customerId === null)\r\n throw new Error(\"The parameter 'customerId' cannot be null.\");\r\n else if (customerId !== undefined)\r\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\r\n if (token === null)\r\n throw new Error(\"The parameter 'token' cannot be null.\");\r\n else if (token !== undefined)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateOrderNotInterested(_response);\r\n });\r\n }\r\n\r\n protected processUpdateOrderNotInterested(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param customerId (optional) \r\n * @param token (optional) \r\n * @return Success\r\n */\r\n updateOrderNotAsked(customerId: string | undefined, token: string | undefined, signal?: AbortSignal | undefined): Promise {\r\n let url_ = this.baseUrl + \"/vitec/order-not-asked?\";\r\n if (customerId === null)\r\n throw new Error(\"The parameter 'customerId' cannot be null.\");\r\n else if (customerId !== undefined)\r\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\r\n if (token === null)\r\n throw new Error(\"The parameter 'token' cannot be null.\");\r\n else if (token !== undefined)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateOrderNotAsked(_response);\r\n });\r\n }\r\n\r\n protected processUpdateOrderNotAsked(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class Address implements IAddress {\r\n pid?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n\r\n constructor(data?: IAddress) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pid = _data[\"pid\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Address {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Address();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pid\"] = this.pid;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddress {\r\n pid?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n}\r\n\r\nexport enum Channel {\r\n WEB = \"WEB\",\r\n FRIBERGASKOLAN = \"FRIBERGASKOLAN\",\r\n ERIK_OLSSON = \"ERIK_OLSSON\",\r\n SAF = \"SAF\",\r\n STIGTOMTA_IF = \"STIGTOMTA_IF\",\r\n NSK = \"NSK\",\r\n SWADD = \"SWADD\",\r\n BRFMATTBANDET = \"BRFMATTBANDET\",\r\n NYKVARNEL = \"NYKVARNEL\",\r\n SKANDIA_MAKLARNA = \"SKANDIA_MAKLARNA\",\r\n SKANDIA_MAKLARNA_PARTNER = \"SKANDIA_MAKLARNA_PARTNER\",\r\n ERIK_OLSSON_PARTNER = \"ERIK_OLSSON_PARTNER\",\r\n SODERBERG_PARTNERS = \"SODERBERG_PARTNERS\",\r\n AVY = \"AVY\",\r\n ERIK_OLSSON_LEAD = \"ERIK_OLSSON_LEAD\",\r\n ERA = \"ERA\",\r\n ERA_PARTNER = \"ERA_PARTNER\",\r\n MOHV = \"MOHV\",\r\n MOHV_PARTNER = \"MOHV_PARTNER\",\r\n NOTAR = \"NOTAR\",\r\n NOTAR_PARTNER = \"NOTAR_PARTNER\",\r\n MAKLARRINGEN = \"MAKLARRINGEN\",\r\n MAKLARRINGEN_PARTNER = \"MAKLARRINGEN_PARTNER\",\r\n ESNY = \"ESNY\",\r\n ESNY_PARTNER = \"ESNY_PARTNER\",\r\n SVENSKA_MAKLARHUSET = \"SVENSKA_MAKLARHUSET\",\r\n SVENSKA_MAKLARHUSET_PARTNER = \"SVENSKA_MAKLARHUSET_PARTNER\",\r\n SODERBERG_PARTNERS_PARTNER = \"SODERBERG_PARTNERS_PARTNER\",\r\n WIDERLOV = \"WIDERLOV\",\r\n WIDERLOV_PARTNER = \"WIDERLOV_PARTNER\",\r\n SODERBERG_PARTNERS_SALARY = \"SODERBERG_PARTNERS_SALARY\",\r\n SODERBERG_PARTNERS_TM = \"SODERBERG_PARTNERS_TM\",\r\n SODERBERG_PARTNERS_MORTGAGE = \"SODERBERG_PARTNERS_MORTGAGE\",\r\n BJURFORS = \"BJURFORS\",\r\n BJURFORS_PARTNER = \"BJURFORS_PARTNER\",\r\n GUTEEL = \"GUTEEL\",\r\n}\r\n\r\nexport class RealEstateChainOwner implements IRealEstateChainOwner {\r\n id?: string;\r\n name?: string | undefined;\r\n chains?: RealEstateChainModel[] | undefined;\r\n\r\n constructor(data?: IRealEstateChainOwner) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"chains\"])) {\r\n this.chains = [] as any;\r\n for (let item of _data[\"chains\"])\r\n this.chains!.push(RealEstateChainModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateChainOwner {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateChainOwner();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.chains)) {\r\n data[\"chains\"] = [];\r\n for (let item of this.chains)\r\n data[\"chains\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateChainOwner {\r\n id?: string;\r\n name?: string | undefined;\r\n chains?: RealEstateChainModel[] | undefined;\r\n}\r\n\r\nexport class RealEstateChainModel implements IRealEstateChainModel {\r\n id?: string;\r\n name?: string | undefined;\r\n channel?: Channel;\r\n realEstateChainOwnerId?: string;\r\n owner?: RealEstateChainOwner;\r\n offices?: RealEstateOfficeModel[] | undefined;\r\n vitecCustomerId?: string | undefined;\r\n apiKey?: string | undefined;\r\n vitecFilesAccess?: boolean;\r\n mspecsSubscriberId?: string | undefined;\r\n contractEmail?: string | undefined;\r\n syncObjects?: boolean;\r\n signupLink?: string | undefined;\r\n\r\n constructor(data?: IRealEstateChainModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.channel = _data[\"channel\"];\r\n this.realEstateChainOwnerId = _data[\"realEstateChainOwnerId\"];\r\n this.owner = _data[\"owner\"] ? RealEstateChainOwner.fromJS(_data[\"owner\"]) : undefined;\r\n if (Array.isArray(_data[\"offices\"])) {\r\n this.offices = [] as any;\r\n for (let item of _data[\"offices\"])\r\n this.offices!.push(RealEstateOfficeModel.fromJS(item));\r\n }\r\n this.vitecCustomerId = _data[\"vitecCustomerId\"];\r\n this.apiKey = _data[\"apiKey\"];\r\n this.vitecFilesAccess = _data[\"vitecFilesAccess\"];\r\n this.mspecsSubscriberId = _data[\"mspecsSubscriberId\"];\r\n this.contractEmail = _data[\"contractEmail\"];\r\n this.syncObjects = _data[\"syncObjects\"];\r\n this.signupLink = _data[\"signupLink\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateChainModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateChainModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"channel\"] = this.channel;\r\n data[\"realEstateChainOwnerId\"] = this.realEstateChainOwnerId;\r\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\r\n if (Array.isArray(this.offices)) {\r\n data[\"offices\"] = [];\r\n for (let item of this.offices)\r\n data[\"offices\"].push(item.toJSON());\r\n }\r\n data[\"vitecCustomerId\"] = this.vitecCustomerId;\r\n data[\"apiKey\"] = this.apiKey;\r\n data[\"vitecFilesAccess\"] = this.vitecFilesAccess;\r\n data[\"mspecsSubscriberId\"] = this.mspecsSubscriberId;\r\n data[\"contractEmail\"] = this.contractEmail;\r\n data[\"syncObjects\"] = this.syncObjects;\r\n data[\"signupLink\"] = this.signupLink;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateChainModel {\r\n id?: string;\r\n name?: string | undefined;\r\n channel?: Channel;\r\n realEstateChainOwnerId?: string;\r\n owner?: RealEstateChainOwner;\r\n offices?: RealEstateOfficeModel[] | undefined;\r\n vitecCustomerId?: string | undefined;\r\n apiKey?: string | undefined;\r\n vitecFilesAccess?: boolean;\r\n mspecsSubscriberId?: string | undefined;\r\n contractEmail?: string | undefined;\r\n syncObjects?: boolean;\r\n signupLink?: string | undefined;\r\n}\r\n\r\nexport class RealEstateOfficeModel implements IRealEstateOfficeModel {\r\n id?: string;\r\n location?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n externalId?: string | undefined;\r\n realEstateChainId?: string;\r\n chain?: RealEstateChainModel;\r\n agents?: RealEstateAgentModel[] | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n group?: string | undefined;\r\n vitecCustomerId?: string | undefined;\r\n mspecsId?: string | undefined;\r\n\r\n constructor(data?: IRealEstateOfficeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.location = _data[\"location\"];\r\n this.street = _data[\"street\"];\r\n this.city = _data[\"city\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.realEstateChainId = _data[\"realEstateChainId\"];\r\n this.chain = _data[\"chain\"] ? RealEstateChainModel.fromJS(_data[\"chain\"]) : undefined;\r\n if (Array.isArray(_data[\"agents\"])) {\r\n this.agents = [] as any;\r\n for (let item of _data[\"agents\"])\r\n this.agents!.push(RealEstateAgentModel.fromJS(item));\r\n }\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.group = _data[\"group\"];\r\n this.vitecCustomerId = _data[\"vitecCustomerId\"];\r\n this.mspecsId = _data[\"mspecsId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateOfficeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateOfficeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"location\"] = this.location;\r\n data[\"street\"] = this.street;\r\n data[\"city\"] = this.city;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"realEstateChainId\"] = this.realEstateChainId;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n if (Array.isArray(this.agents)) {\r\n data[\"agents\"] = [];\r\n for (let item of this.agents)\r\n data[\"agents\"].push(item.toJSON());\r\n }\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"group\"] = this.group;\r\n data[\"vitecCustomerId\"] = this.vitecCustomerId;\r\n data[\"mspecsId\"] = this.mspecsId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateOfficeModel {\r\n id?: string;\r\n location?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n externalId?: string | undefined;\r\n realEstateChainId?: string;\r\n chain?: RealEstateChainModel;\r\n agents?: RealEstateAgentModel[] | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n group?: string | undefined;\r\n vitecCustomerId?: string | undefined;\r\n mspecsId?: string | undefined;\r\n}\r\n\r\nexport class RealEstateAgentModel implements IRealEstateAgentModel {\r\n id?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n realEstateCompany?: string | undefined;\r\n channel?: Channel;\r\n bannerId?: string | undefined;\r\n externalId?: string | undefined;\r\n officeId?: string | undefined;\r\n office?: RealEstateOfficeModel;\r\n offices?: RealEstateOfficeModel[] | undefined;\r\n chainId?: string | undefined;\r\n chain?: RealEstateChainModel;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n mspecsId?: string | undefined;\r\n\r\n constructor(data?: IRealEstateAgentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.realEstateCompany = _data[\"realEstateCompany\"];\r\n this.channel = _data[\"channel\"];\r\n this.bannerId = _data[\"bannerId\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.officeId = _data[\"officeId\"];\r\n this.office = _data[\"office\"] ? RealEstateOfficeModel.fromJS(_data[\"office\"]) : undefined;\r\n if (Array.isArray(_data[\"offices\"])) {\r\n this.offices = [] as any;\r\n for (let item of _data[\"offices\"])\r\n this.offices!.push(RealEstateOfficeModel.fromJS(item));\r\n }\r\n this.chainId = _data[\"chainId\"];\r\n this.chain = _data[\"chain\"] ? RealEstateChainModel.fromJS(_data[\"chain\"]) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.mspecsId = _data[\"mspecsId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateAgentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateAgentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"realEstateCompany\"] = this.realEstateCompany;\r\n data[\"channel\"] = this.channel;\r\n data[\"bannerId\"] = this.bannerId;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"officeId\"] = this.officeId;\r\n data[\"office\"] = this.office ? this.office.toJSON() : undefined;\r\n if (Array.isArray(this.offices)) {\r\n data[\"offices\"] = [];\r\n for (let item of this.offices)\r\n data[\"offices\"].push(item.toJSON());\r\n }\r\n data[\"chainId\"] = this.chainId;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"mspecsId\"] = this.mspecsId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateAgentModel {\r\n id?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n realEstateCompany?: string | undefined;\r\n channel?: Channel;\r\n bannerId?: string | undefined;\r\n externalId?: string | undefined;\r\n officeId?: string | undefined;\r\n office?: RealEstateOfficeModel;\r\n offices?: RealEstateOfficeModel[] | undefined;\r\n chainId?: string | undefined;\r\n chain?: RealEstateChainModel;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n mspecsId?: string | undefined;\r\n}\r\n\r\nexport class RealEstateObjectFileDbModel implements IRealEstateObjectFileDbModel {\r\n id?: string;\r\n externalId?: string | undefined;\r\n name?: string | undefined;\r\n extension?: string | undefined;\r\n modifiedOn?: moment.Moment;\r\n realEstateObjectId?: string;\r\n realEstateObject?: RealEstateObjectDbModel;\r\n\r\n constructor(data?: IRealEstateObjectFileDbModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.name = _data[\"name\"];\r\n this.extension = _data[\"extension\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.realEstateObjectId = _data[\"realEstateObjectId\"];\r\n this.realEstateObject = _data[\"realEstateObject\"] ? RealEstateObjectDbModel.fromJS(_data[\"realEstateObject\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateObjectFileDbModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateObjectFileDbModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"name\"] = this.name;\r\n data[\"extension\"] = this.extension;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"realEstateObjectId\"] = this.realEstateObjectId;\r\n data[\"realEstateObject\"] = this.realEstateObject ? this.realEstateObject.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateObjectFileDbModel {\r\n id?: string;\r\n externalId?: string | undefined;\r\n name?: string | undefined;\r\n extension?: string | undefined;\r\n modifiedOn?: moment.Moment;\r\n realEstateObjectId?: string;\r\n realEstateObject?: RealEstateObjectDbModel;\r\n}\r\n\r\nexport enum RealEstateObjectStatus {\r\n NEW = \"NEW\",\r\n HANDLED = \"HANDLED\",\r\n ORDER_CREATED = \"ORDER_CREATED\",\r\n}\r\n\r\nexport enum Housing {\r\n LAGENHET = \"LAGENHET\",\r\n RADHUS = \"RADHUS\",\r\n VILLA = \"VILLA\",\r\n FRITIDSHUS = \"FRITIDSHUS\",\r\n}\r\n\r\nexport class RealEstateObjectDbModel implements IRealEstateObjectDbModel {\r\n id?: string;\r\n externalId?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment | undefined;\r\n agent?: RealEstateAgentModel;\r\n office?: RealEstateOfficeModel;\r\n chainId?: string;\r\n chain?: RealEstateChainModel;\r\n files?: RealEstateObjectFileDbModel[] | undefined;\r\n vitecObjectId?: string | undefined;\r\n vitecObjectNumber?: string | undefined;\r\n status?: string | undefined;\r\n statusText?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n internalStatus?: RealEstateObjectStatus;\r\n housing?: Housing;\r\n readonly auditEntityId?: string | undefined;\r\n\r\n constructor(data?: IRealEstateObjectDbModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.street = _data[\"street\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.salesDate = _data[\"salesDate\"] ? moment(_data[\"salesDate\"].toString()) : undefined;\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.agent = _data[\"agent\"] ? RealEstateAgentModel.fromJS(_data[\"agent\"]) : undefined;\r\n this.office = _data[\"office\"] ? RealEstateOfficeModel.fromJS(_data[\"office\"]) : undefined;\r\n this.chainId = _data[\"chainId\"];\r\n this.chain = _data[\"chain\"] ? RealEstateChainModel.fromJS(_data[\"chain\"]) : undefined;\r\n if (Array.isArray(_data[\"files\"])) {\r\n this.files = [] as any;\r\n for (let item of _data[\"files\"])\r\n this.files!.push(RealEstateObjectFileDbModel.fromJS(item));\r\n }\r\n this.vitecObjectId = _data[\"vitecObjectId\"];\r\n this.vitecObjectNumber = _data[\"vitecObjectNumber\"];\r\n this.status = _data[\"status\"];\r\n this.statusText = _data[\"statusText\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.internalStatus = _data[\"internalStatus\"];\r\n this.housing = _data[\"housing\"];\r\n (this).auditEntityId = _data[\"auditEntityId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateObjectDbModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateObjectDbModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"street\"] = this.street;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"salesDate\"] = this.salesDate ? this.salesDate.toISOString() : undefined;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"agent\"] = this.agent ? this.agent.toJSON() : undefined;\r\n data[\"office\"] = this.office ? this.office.toJSON() : undefined;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n if (Array.isArray(this.files)) {\r\n data[\"files\"] = [];\r\n for (let item of this.files)\r\n data[\"files\"].push(item.toJSON());\r\n }\r\n data[\"vitecObjectId\"] = this.vitecObjectId;\r\n data[\"vitecObjectNumber\"] = this.vitecObjectNumber;\r\n data[\"status\"] = this.status;\r\n data[\"statusText\"] = this.statusText;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"internalStatus\"] = this.internalStatus;\r\n data[\"housing\"] = this.housing;\r\n data[\"auditEntityId\"] = this.auditEntityId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateObjectDbModel {\r\n id?: string;\r\n externalId?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment | undefined;\r\n agent?: RealEstateAgentModel;\r\n office?: RealEstateOfficeModel;\r\n chainId?: string;\r\n chain?: RealEstateChainModel;\r\n files?: RealEstateObjectFileDbModel[] | undefined;\r\n vitecObjectId?: string | undefined;\r\n vitecObjectNumber?: string | undefined;\r\n status?: string | undefined;\r\n statusText?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n internalStatus?: RealEstateObjectStatus;\r\n housing?: Housing;\r\n auditEntityId?: string | undefined;\r\n}\r\n\r\nexport enum InvoiceDataStatus {\r\n NEW = \"NEW\",\r\n BILLED = \"BILLED\",\r\n SENT = \"SENT\",\r\n}\r\n\r\nexport class CompanySettingsBillogramModel implements ICompanySettingsBillogramModel {\r\n enabled?: boolean;\r\n username?: string | undefined;\r\n password?: string | undefined;\r\n bankGiro?: string | undefined;\r\n emailOverride?: string | undefined;\r\n defaultBannerId?: string | undefined;\r\n itemTitleConsuming?: string | undefined;\r\n itemTitleProducing?: string | undefined;\r\n useElectricityCollection?: boolean;\r\n\r\n constructor(data?: ICompanySettingsBillogramModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.username = _data[\"username\"];\r\n this.password = _data[\"password\"];\r\n this.bankGiro = _data[\"bankGiro\"];\r\n this.emailOverride = _data[\"emailOverride\"];\r\n this.defaultBannerId = _data[\"defaultBannerId\"];\r\n this.itemTitleConsuming = _data[\"itemTitleConsuming\"];\r\n this.itemTitleProducing = _data[\"itemTitleProducing\"];\r\n this.useElectricityCollection = _data[\"useElectricityCollection\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanySettingsBillogramModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanySettingsBillogramModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"username\"] = this.username;\r\n data[\"password\"] = this.password;\r\n data[\"bankGiro\"] = this.bankGiro;\r\n data[\"emailOverride\"] = this.emailOverride;\r\n data[\"defaultBannerId\"] = this.defaultBannerId;\r\n data[\"itemTitleConsuming\"] = this.itemTitleConsuming;\r\n data[\"itemTitleProducing\"] = this.itemTitleProducing;\r\n data[\"useElectricityCollection\"] = this.useElectricityCollection;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanySettingsBillogramModel {\r\n enabled?: boolean;\r\n username?: string | undefined;\r\n password?: string | undefined;\r\n bankGiro?: string | undefined;\r\n emailOverride?: string | undefined;\r\n defaultBannerId?: string | undefined;\r\n itemTitleConsuming?: string | undefined;\r\n itemTitleProducing?: string | undefined;\r\n useElectricityCollection?: boolean;\r\n}\r\n\r\nexport class CompanySettingsCommunicationModel implements ICompanySettingsCommunicationModel {\r\n emailOverride?: string | undefined;\r\n sendGridApiKey?: string | undefined;\r\n authenticatedDomains?: string[] | undefined;\r\n smsOverride?: string | undefined;\r\n\r\n constructor(data?: ICompanySettingsCommunicationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.emailOverride = _data[\"emailOverride\"];\r\n this.sendGridApiKey = _data[\"sendGridApiKey\"];\r\n if (Array.isArray(_data[\"authenticatedDomains\"])) {\r\n this.authenticatedDomains = [] as any;\r\n for (let item of _data[\"authenticatedDomains\"])\r\n this.authenticatedDomains!.push(item);\r\n }\r\n this.smsOverride = _data[\"smsOverride\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanySettingsCommunicationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanySettingsCommunicationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"emailOverride\"] = this.emailOverride;\r\n data[\"sendGridApiKey\"] = this.sendGridApiKey;\r\n if (Array.isArray(this.authenticatedDomains)) {\r\n data[\"authenticatedDomains\"] = [];\r\n for (let item of this.authenticatedDomains)\r\n data[\"authenticatedDomains\"].push(item);\r\n }\r\n data[\"smsOverride\"] = this.smsOverride;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanySettingsCommunicationModel {\r\n emailOverride?: string | undefined;\r\n sendGridApiKey?: string | undefined;\r\n authenticatedDomains?: string[] | undefined;\r\n smsOverride?: string | undefined;\r\n}\r\n\r\nexport enum InvoiceDeliveryMethod {\r\n MAIL = \"MAIL\",\r\n SMS = \"SMS\",\r\n EINVOICE = \"EINVOICE\",\r\n LETTER = \"LETTER\",\r\n DYNAMICDISTRIBUTION = \"DYNAMICDISTRIBUTION\",\r\n DO_NOT_NOTIFY = \"DO_NOT_NOTIFY\",\r\n EDI = \"EDI\",\r\n}\r\n\r\nexport class CompanySettingsInvoicing implements ICompanySettingsInvoicing {\r\n invoiceOverdueNotificationDelay?: number | undefined;\r\n defaultInvoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n\r\n constructor(data?: ICompanySettingsInvoicing) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.invoiceOverdueNotificationDelay = _data[\"invoiceOverdueNotificationDelay\"];\r\n this.defaultInvoiceDeliveryMethod = _data[\"defaultInvoiceDeliveryMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanySettingsInvoicing {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanySettingsInvoicing();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invoiceOverdueNotificationDelay\"] = this.invoiceOverdueNotificationDelay;\r\n data[\"defaultInvoiceDeliveryMethod\"] = this.defaultInvoiceDeliveryMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanySettingsInvoicing {\r\n invoiceOverdueNotificationDelay?: number | undefined;\r\n defaultInvoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n}\r\n\r\nexport enum PropertyType {\r\n CONSUMING = \"CONSUMING\",\r\n PRODUCING = \"PRODUCING\",\r\n}\r\n\r\nexport class CompanySettingsInvoiceAttachmentFooterRowModel implements ICompanySettingsInvoiceAttachmentFooterRowModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n title?: string | undefined;\r\n text?: string | undefined;\r\n sortIndex?: number;\r\n propertyType?: PropertyType;\r\n companySettingsInvoiceAttachmentId?: string;\r\n\r\n constructor(data?: ICompanySettingsInvoiceAttachmentFooterRowModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.title = _data[\"title\"];\r\n this.text = _data[\"text\"];\r\n this.sortIndex = _data[\"sortIndex\"];\r\n this.propertyType = _data[\"propertyType\"];\r\n this.companySettingsInvoiceAttachmentId = _data[\"companySettingsInvoiceAttachmentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanySettingsInvoiceAttachmentFooterRowModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanySettingsInvoiceAttachmentFooterRowModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"title\"] = this.title;\r\n data[\"text\"] = this.text;\r\n data[\"sortIndex\"] = this.sortIndex;\r\n data[\"propertyType\"] = this.propertyType;\r\n data[\"companySettingsInvoiceAttachmentId\"] = this.companySettingsInvoiceAttachmentId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanySettingsInvoiceAttachmentFooterRowModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n title?: string | undefined;\r\n text?: string | undefined;\r\n sortIndex?: number;\r\n propertyType?: PropertyType;\r\n companySettingsInvoiceAttachmentId?: string;\r\n}\r\n\r\nexport class CompanySettingsInvoiceAttachmentModel implements ICompanySettingsInvoiceAttachmentModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n company?: CompanyModel;\r\n companyId?: string;\r\n includeVat?: boolean;\r\n titleConsumtion?: string | undefined;\r\n titleProduction?: string | undefined;\r\n propertyInfoTitle?: string | undefined;\r\n detailedSummery?: boolean;\r\n energySourceImages?: string[] | undefined;\r\n footerRows?: CompanySettingsInvoiceAttachmentFooterRowModel[] | undefined;\r\n\r\n constructor(data?: ICompanySettingsInvoiceAttachmentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.companyId = _data[\"companyId\"];\r\n this.includeVat = _data[\"includeVat\"];\r\n this.titleConsumtion = _data[\"titleConsumtion\"];\r\n this.titleProduction = _data[\"titleProduction\"];\r\n this.propertyInfoTitle = _data[\"propertyInfoTitle\"];\r\n this.detailedSummery = _data[\"detailedSummery\"];\r\n if (Array.isArray(_data[\"energySourceImages\"])) {\r\n this.energySourceImages = [] as any;\r\n for (let item of _data[\"energySourceImages\"])\r\n this.energySourceImages!.push(item);\r\n }\r\n if (Array.isArray(_data[\"footerRows\"])) {\r\n this.footerRows = [] as any;\r\n for (let item of _data[\"footerRows\"])\r\n this.footerRows!.push(CompanySettingsInvoiceAttachmentFooterRowModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanySettingsInvoiceAttachmentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanySettingsInvoiceAttachmentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"includeVat\"] = this.includeVat;\r\n data[\"titleConsumtion\"] = this.titleConsumtion;\r\n data[\"titleProduction\"] = this.titleProduction;\r\n data[\"propertyInfoTitle\"] = this.propertyInfoTitle;\r\n data[\"detailedSummery\"] = this.detailedSummery;\r\n if (Array.isArray(this.energySourceImages)) {\r\n data[\"energySourceImages\"] = [];\r\n for (let item of this.energySourceImages)\r\n data[\"energySourceImages\"].push(item);\r\n }\r\n if (Array.isArray(this.footerRows)) {\r\n data[\"footerRows\"] = [];\r\n for (let item of this.footerRows)\r\n data[\"footerRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanySettingsInvoiceAttachmentModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n company?: CompanyModel;\r\n companyId?: string;\r\n includeVat?: boolean;\r\n titleConsumtion?: string | undefined;\r\n titleProduction?: string | undefined;\r\n propertyInfoTitle?: string | undefined;\r\n detailedSummery?: boolean;\r\n energySourceImages?: string[] | undefined;\r\n footerRows?: CompanySettingsInvoiceAttachmentFooterRowModel[] | undefined;\r\n}\r\n\r\nexport class CompanySettingsCallback implements ICompanySettingsCallback {\r\n id?: string;\r\n url?: string | undefined;\r\n entities?: string[] | undefined;\r\n\r\n constructor(data?: ICompanySettingsCallback) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.url = _data[\"url\"];\r\n if (Array.isArray(_data[\"entities\"])) {\r\n this.entities = [] as any;\r\n for (let item of _data[\"entities\"])\r\n this.entities!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanySettingsCallback {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanySettingsCallback();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"url\"] = this.url;\r\n if (Array.isArray(this.entities)) {\r\n data[\"entities\"] = [];\r\n for (let item of this.entities)\r\n data[\"entities\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanySettingsCallback {\r\n id?: string;\r\n url?: string | undefined;\r\n entities?: string[] | undefined;\r\n}\r\n\r\nexport enum CommunicationType {\r\n InvoiceOverdue = \"InvoiceOverdue\",\r\n DeliveryStarted = \"DeliveryStarted\",\r\n Confirmation = \"Confirmation\",\r\n DeliveryReady = \"DeliveryReady\",\r\n BoundBySupplier = \"BoundBySupplier\",\r\n DeliveryCompletion = \"DeliveryCompletion\",\r\n PartOfRentCollectiveMeasurement = \"PartOfRentCollectiveMeasurement\",\r\n}\r\n\r\nexport enum SupplierChangeType {\r\n SupplierChange = \"SupplierChange\",\r\n Move = \"Move\",\r\n ObligationToReceive = \"ObligationToReceive\",\r\n RetailerTermination = \"RetailerTermination\",\r\n}\r\n\r\nexport class CommunicationTemplateModel implements ICommunicationTemplateModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n salesChannels?: SalesChannelModel[] | undefined;\r\n type?: CommunicationType;\r\n supplierChangeTypes?: SupplierChangeType[] | undefined;\r\n smsEnabled?: boolean;\r\n smsTemplate?: string | undefined;\r\n smsSubject?: string | undefined;\r\n emailEnabled?: boolean;\r\n emailTemplateId?: string | undefined;\r\n\r\n constructor(data?: ICommunicationTemplateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n if (Array.isArray(_data[\"salesChannels\"])) {\r\n this.salesChannels = [] as any;\r\n for (let item of _data[\"salesChannels\"])\r\n this.salesChannels!.push(SalesChannelModel.fromJS(item));\r\n }\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"supplierChangeTypes\"])) {\r\n this.supplierChangeTypes = [] as any;\r\n for (let item of _data[\"supplierChangeTypes\"])\r\n this.supplierChangeTypes!.push(item);\r\n }\r\n this.smsEnabled = _data[\"smsEnabled\"];\r\n this.smsTemplate = _data[\"smsTemplate\"];\r\n this.smsSubject = _data[\"smsSubject\"];\r\n this.emailEnabled = _data[\"emailEnabled\"];\r\n this.emailTemplateId = _data[\"emailTemplateId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommunicationTemplateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommunicationTemplateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n if (Array.isArray(this.salesChannels)) {\r\n data[\"salesChannels\"] = [];\r\n for (let item of this.salesChannels)\r\n data[\"salesChannels\"].push(item.toJSON());\r\n }\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.supplierChangeTypes)) {\r\n data[\"supplierChangeTypes\"] = [];\r\n for (let item of this.supplierChangeTypes)\r\n data[\"supplierChangeTypes\"].push(item);\r\n }\r\n data[\"smsEnabled\"] = this.smsEnabled;\r\n data[\"smsTemplate\"] = this.smsTemplate;\r\n data[\"smsSubject\"] = this.smsSubject;\r\n data[\"emailEnabled\"] = this.emailEnabled;\r\n data[\"emailTemplateId\"] = this.emailTemplateId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommunicationTemplateModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n salesChannels?: SalesChannelModel[] | undefined;\r\n type?: CommunicationType;\r\n supplierChangeTypes?: SupplierChangeType[] | undefined;\r\n smsEnabled?: boolean;\r\n smsTemplate?: string | undefined;\r\n smsSubject?: string | undefined;\r\n emailEnabled?: boolean;\r\n emailTemplateId?: string | undefined;\r\n}\r\n\r\nexport class AccountingDimensionModel implements IAccountingDimensionModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n dimensionId?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IAccountingDimensionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.dimensionId = _data[\"dimensionId\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountingDimensionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountingDimensionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"dimensionId\"] = this.dimensionId;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountingDimensionModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n dimensionId?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum CustomerType {\r\n Private = \"Private\",\r\n Business = \"Business\",\r\n}\r\n\r\nexport enum PersonalIdType {\r\n PERSONAL_IDENTITY_NUMBER = \"PERSONAL_IDENTITY_NUMBER\",\r\n ORGANISATION_REGISTRATION_NUMBER = \"ORGANISATION_REGISTRATION_NUMBER\",\r\n COORDINATION_NUMBER = \"COORDINATION_NUMBER\",\r\n PERSONAL_ID_NOT_AVAILABLE = \"PERSONAL_ID_NOT_AVAILABLE\",\r\n}\r\n\r\nexport enum RecurringPaymentType {\r\n NONE = \"NONE\",\r\n AUTOGIRO = \"AUTOGIRO\",\r\n}\r\n\r\nexport class CustomerModel implements ICustomerModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n fullName?: string | undefined;\r\n customerType?: CustomerType;\r\n pid?: string | undefined;\r\n personalIdType?: PersonalIdType;\r\n birthDate?: moment.Moment | undefined;\r\n additionalPersonalId?: string | undefined;\r\n street?: string | undefined;\r\n coAddress?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n mobile?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n billogramCustomerId?: number | undefined;\r\n efaktura_Recipient_Identifier?: string | undefined;\r\n recurringPaymentType?: RecurringPaymentType;\r\n edi_electronic_id?: string | undefined;\r\n edi_operator?: string | undefined;\r\n edi_reference?: string | undefined;\r\n useInvoiceCollection?: boolean;\r\n invoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n searchData?: string | undefined;\r\n entityData?: string | undefined;\r\n entityType?: string | undefined;\r\n regardingName?: string | undefined;\r\n\r\n constructor(data?: ICustomerModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.customerType = _data[\"customerType\"];\r\n this.pid = _data[\"pid\"];\r\n this.personalIdType = _data[\"personalIdType\"];\r\n this.birthDate = _data[\"birthDate\"] ? moment(_data[\"birthDate\"].toString()) : undefined;\r\n this.additionalPersonalId = _data[\"additionalPersonalId\"];\r\n this.street = _data[\"street\"];\r\n this.coAddress = _data[\"coAddress\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n this.billogramCustomerId = _data[\"billogramCustomerId\"];\r\n this.efaktura_Recipient_Identifier = _data[\"efaktura_Recipient_Identifier\"];\r\n this.recurringPaymentType = _data[\"recurringPaymentType\"];\r\n this.edi_electronic_id = _data[\"edi_electronic_id\"];\r\n this.edi_operator = _data[\"edi_operator\"];\r\n this.edi_reference = _data[\"edi_reference\"];\r\n this.useInvoiceCollection = _data[\"useInvoiceCollection\"];\r\n this.invoiceDeliveryMethod = _data[\"invoiceDeliveryMethod\"];\r\n this.searchData = _data[\"searchData\"];\r\n this.entityData = _data[\"entityData\"];\r\n this.entityType = _data[\"entityType\"];\r\n this.regardingName = _data[\"regardingName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomerModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomerModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"customerType\"] = this.customerType;\r\n data[\"pid\"] = this.pid;\r\n data[\"personalIdType\"] = this.personalIdType;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"additionalPersonalId\"] = this.additionalPersonalId;\r\n data[\"street\"] = this.street;\r\n data[\"coAddress\"] = this.coAddress;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n data[\"billogramCustomerId\"] = this.billogramCustomerId;\r\n data[\"efaktura_Recipient_Identifier\"] = this.efaktura_Recipient_Identifier;\r\n data[\"recurringPaymentType\"] = this.recurringPaymentType;\r\n data[\"edi_electronic_id\"] = this.edi_electronic_id;\r\n data[\"edi_operator\"] = this.edi_operator;\r\n data[\"edi_reference\"] = this.edi_reference;\r\n data[\"useInvoiceCollection\"] = this.useInvoiceCollection;\r\n data[\"invoiceDeliveryMethod\"] = this.invoiceDeliveryMethod;\r\n data[\"searchData\"] = this.searchData;\r\n data[\"entityData\"] = this.entityData;\r\n data[\"entityType\"] = this.entityType;\r\n data[\"regardingName\"] = this.regardingName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomerModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n fullName?: string | undefined;\r\n customerType?: CustomerType;\r\n pid?: string | undefined;\r\n personalIdType?: PersonalIdType;\r\n birthDate?: moment.Moment | undefined;\r\n additionalPersonalId?: string | undefined;\r\n street?: string | undefined;\r\n coAddress?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n mobile?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n billogramCustomerId?: number | undefined;\r\n efaktura_Recipient_Identifier?: string | undefined;\r\n recurringPaymentType?: RecurringPaymentType;\r\n edi_electronic_id?: string | undefined;\r\n edi_operator?: string | undefined;\r\n edi_reference?: string | undefined;\r\n useInvoiceCollection?: boolean;\r\n invoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n searchData?: string | undefined;\r\n entityData?: string | undefined;\r\n entityType?: string | undefined;\r\n regardingName?: string | undefined;\r\n}\r\n\r\nexport enum PaymentStatus {\r\n UNPAID = \"UNPAID\",\r\n PAID = \"PAID\",\r\n ENDED = \"ENDED\",\r\n CREDITED = \"CREDITED\",\r\n DELETED = \"DELETED\",\r\n UNKNOWN = \"UNKNOWN\",\r\n CONFIRMED_LOSS = \"CONFIRMED_LOSS\",\r\n}\r\n\r\nexport class PriceModel implements IPriceModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n fromDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n monthly?: number;\r\n\r\n constructor(data?: IPriceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.fromDate = _data[\"fromDate\"] ? moment(_data[\"fromDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.monthly = _data[\"monthly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"monthly\"] = this.monthly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n fromDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n monthly?: number;\r\n}\r\n\r\nexport enum ContractPriceType {\r\n FIXED_PRICE = \"FIXED_PRICE\",\r\n VARIABLE_PRICE = \"VARIABLE_PRICE\",\r\n}\r\n\r\nexport enum ContractDebitType {\r\n MONTHLY = \"MONTHLY\",\r\n HOURLY = \"HOURLY\",\r\n}\r\n\r\nexport class ContractTypeModel implements IContractTypeModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n publicName?: string | undefined;\r\n bindingPeriod?: number;\r\n noticePeriod?: number;\r\n prices?: PriceModel[] | undefined;\r\n contractPriceType?: ContractPriceType;\r\n contractDebitType?: ContractDebitType;\r\n\r\n constructor(data?: IContractTypeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.publicName = _data[\"publicName\"];\r\n this.bindingPeriod = _data[\"bindingPeriod\"];\r\n this.noticePeriod = _data[\"noticePeriod\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(PriceModel.fromJS(item));\r\n }\r\n this.contractPriceType = _data[\"contractPriceType\"];\r\n this.contractDebitType = _data[\"contractDebitType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractTypeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractTypeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"publicName\"] = this.publicName;\r\n data[\"bindingPeriod\"] = this.bindingPeriod;\r\n data[\"noticePeriod\"] = this.noticePeriod;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n data[\"contractPriceType\"] = this.contractPriceType;\r\n data[\"contractDebitType\"] = this.contractDebitType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContractTypeModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n publicName?: string | undefined;\r\n bindingPeriod?: number;\r\n noticePeriod?: number;\r\n prices?: PriceModel[] | undefined;\r\n contractPriceType?: ContractPriceType;\r\n contractDebitType?: ContractDebitType;\r\n}\r\n\r\nexport class PriceKWh implements IPriceKWh {\r\n sE1?: number;\r\n sE2?: number;\r\n sE3?: number;\r\n sE4?: number;\r\n certificate?: number;\r\n environment?: number;\r\n tradeFee?: number;\r\n\r\n constructor(data?: IPriceKWh) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sE1 = _data[\"sE1\"];\r\n this.sE2 = _data[\"sE2\"];\r\n this.sE3 = _data[\"sE3\"];\r\n this.sE4 = _data[\"sE4\"];\r\n this.certificate = _data[\"certificate\"];\r\n this.environment = _data[\"environment\"];\r\n this.tradeFee = _data[\"tradeFee\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceKWh {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceKWh();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sE1\"] = this.sE1;\r\n data[\"sE2\"] = this.sE2;\r\n data[\"sE3\"] = this.sE3;\r\n data[\"sE4\"] = this.sE4;\r\n data[\"certificate\"] = this.certificate;\r\n data[\"environment\"] = this.environment;\r\n data[\"tradeFee\"] = this.tradeFee;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceKWh {\r\n sE1?: number;\r\n sE2?: number;\r\n sE3?: number;\r\n sE4?: number;\r\n certificate?: number;\r\n environment?: number;\r\n tradeFee?: number;\r\n}\r\n\r\nexport class Tag implements ITag {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITag) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Tag {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Tag();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITag {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class Contract implements IContract {\r\n id?: string;\r\n fromDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n elavtalId?: string;\r\n contractType?: ContractTypeModel;\r\n contractTypeId?: string;\r\n fixedPriceKWh?: PriceKWh;\r\n fixedPriceMonthly?: number | undefined;\r\n initialContract?: boolean;\r\n invoiceText?: string | undefined;\r\n salesChannelId?: string;\r\n salesChannel?: SalesChannelModel;\r\n salesDate?: moment.Moment | undefined;\r\n salesPerson?: string | undefined;\r\n signedFromIp?: string | undefined;\r\n tags?: Tag[] | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n\r\n constructor(data?: IContract) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment(_data[\"fromDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.elavtalId = _data[\"elavtalId\"];\r\n this.contractType = _data[\"contractType\"] ? ContractTypeModel.fromJS(_data[\"contractType\"]) : undefined;\r\n this.contractTypeId = _data[\"contractTypeId\"];\r\n this.fixedPriceKWh = _data[\"fixedPriceKWh\"] ? PriceKWh.fromJS(_data[\"fixedPriceKWh\"]) : undefined;\r\n this.fixedPriceMonthly = _data[\"fixedPriceMonthly\"];\r\n this.initialContract = _data[\"initialContract\"];\r\n this.invoiceText = _data[\"invoiceText\"];\r\n this.salesChannelId = _data[\"salesChannelId\"];\r\n this.salesChannel = _data[\"salesChannel\"] ? SalesChannelModel.fromJS(_data[\"salesChannel\"]) : undefined;\r\n this.salesDate = _data[\"salesDate\"] ? moment(_data[\"salesDate\"].toString()) : undefined;\r\n this.salesPerson = _data[\"salesPerson\"];\r\n this.signedFromIp = _data[\"signedFromIp\"];\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(Tag.fromJS(item));\r\n }\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Contract {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Contract();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n data[\"contractType\"] = this.contractType ? this.contractType.toJSON() : undefined;\r\n data[\"contractTypeId\"] = this.contractTypeId;\r\n data[\"fixedPriceKWh\"] = this.fixedPriceKWh ? this.fixedPriceKWh.toJSON() : undefined;\r\n data[\"fixedPriceMonthly\"] = this.fixedPriceMonthly;\r\n data[\"initialContract\"] = this.initialContract;\r\n data[\"invoiceText\"] = this.invoiceText;\r\n data[\"salesChannelId\"] = this.salesChannelId;\r\n data[\"salesChannel\"] = this.salesChannel ? this.salesChannel.toJSON() : undefined;\r\n data[\"salesDate\"] = this.salesDate ? this.salesDate.toISOString() : undefined;\r\n data[\"salesPerson\"] = this.salesPerson;\r\n data[\"signedFromIp\"] = this.signedFromIp;\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContract {\r\n id?: string;\r\n fromDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n elavtalId?: string;\r\n contractType?: ContractTypeModel;\r\n contractTypeId?: string;\r\n fixedPriceKWh?: PriceKWh;\r\n fixedPriceMonthly?: number | undefined;\r\n initialContract?: boolean;\r\n invoiceText?: string | undefined;\r\n salesChannelId?: string;\r\n salesChannel?: SalesChannelModel;\r\n salesDate?: moment.Moment | undefined;\r\n salesPerson?: string | undefined;\r\n signedFromIp?: string | undefined;\r\n tags?: Tag[] | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n}\r\n\r\nexport class InvoiceDataRowModel implements IInvoiceDataRowModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n\r\n constructor(data?: IInvoiceDataRowModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.invoiceDataId = _data[\"invoiceDataId\"];\r\n this.contractId = _data[\"contractId\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.price = _data[\"price\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.amount = _data[\"amount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceDataRowModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceDataRowModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"invoiceDataId\"] = this.invoiceDataId;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"price\"] = this.price;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"amount\"] = this.amount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceDataRowModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n}\r\n\r\nexport class InvoiceDataModel implements IInvoiceDataModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataStatus?: InvoiceDataStatus;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n rows?: InvoiceDataRowModel[] | undefined;\r\n invoiceId?: string | undefined;\r\n invoice?: InvoiceModel;\r\n amountExkludingVat?: number;\r\n vatAmount?: number;\r\n amountIncludingVat?: number;\r\n consumption?: number;\r\n rounding?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n finalInvoice?: boolean;\r\n invoicingId?: string;\r\n invoiceCreated?: boolean;\r\n\r\n constructor(data?: IInvoiceDataModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.invoiceDataStatus = _data[\"invoiceDataStatus\"];\r\n this.elavtalId = _data[\"elavtalId\"];\r\n this.elavtal = _data[\"elavtal\"] ? Elavtal.fromJS(_data[\"elavtal\"]) : undefined;\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(InvoiceDataRowModel.fromJS(item));\r\n }\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.invoice = _data[\"invoice\"] ? InvoiceModel.fromJS(_data[\"invoice\"]) : undefined;\r\n this.amountExkludingVat = _data[\"amountExkludingVat\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n this.amountIncludingVat = _data[\"amountIncludingVat\"];\r\n this.consumption = _data[\"consumption\"];\r\n this.rounding = _data[\"rounding\"];\r\n this.dateOfInvoice = _data[\"dateOfInvoice\"] ? moment(_data[\"dateOfInvoice\"].toString()) : undefined;\r\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : undefined;\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.finalInvoice = _data[\"finalInvoice\"];\r\n this.invoicingId = _data[\"invoicingId\"];\r\n this.invoiceCreated = _data[\"invoiceCreated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceDataModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceDataModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"invoiceDataStatus\"] = this.invoiceDataStatus;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n data[\"elavtal\"] = this.elavtal ? this.elavtal.toJSON() : undefined;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"invoice\"] = this.invoice ? this.invoice.toJSON() : undefined;\r\n data[\"amountExkludingVat\"] = this.amountExkludingVat;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n data[\"amountIncludingVat\"] = this.amountIncludingVat;\r\n data[\"consumption\"] = this.consumption;\r\n data[\"rounding\"] = this.rounding;\r\n data[\"dateOfInvoice\"] = this.dateOfInvoice ? this.dateOfInvoice.toISOString() : undefined;\r\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : undefined;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"finalInvoice\"] = this.finalInvoice;\r\n data[\"invoicingId\"] = this.invoicingId;\r\n data[\"invoiceCreated\"] = this.invoiceCreated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceDataModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataStatus?: InvoiceDataStatus;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n rows?: InvoiceDataRowModel[] | undefined;\r\n invoiceId?: string | undefined;\r\n invoice?: InvoiceModel;\r\n amountExkludingVat?: number;\r\n vatAmount?: number;\r\n amountIncludingVat?: number;\r\n consumption?: number;\r\n rounding?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n finalInvoice?: boolean;\r\n invoicingId?: string;\r\n invoiceCreated?: boolean;\r\n}\r\n\r\nexport enum DeliveryMethod {\r\n UNKNOWN = \"UNKNOWN\",\r\n EMAIL = \"EMAIL\",\r\n SMS = \"SMS\",\r\n LETTER = \"LETTER\",\r\n EFAKTURA = \"EFAKTURA\",\r\n}\r\n\r\nexport enum InvoiceStatus {\r\n NEW = \"NEW\",\r\n SENT = \"SENT\",\r\n SENDING = \"SENDING\",\r\n}\r\n\r\nexport class InvoiceModel implements IInvoiceModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n customerId?: string | undefined;\r\n customer?: CustomerModel;\r\n paymentStatus?: PaymentStatus;\r\n paymentDescription?: string | undefined;\r\n url?: string | undefined;\r\n recipientUrl?: string | undefined;\r\n invoiceDatas?: InvoiceDataModel[] | undefined;\r\n invoiceNumber?: string | undefined;\r\n bankGiro?: string | undefined;\r\n ocr?: string | undefined;\r\n amount?: number;\r\n rounding?: number;\r\n reminderFee?: number;\r\n interestFee?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n respiteDate?: moment.Moment | undefined;\r\n overdueNotificationSent?: boolean;\r\n deliveryMethod?: DeliveryMethod;\r\n deliveryRecipient?: string | undefined;\r\n rows?: InvoiceRowModel[] | undefined;\r\n status?: InvoiceStatus;\r\n invoicingId?: string;\r\n regardingName?: string | undefined;\r\n\r\n constructor(data?: IInvoiceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.customerId = _data[\"customerId\"];\r\n this.customer = _data[\"customer\"] ? CustomerModel.fromJS(_data[\"customer\"]) : undefined;\r\n this.paymentStatus = _data[\"paymentStatus\"];\r\n this.paymentDescription = _data[\"paymentDescription\"];\r\n this.url = _data[\"url\"];\r\n this.recipientUrl = _data[\"recipientUrl\"];\r\n if (Array.isArray(_data[\"invoiceDatas\"])) {\r\n this.invoiceDatas = [] as any;\r\n for (let item of _data[\"invoiceDatas\"])\r\n this.invoiceDatas!.push(InvoiceDataModel.fromJS(item));\r\n }\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.bankGiro = _data[\"bankGiro\"];\r\n this.ocr = _data[\"ocr\"];\r\n this.amount = _data[\"amount\"];\r\n this.rounding = _data[\"rounding\"];\r\n this.reminderFee = _data[\"reminderFee\"];\r\n this.interestFee = _data[\"interestFee\"];\r\n this.dateOfInvoice = _data[\"dateOfInvoice\"] ? moment(_data[\"dateOfInvoice\"].toString()) : undefined;\r\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : undefined;\r\n this.respiteDate = _data[\"respiteDate\"] ? moment(_data[\"respiteDate\"].toString()) : undefined;\r\n this.overdueNotificationSent = _data[\"overdueNotificationSent\"];\r\n this.deliveryMethod = _data[\"deliveryMethod\"];\r\n this.deliveryRecipient = _data[\"deliveryRecipient\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(InvoiceRowModel.fromJS(item));\r\n }\r\n this.status = _data[\"status\"];\r\n this.invoicingId = _data[\"invoicingId\"];\r\n this.regardingName = _data[\"regardingName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customer\"] = this.customer ? this.customer.toJSON() : undefined;\r\n data[\"paymentStatus\"] = this.paymentStatus;\r\n data[\"paymentDescription\"] = this.paymentDescription;\r\n data[\"url\"] = this.url;\r\n data[\"recipientUrl\"] = this.recipientUrl;\r\n if (Array.isArray(this.invoiceDatas)) {\r\n data[\"invoiceDatas\"] = [];\r\n for (let item of this.invoiceDatas)\r\n data[\"invoiceDatas\"].push(item.toJSON());\r\n }\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"bankGiro\"] = this.bankGiro;\r\n data[\"ocr\"] = this.ocr;\r\n data[\"amount\"] = this.amount;\r\n data[\"rounding\"] = this.rounding;\r\n data[\"reminderFee\"] = this.reminderFee;\r\n data[\"interestFee\"] = this.interestFee;\r\n data[\"dateOfInvoice\"] = this.dateOfInvoice ? this.dateOfInvoice.toISOString() : undefined;\r\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : undefined;\r\n data[\"respiteDate\"] = this.respiteDate ? this.respiteDate.toISOString() : undefined;\r\n data[\"overdueNotificationSent\"] = this.overdueNotificationSent;\r\n data[\"deliveryMethod\"] = this.deliveryMethod;\r\n data[\"deliveryRecipient\"] = this.deliveryRecipient;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"invoicingId\"] = this.invoicingId;\r\n data[\"regardingName\"] = this.regardingName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n customerId?: string | undefined;\r\n customer?: CustomerModel;\r\n paymentStatus?: PaymentStatus;\r\n paymentDescription?: string | undefined;\r\n url?: string | undefined;\r\n recipientUrl?: string | undefined;\r\n invoiceDatas?: InvoiceDataModel[] | undefined;\r\n invoiceNumber?: string | undefined;\r\n bankGiro?: string | undefined;\r\n ocr?: string | undefined;\r\n amount?: number;\r\n rounding?: number;\r\n reminderFee?: number;\r\n interestFee?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n respiteDate?: moment.Moment | undefined;\r\n overdueNotificationSent?: boolean;\r\n deliveryMethod?: DeliveryMethod;\r\n deliveryRecipient?: string | undefined;\r\n rows?: InvoiceRowModel[] | undefined;\r\n status?: InvoiceStatus;\r\n invoicingId?: string;\r\n regardingName?: string | undefined;\r\n}\r\n\r\nexport class InvoiceRowModel implements IInvoiceRowModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n heading?: string | undefined;\r\n description?: string | undefined;\r\n unit?: string | undefined;\r\n quantity?: number;\r\n price?: number;\r\n amount?: number;\r\n vatAmount?: number;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n invoiceId?: string;\r\n invoice?: InvoiceModel;\r\n invoiceDataId?: string | undefined;\r\n invoiceData?: InvoiceDataModel;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n accountingObjects?: AccountingObjectModel[] | undefined;\r\n invoiceItemId?: string | undefined;\r\n invoicePriceGroupId?: string | undefined;\r\n articleId?: string | undefined;\r\n\r\n constructor(data?: IInvoiceRowModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.heading = _data[\"heading\"];\r\n this.description = _data[\"description\"];\r\n this.unit = _data[\"unit\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.price = _data[\"price\"];\r\n this.amount = _data[\"amount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n this.incomeAccount = _data[\"incomeAccount\"];\r\n this.vatAccount = _data[\"vatAccount\"];\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.invoice = _data[\"invoice\"] ? InvoiceModel.fromJS(_data[\"invoice\"]) : undefined;\r\n this.invoiceDataId = _data[\"invoiceDataId\"];\r\n this.invoiceData = _data[\"invoiceData\"] ? InvoiceDataModel.fromJS(_data[\"invoiceData\"]) : undefined;\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"accountingObjects\"])) {\r\n this.accountingObjects = [] as any;\r\n for (let item of _data[\"accountingObjects\"])\r\n this.accountingObjects!.push(AccountingObjectModel.fromJS(item));\r\n }\r\n this.invoiceItemId = _data[\"invoiceItemId\"];\r\n this.invoicePriceGroupId = _data[\"invoicePriceGroupId\"];\r\n this.articleId = _data[\"articleId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceRowModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceRowModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"heading\"] = this.heading;\r\n data[\"description\"] = this.description;\r\n data[\"unit\"] = this.unit;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"price\"] = this.price;\r\n data[\"amount\"] = this.amount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n data[\"incomeAccount\"] = this.incomeAccount;\r\n data[\"vatAccount\"] = this.vatAccount;\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"invoice\"] = this.invoice ? this.invoice.toJSON() : undefined;\r\n data[\"invoiceDataId\"] = this.invoiceDataId;\r\n data[\"invoiceData\"] = this.invoiceData ? this.invoiceData.toJSON() : undefined;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n if (Array.isArray(this.accountingObjects)) {\r\n data[\"accountingObjects\"] = [];\r\n for (let item of this.accountingObjects)\r\n data[\"accountingObjects\"].push(item.toJSON());\r\n }\r\n data[\"invoiceItemId\"] = this.invoiceItemId;\r\n data[\"invoicePriceGroupId\"] = this.invoicePriceGroupId;\r\n data[\"articleId\"] = this.articleId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceRowModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n heading?: string | undefined;\r\n description?: string | undefined;\r\n unit?: string | undefined;\r\n quantity?: number;\r\n price?: number;\r\n amount?: number;\r\n vatAmount?: number;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n invoiceId?: string;\r\n invoice?: InvoiceModel;\r\n invoiceDataId?: string | undefined;\r\n invoiceData?: InvoiceDataModel;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n accountingObjects?: AccountingObjectModel[] | undefined;\r\n invoiceItemId?: string | undefined;\r\n invoicePriceGroupId?: string | undefined;\r\n articleId?: string | undefined;\r\n}\r\n\r\nexport class AccountingObjectModel implements IAccountingObjectModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n objectId?: number;\r\n name?: string | undefined;\r\n dimensionId?: string;\r\n dimension?: AccountingDimensionModel;\r\n deliveries?: Elavtal[] | undefined;\r\n invoiceRows?: InvoiceRowModel[] | undefined;\r\n salesChannels?: SalesChannelModel[] | undefined;\r\n\r\n constructor(data?: IAccountingObjectModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.objectId = _data[\"objectId\"];\r\n this.name = _data[\"name\"];\r\n this.dimensionId = _data[\"dimensionId\"];\r\n this.dimension = _data[\"dimension\"] ? AccountingDimensionModel.fromJS(_data[\"dimension\"]) : undefined;\r\n if (Array.isArray(_data[\"deliveries\"])) {\r\n this.deliveries = [] as any;\r\n for (let item of _data[\"deliveries\"])\r\n this.deliveries!.push(Elavtal.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invoiceRows\"])) {\r\n this.invoiceRows = [] as any;\r\n for (let item of _data[\"invoiceRows\"])\r\n this.invoiceRows!.push(InvoiceRowModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"salesChannels\"])) {\r\n this.salesChannels = [] as any;\r\n for (let item of _data[\"salesChannels\"])\r\n this.salesChannels!.push(SalesChannelModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountingObjectModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountingObjectModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"objectId\"] = this.objectId;\r\n data[\"name\"] = this.name;\r\n data[\"dimensionId\"] = this.dimensionId;\r\n data[\"dimension\"] = this.dimension ? this.dimension.toJSON() : undefined;\r\n if (Array.isArray(this.deliveries)) {\r\n data[\"deliveries\"] = [];\r\n for (let item of this.deliveries)\r\n data[\"deliveries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invoiceRows)) {\r\n data[\"invoiceRows\"] = [];\r\n for (let item of this.invoiceRows)\r\n data[\"invoiceRows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.salesChannels)) {\r\n data[\"salesChannels\"] = [];\r\n for (let item of this.salesChannels)\r\n data[\"salesChannels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountingObjectModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n objectId?: number;\r\n name?: string | undefined;\r\n dimensionId?: string;\r\n dimension?: AccountingDimensionModel;\r\n deliveries?: Elavtal[] | undefined;\r\n invoiceRows?: InvoiceRowModel[] | undefined;\r\n salesChannels?: SalesChannelModel[] | undefined;\r\n}\r\n\r\nexport class SalesChannelModel implements ISalesChannelModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n channelIndex?: number;\r\n communicationTemplates?: CommunicationTemplateModel[] | undefined;\r\n accountingObjects?: AccountingObjectModel[] | undefined;\r\n\r\n constructor(data?: ISalesChannelModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.channelIndex = _data[\"channelIndex\"];\r\n if (Array.isArray(_data[\"communicationTemplates\"])) {\r\n this.communicationTemplates = [] as any;\r\n for (let item of _data[\"communicationTemplates\"])\r\n this.communicationTemplates!.push(CommunicationTemplateModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"accountingObjects\"])) {\r\n this.accountingObjects = [] as any;\r\n for (let item of _data[\"accountingObjects\"])\r\n this.accountingObjects!.push(AccountingObjectModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SalesChannelModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SalesChannelModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"channelIndex\"] = this.channelIndex;\r\n if (Array.isArray(this.communicationTemplates)) {\r\n data[\"communicationTemplates\"] = [];\r\n for (let item of this.communicationTemplates)\r\n data[\"communicationTemplates\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.accountingObjects)) {\r\n data[\"accountingObjects\"] = [];\r\n for (let item of this.accountingObjects)\r\n data[\"accountingObjects\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISalesChannelModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n channelIndex?: number;\r\n communicationTemplates?: CommunicationTemplateModel[] | undefined;\r\n accountingObjects?: AccountingObjectModel[] | undefined;\r\n}\r\n\r\nexport class AutoCompletionTemplate implements IAutoCompletionTemplate {\r\n salesChannelId?: string;\r\n salesChannel?: SalesChannelModel;\r\n communicationTemplateId?: string;\r\n communicationTemplate?: CommunicationTemplateModel;\r\n\r\n constructor(data?: IAutoCompletionTemplate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.salesChannelId = _data[\"salesChannelId\"];\r\n this.salesChannel = _data[\"salesChannel\"] ? SalesChannelModel.fromJS(_data[\"salesChannel\"]) : undefined;\r\n this.communicationTemplateId = _data[\"communicationTemplateId\"];\r\n this.communicationTemplate = _data[\"communicationTemplate\"] ? CommunicationTemplateModel.fromJS(_data[\"communicationTemplate\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AutoCompletionTemplate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AutoCompletionTemplate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"salesChannelId\"] = this.salesChannelId;\r\n data[\"salesChannel\"] = this.salesChannel ? this.salesChannel.toJSON() : undefined;\r\n data[\"communicationTemplateId\"] = this.communicationTemplateId;\r\n data[\"communicationTemplate\"] = this.communicationTemplate ? this.communicationTemplate.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAutoCompletionTemplate {\r\n salesChannelId?: string;\r\n salesChannel?: SalesChannelModel;\r\n communicationTemplateId?: string;\r\n communicationTemplate?: CommunicationTemplateModel;\r\n}\r\n\r\nexport class CompanyModel implements ICompanyModel {\r\n callbackUrl?: string | undefined;\r\n handleWarrantMove?: boolean;\r\n handleWarrantMoveReplies?: boolean;\r\n handleWarrantNetOwnerReplies?: boolean;\r\n handleWarrantNetOwner?: boolean;\r\n handleWarrantSupplierReplies?: boolean;\r\n autoSendWarrantMail?: boolean;\r\n autoStartChangeProcessOnNewDeliveries?: boolean;\r\n autoStartChangeProcessMinDaysUntilStart?: number | undefined;\r\n autoStartChangeProcessMaxDaysUntilStart?: number | undefined;\r\n autoStartChangeProcessMinDaysAfterSales?: number | undefined;\r\n handleWarrantSupplier?: boolean;\r\n warrantMail?: string | undefined;\r\n warrantChangedStartDateMail?: string | undefined;\r\n warrantSender?: string | undefined;\r\n warrantCompanyName?: string | undefined;\r\n warrantCompanyLegalName?: string | undefined;\r\n warrantNetOwnerTemplateId?: string | undefined;\r\n warrantMoveTemplateId?: string | undefined;\r\n warrantChangedStartDateTemplateId?: string | undefined;\r\n warrantSupplierTemplateId?: string | undefined;\r\n warrantDailyRemainderTemplateId?: string | undefined;\r\n genericMailTemplateId?: string | undefined;\r\n useCompletionFlow?: boolean;\r\n completionUrl?: string | undefined;\r\n sendSmsFrom?: string | undefined;\r\n sendDeliveryStartSMS?: boolean;\r\n sendDeliveryHasStartedSMS?: boolean;\r\n sendConfirmationSMS?: boolean;\r\n sendElavtalsServiceSMS?: boolean;\r\n sendConfirmationEmail?: boolean;\r\n standardConfirmationMailTemplateId?: string | undefined;\r\n sendMailFromAdress?: string | undefined;\r\n sendMailFromName?: string | undefined;\r\n useEdiel?: boolean;\r\n edielId?: string | undefined;\r\n useEdiEncryption?: boolean;\r\n balanceResponsibleEdielId?: string | undefined;\r\n getActorinfoWhenPropertyCreated?: boolean;\r\n minimumAmountToCreateInvoice?: number;\r\n useAutomaticCompletion?: boolean;\r\n id?: string;\r\n name?: string | undefined;\r\n legalName?: string | undefined;\r\n companyId?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdBy?: string;\r\n billogramSettings?: CompanySettingsBillogramModel;\r\n communicationSettings!: CompanySettingsCommunicationModel;\r\n invoicingSettings!: CompanySettingsInvoicing;\r\n invoiceAttachmentSettingsId?: string | undefined;\r\n invoiceAttachmentSettings?: CompanySettingsInvoiceAttachmentModel;\r\n callbackSettings?: CompanySettingsCallback[] | undefined;\r\n autoCompletionTemplates?: AutoCompletionTemplate[] | undefined;\r\n\r\n constructor(data?: ICompanyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.communicationSettings = new CompanySettingsCommunicationModel();\r\n this.invoicingSettings = new CompanySettingsInvoicing();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.callbackUrl = _data[\"callbackUrl\"];\r\n this.handleWarrantMove = _data[\"handleWarrantMove\"];\r\n this.handleWarrantMoveReplies = _data[\"handleWarrantMoveReplies\"];\r\n this.handleWarrantNetOwnerReplies = _data[\"handleWarrantNetOwnerReplies\"];\r\n this.handleWarrantNetOwner = _data[\"handleWarrantNetOwner\"];\r\n this.handleWarrantSupplierReplies = _data[\"handleWarrantSupplierReplies\"];\r\n this.autoSendWarrantMail = _data[\"autoSendWarrantMail\"];\r\n this.autoStartChangeProcessOnNewDeliveries = _data[\"autoStartChangeProcessOnNewDeliveries\"];\r\n this.autoStartChangeProcessMinDaysUntilStart = _data[\"autoStartChangeProcessMinDaysUntilStart\"];\r\n this.autoStartChangeProcessMaxDaysUntilStart = _data[\"autoStartChangeProcessMaxDaysUntilStart\"];\r\n this.autoStartChangeProcessMinDaysAfterSales = _data[\"autoStartChangeProcessMinDaysAfterSales\"];\r\n this.handleWarrantSupplier = _data[\"handleWarrantSupplier\"];\r\n this.warrantMail = _data[\"warrantMail\"];\r\n this.warrantChangedStartDateMail = _data[\"warrantChangedStartDateMail\"];\r\n this.warrantSender = _data[\"warrantSender\"];\r\n this.warrantCompanyName = _data[\"warrantCompanyName\"];\r\n this.warrantCompanyLegalName = _data[\"warrantCompanyLegalName\"];\r\n this.warrantNetOwnerTemplateId = _data[\"warrantNetOwnerTemplateId\"];\r\n this.warrantMoveTemplateId = _data[\"warrantMoveTemplateId\"];\r\n this.warrantChangedStartDateTemplateId = _data[\"warrantChangedStartDateTemplateId\"];\r\n this.warrantSupplierTemplateId = _data[\"warrantSupplierTemplateId\"];\r\n this.warrantDailyRemainderTemplateId = _data[\"warrantDailyRemainderTemplateId\"];\r\n this.genericMailTemplateId = _data[\"genericMailTemplateId\"];\r\n this.useCompletionFlow = _data[\"useCompletionFlow\"];\r\n this.completionUrl = _data[\"completionUrl\"];\r\n this.sendSmsFrom = _data[\"sendSmsFrom\"];\r\n this.sendDeliveryStartSMS = _data[\"sendDeliveryStartSMS\"];\r\n this.sendDeliveryHasStartedSMS = _data[\"sendDeliveryHasStartedSMS\"];\r\n this.sendConfirmationSMS = _data[\"sendConfirmationSMS\"];\r\n this.sendElavtalsServiceSMS = _data[\"sendElavtalsServiceSMS\"];\r\n this.sendConfirmationEmail = _data[\"sendConfirmationEmail\"];\r\n this.standardConfirmationMailTemplateId = _data[\"standardConfirmationMailTemplateId\"];\r\n this.sendMailFromAdress = _data[\"sendMailFromAdress\"];\r\n this.sendMailFromName = _data[\"sendMailFromName\"];\r\n this.useEdiel = _data[\"useEdiel\"];\r\n this.edielId = _data[\"edielId\"];\r\n this.useEdiEncryption = _data[\"useEdiEncryption\"];\r\n this.balanceResponsibleEdielId = _data[\"balanceResponsibleEdielId\"];\r\n this.getActorinfoWhenPropertyCreated = _data[\"getActorinfoWhenPropertyCreated\"];\r\n this.minimumAmountToCreateInvoice = _data[\"minimumAmountToCreateInvoice\"];\r\n this.useAutomaticCompletion = _data[\"useAutomaticCompletion\"];\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.legalName = _data[\"legalName\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.billogramSettings = _data[\"billogramSettings\"] ? CompanySettingsBillogramModel.fromJS(_data[\"billogramSettings\"]) : undefined;\r\n this.communicationSettings = _data[\"communicationSettings\"] ? CompanySettingsCommunicationModel.fromJS(_data[\"communicationSettings\"]) : new CompanySettingsCommunicationModel();\r\n this.invoicingSettings = _data[\"invoicingSettings\"] ? CompanySettingsInvoicing.fromJS(_data[\"invoicingSettings\"]) : new CompanySettingsInvoicing();\r\n this.invoiceAttachmentSettingsId = _data[\"invoiceAttachmentSettingsId\"];\r\n this.invoiceAttachmentSettings = _data[\"invoiceAttachmentSettings\"] ? CompanySettingsInvoiceAttachmentModel.fromJS(_data[\"invoiceAttachmentSettings\"]) : undefined;\r\n if (Array.isArray(_data[\"callbackSettings\"])) {\r\n this.callbackSettings = [] as any;\r\n for (let item of _data[\"callbackSettings\"])\r\n this.callbackSettings!.push(CompanySettingsCallback.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"autoCompletionTemplates\"])) {\r\n this.autoCompletionTemplates = [] as any;\r\n for (let item of _data[\"autoCompletionTemplates\"])\r\n this.autoCompletionTemplates!.push(AutoCompletionTemplate.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompanyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompanyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"callbackUrl\"] = this.callbackUrl;\r\n data[\"handleWarrantMove\"] = this.handleWarrantMove;\r\n data[\"handleWarrantMoveReplies\"] = this.handleWarrantMoveReplies;\r\n data[\"handleWarrantNetOwnerReplies\"] = this.handleWarrantNetOwnerReplies;\r\n data[\"handleWarrantNetOwner\"] = this.handleWarrantNetOwner;\r\n data[\"handleWarrantSupplierReplies\"] = this.handleWarrantSupplierReplies;\r\n data[\"autoSendWarrantMail\"] = this.autoSendWarrantMail;\r\n data[\"autoStartChangeProcessOnNewDeliveries\"] = this.autoStartChangeProcessOnNewDeliveries;\r\n data[\"autoStartChangeProcessMinDaysUntilStart\"] = this.autoStartChangeProcessMinDaysUntilStart;\r\n data[\"autoStartChangeProcessMaxDaysUntilStart\"] = this.autoStartChangeProcessMaxDaysUntilStart;\r\n data[\"autoStartChangeProcessMinDaysAfterSales\"] = this.autoStartChangeProcessMinDaysAfterSales;\r\n data[\"handleWarrantSupplier\"] = this.handleWarrantSupplier;\r\n data[\"warrantMail\"] = this.warrantMail;\r\n data[\"warrantChangedStartDateMail\"] = this.warrantChangedStartDateMail;\r\n data[\"warrantSender\"] = this.warrantSender;\r\n data[\"warrantCompanyName\"] = this.warrantCompanyName;\r\n data[\"warrantCompanyLegalName\"] = this.warrantCompanyLegalName;\r\n data[\"warrantNetOwnerTemplateId\"] = this.warrantNetOwnerTemplateId;\r\n data[\"warrantMoveTemplateId\"] = this.warrantMoveTemplateId;\r\n data[\"warrantChangedStartDateTemplateId\"] = this.warrantChangedStartDateTemplateId;\r\n data[\"warrantSupplierTemplateId\"] = this.warrantSupplierTemplateId;\r\n data[\"warrantDailyRemainderTemplateId\"] = this.warrantDailyRemainderTemplateId;\r\n data[\"genericMailTemplateId\"] = this.genericMailTemplateId;\r\n data[\"useCompletionFlow\"] = this.useCompletionFlow;\r\n data[\"completionUrl\"] = this.completionUrl;\r\n data[\"sendSmsFrom\"] = this.sendSmsFrom;\r\n data[\"sendDeliveryStartSMS\"] = this.sendDeliveryStartSMS;\r\n data[\"sendDeliveryHasStartedSMS\"] = this.sendDeliveryHasStartedSMS;\r\n data[\"sendConfirmationSMS\"] = this.sendConfirmationSMS;\r\n data[\"sendElavtalsServiceSMS\"] = this.sendElavtalsServiceSMS;\r\n data[\"sendConfirmationEmail\"] = this.sendConfirmationEmail;\r\n data[\"standardConfirmationMailTemplateId\"] = this.standardConfirmationMailTemplateId;\r\n data[\"sendMailFromAdress\"] = this.sendMailFromAdress;\r\n data[\"sendMailFromName\"] = this.sendMailFromName;\r\n data[\"useEdiel\"] = this.useEdiel;\r\n data[\"edielId\"] = this.edielId;\r\n data[\"useEdiEncryption\"] = this.useEdiEncryption;\r\n data[\"balanceResponsibleEdielId\"] = this.balanceResponsibleEdielId;\r\n data[\"getActorinfoWhenPropertyCreated\"] = this.getActorinfoWhenPropertyCreated;\r\n data[\"minimumAmountToCreateInvoice\"] = this.minimumAmountToCreateInvoice;\r\n data[\"useAutomaticCompletion\"] = this.useAutomaticCompletion;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"legalName\"] = this.legalName;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"billogramSettings\"] = this.billogramSettings ? this.billogramSettings.toJSON() : undefined;\r\n data[\"communicationSettings\"] = this.communicationSettings ? this.communicationSettings.toJSON() : undefined;\r\n data[\"invoicingSettings\"] = this.invoicingSettings ? this.invoicingSettings.toJSON() : undefined;\r\n data[\"invoiceAttachmentSettingsId\"] = this.invoiceAttachmentSettingsId;\r\n data[\"invoiceAttachmentSettings\"] = this.invoiceAttachmentSettings ? this.invoiceAttachmentSettings.toJSON() : undefined;\r\n if (Array.isArray(this.callbackSettings)) {\r\n data[\"callbackSettings\"] = [];\r\n for (let item of this.callbackSettings)\r\n data[\"callbackSettings\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.autoCompletionTemplates)) {\r\n data[\"autoCompletionTemplates\"] = [];\r\n for (let item of this.autoCompletionTemplates)\r\n data[\"autoCompletionTemplates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompanyModel {\r\n callbackUrl?: string | undefined;\r\n handleWarrantMove?: boolean;\r\n handleWarrantMoveReplies?: boolean;\r\n handleWarrantNetOwnerReplies?: boolean;\r\n handleWarrantNetOwner?: boolean;\r\n handleWarrantSupplierReplies?: boolean;\r\n autoSendWarrantMail?: boolean;\r\n autoStartChangeProcessOnNewDeliveries?: boolean;\r\n autoStartChangeProcessMinDaysUntilStart?: number | undefined;\r\n autoStartChangeProcessMaxDaysUntilStart?: number | undefined;\r\n autoStartChangeProcessMinDaysAfterSales?: number | undefined;\r\n handleWarrantSupplier?: boolean;\r\n warrantMail?: string | undefined;\r\n warrantChangedStartDateMail?: string | undefined;\r\n warrantSender?: string | undefined;\r\n warrantCompanyName?: string | undefined;\r\n warrantCompanyLegalName?: string | undefined;\r\n warrantNetOwnerTemplateId?: string | undefined;\r\n warrantMoveTemplateId?: string | undefined;\r\n warrantChangedStartDateTemplateId?: string | undefined;\r\n warrantSupplierTemplateId?: string | undefined;\r\n warrantDailyRemainderTemplateId?: string | undefined;\r\n genericMailTemplateId?: string | undefined;\r\n useCompletionFlow?: boolean;\r\n completionUrl?: string | undefined;\r\n sendSmsFrom?: string | undefined;\r\n sendDeliveryStartSMS?: boolean;\r\n sendDeliveryHasStartedSMS?: boolean;\r\n sendConfirmationSMS?: boolean;\r\n sendElavtalsServiceSMS?: boolean;\r\n sendConfirmationEmail?: boolean;\r\n standardConfirmationMailTemplateId?: string | undefined;\r\n sendMailFromAdress?: string | undefined;\r\n sendMailFromName?: string | undefined;\r\n useEdiel?: boolean;\r\n edielId?: string | undefined;\r\n useEdiEncryption?: boolean;\r\n balanceResponsibleEdielId?: string | undefined;\r\n getActorinfoWhenPropertyCreated?: boolean;\r\n minimumAmountToCreateInvoice?: number;\r\n useAutomaticCompletion?: boolean;\r\n id?: string;\r\n name?: string | undefined;\r\n legalName?: string | undefined;\r\n companyId?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdBy?: string;\r\n billogramSettings?: CompanySettingsBillogramModel;\r\n communicationSettings: CompanySettingsCommunicationModel;\r\n invoicingSettings: CompanySettingsInvoicing;\r\n invoiceAttachmentSettingsId?: string | undefined;\r\n invoiceAttachmentSettings?: CompanySettingsInvoiceAttachmentModel;\r\n callbackSettings?: CompanySettingsCallback[] | undefined;\r\n autoCompletionTemplates?: AutoCompletionTemplate[] | undefined;\r\n}\r\n\r\nexport enum EAHousing {\r\n APARTMENT = \"APARTMENT\",\r\n TERRACED = \"TERRACED\",\r\n HOUSE = \"HOUSE\",\r\n APPARTMENT = \"APPARTMENT\",\r\n}\r\n\r\nexport class Meter implements IMeter {\r\n id?: string;\r\n externalMeterId?: string | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n\r\n constructor(data?: IMeter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.externalMeterId = _data[\"externalMeterId\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Meter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Meter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"externalMeterId\"] = this.externalMeterId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMeter {\r\n id?: string;\r\n externalMeterId?: string | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n}\r\n\r\nexport enum Quality {\r\n OK = \"OK\",\r\n ESTIMATED = \"ESTIMATED\",\r\n CALCULATED = \"CALCULATED\",\r\n}\r\n\r\nexport class InvoiceDatakWhModel implements IInvoiceDatakWhModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n invoiceConsumption?: InvoiceConsumptionModel;\r\n invoiceConsumptionId?: string | undefined;\r\n originalInvoiceConsumptionId?: string | undefined;\r\n priceKWh?: PriceKWh;\r\n supplementCharge?: number;\r\n\r\n constructor(data?: IInvoiceDatakWhModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.invoiceDataId = _data[\"invoiceDataId\"];\r\n this.contractId = _data[\"contractId\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.price = _data[\"price\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.amount = _data[\"amount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n this.invoiceConsumption = _data[\"invoiceConsumption\"] ? InvoiceConsumptionModel.fromJS(_data[\"invoiceConsumption\"]) : undefined;\r\n this.invoiceConsumptionId = _data[\"invoiceConsumptionId\"];\r\n this.originalInvoiceConsumptionId = _data[\"originalInvoiceConsumptionId\"];\r\n this.priceKWh = _data[\"priceKWh\"] ? PriceKWh.fromJS(_data[\"priceKWh\"]) : undefined;\r\n this.supplementCharge = _data[\"supplementCharge\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceDatakWhModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceDatakWhModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"invoiceDataId\"] = this.invoiceDataId;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"price\"] = this.price;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"amount\"] = this.amount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n data[\"invoiceConsumption\"] = this.invoiceConsumption ? this.invoiceConsumption.toJSON() : undefined;\r\n data[\"invoiceConsumptionId\"] = this.invoiceConsumptionId;\r\n data[\"originalInvoiceConsumptionId\"] = this.originalInvoiceConsumptionId;\r\n data[\"priceKWh\"] = this.priceKWh ? this.priceKWh.toJSON() : undefined;\r\n data[\"supplementCharge\"] = this.supplementCharge;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceDatakWhModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n invoiceConsumption?: InvoiceConsumptionModel;\r\n invoiceConsumptionId?: string | undefined;\r\n originalInvoiceConsumptionId?: string | undefined;\r\n priceKWh?: PriceKWh;\r\n supplementCharge?: number;\r\n}\r\n\r\nexport enum InvoiceConsumptionInstallationStatus {\r\n OPEN = \"OPEN\",\r\n CLOSED = \"CLOSED\",\r\n PARTIALLY_CLOSED = \"PARTIALLY_CLOSED\",\r\n}\r\n\r\nexport class InvoiceConsumptionModel implements IInvoiceConsumptionModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n quality?: Quality;\r\n endingConsumption?: boolean;\r\n archived?: boolean;\r\n isBilled?: boolean;\r\n isZeroCorrection?: boolean;\r\n invoiceDatas?: InvoiceDatakWhModel[] | undefined;\r\n propertyId?: string | undefined;\r\n property?: PropertyModel;\r\n meterId?: string | undefined;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n installationStatus?: InvoiceConsumptionInstallationStatus;\r\n daysWithConsumption?: number;\r\n latestPeriodQuantityCreated?: moment.Moment | undefined;\r\n\r\n constructor(data?: IInvoiceConsumptionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.quantity = _data[\"quantity\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.quality = _data[\"quality\"];\r\n this.endingConsumption = _data[\"endingConsumption\"];\r\n this.archived = _data[\"archived\"];\r\n this.isBilled = _data[\"isBilled\"];\r\n this.isZeroCorrection = _data[\"isZeroCorrection\"];\r\n if (Array.isArray(_data[\"invoiceDatas\"])) {\r\n this.invoiceDatas = [] as any;\r\n for (let item of _data[\"invoiceDatas\"])\r\n this.invoiceDatas!.push(InvoiceDatakWhModel.fromJS(item));\r\n }\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n this.meterId = _data[\"meterId\"];\r\n this.elavtalId = _data[\"elavtalId\"];\r\n this.elavtal = _data[\"elavtal\"] ? Elavtal.fromJS(_data[\"elavtal\"]) : undefined;\r\n this.installationStatus = _data[\"installationStatus\"];\r\n this.daysWithConsumption = _data[\"daysWithConsumption\"];\r\n this.latestPeriodQuantityCreated = _data[\"latestPeriodQuantityCreated\"] ? moment(_data[\"latestPeriodQuantityCreated\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceConsumptionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceConsumptionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"quality\"] = this.quality;\r\n data[\"endingConsumption\"] = this.endingConsumption;\r\n data[\"archived\"] = this.archived;\r\n data[\"isBilled\"] = this.isBilled;\r\n data[\"isZeroCorrection\"] = this.isZeroCorrection;\r\n if (Array.isArray(this.invoiceDatas)) {\r\n data[\"invoiceDatas\"] = [];\r\n for (let item of this.invoiceDatas)\r\n data[\"invoiceDatas\"].push(item.toJSON());\r\n }\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n data[\"meterId\"] = this.meterId;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n data[\"elavtal\"] = this.elavtal ? this.elavtal.toJSON() : undefined;\r\n data[\"installationStatus\"] = this.installationStatus;\r\n data[\"daysWithConsumption\"] = this.daysWithConsumption;\r\n data[\"latestPeriodQuantityCreated\"] = this.latestPeriodQuantityCreated ? this.latestPeriodQuantityCreated.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceConsumptionModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n quality?: Quality;\r\n endingConsumption?: boolean;\r\n archived?: boolean;\r\n isBilled?: boolean;\r\n isZeroCorrection?: boolean;\r\n invoiceDatas?: InvoiceDatakWhModel[] | undefined;\r\n propertyId?: string | undefined;\r\n property?: PropertyModel;\r\n meterId?: string | undefined;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n installationStatus?: InvoiceConsumptionInstallationStatus;\r\n daysWithConsumption?: number;\r\n latestPeriodQuantityCreated?: moment.Moment | undefined;\r\n}\r\n\r\nexport enum MeasureQuality {\r\n OK = \"OK\",\r\n Temporary = \"Temporary\",\r\n Non_existent = \"Non_existent\",\r\n Estimated = \"Estimated\",\r\n Incomplete = \"Incomplete\",\r\n Adjusted = \"Adjusted\",\r\n SystemEstimated = \"SystemEstimated\",\r\n Manual = \"Manual\",\r\n}\r\n\r\nexport enum QuantityType {\r\n Consumption = \"Consumption\",\r\n Production = \"Production\",\r\n}\r\n\r\nexport enum Direction {\r\n OUTGOING = \"OUTGOING\",\r\n INCOMING = \"INCOMING\",\r\n}\r\n\r\nexport enum MarketCommunicationErrorCode {\r\n UNKNOWN = \"UNKNOWN\",\r\n SUPPLIER_CHANGE_NOT_FOUND = \"SUPPLIER_CHANGE_NOT_FOUND\",\r\n RETAILER_SWITCH_LOG_NOT_FOUND = \"RETAILER_SWITCH_LOG_NOT_FOUND\",\r\n RECIPIENT_NOT_FOUND = \"RECIPIENT_NOT_FOUND\",\r\n PROPERTY_NOT_FOUND = \"PROPERTY_NOT_FOUND\",\r\n COULD_NOT_CREATE_OBLIGATIONTORECIEVE = \"COULD_NOT_CREATE_OBLIGATIONTORECIEVE\",\r\n FAILED_TO_SEND_CONTRL = \"FAILED_TO_SEND_CONTRL\",\r\n FAILED_TO_SEND_APERAK = \"FAILED_TO_SEND_APERAK\",\r\n UNKNOWN_INTERCHANGE_REFERENCE = \"UNKNOWN_INTERCHANGE_REFERENCE\",\r\n SUPPLIER_CHANGE_LOG_NOT_FOUND = \"SUPPLIER_CHANGE_LOG_NOT_FOUND\",\r\n MULTIPLE_CONTRL_MESSAGES_IN_INTERCHANGE = \"MULTIPLE_CONTRL_MESSAGES_IN_INTERCHANGE\",\r\n UNSUPPORTED_PRODAT_TYPE = \"UNSUPPORTED_PRODAT_TYPE\",\r\n UNSUPPORTED_PRODAT_SUBTYPE = \"UNSUPPORTED_PRODAT_SUBTYPE\",\r\n EDILOGDETAIL_UNHANDLED = \"EDILOGDETAIL_UNHANDLED\",\r\n DELIVERY_NOT_FOUND = \"DELIVERY_NOT_FOUND\",\r\n UNSUPPORTED_MESSAGE_TYPE = \"UNSUPPORTED_MESSAGE_TYPE\",\r\n UNKNOWN_EDIEL_RECIPIENT = \"UNKNOWN_EDIEL_RECIPIENT\",\r\n MULTIPLE_PROPERTIES_FOUND = \"MULTIPLE_PROPERTIES_FOUND\",\r\n UNSUPPORTED_UTILTS_MESSAGE_TYPE = \"UNSUPPORTED_UTILTS_MESSAGE_TYPE\",\r\n UNSUPPORTED_APERAK_MESSAGE_FUNCTION = \"UNSUPPORTED_APERAK_MESSAGE_FUNCTION\",\r\n UNABLE_TO_CREATE_EDIEL_MESSAGE = \"UNABLE_TO_CREATE_EDIEL_MESSAGE\",\r\n DUPLICATE_INTERCHANGE_REFERENCE = \"DUPLICATE_INTERCHANGE_REFERENCE\",\r\n CUSTOMER_NOT_FOUND = \"CUSTOMER_NOT_FOUND\",\r\n ILLEGAL_PROPERTY_TYPE_FOR_OPERATION = \"ILLEGAL_PROPERTY_TYPE_FOR_OPERATION\",\r\n SMTP_COMMUNICATION_FAILURE = \"SMTP_COMMUNICATION_FAILURE\",\r\n}\r\n\r\nexport class EdiLogDetail implements IEdiLogDetail {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n messageSubType?: string | undefined;\r\n referenceId?: string | undefined;\r\n ediLogPostId?: string;\r\n ediLogPost?: EdiLogPost;\r\n propertyId?: string | undefined;\r\n messageAttribute?: string | undefined;\r\n messageId?: string | undefined;\r\n messageDetailId?: string | undefined;\r\n aperakStatus?: boolean | undefined;\r\n utiltsErrStatus?: boolean | undefined;\r\n handled?: boolean;\r\n errorCode?: MarketCommunicationErrorCode;\r\n\r\n constructor(data?: IEdiLogDetail) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.messageSubType = _data[\"messageSubType\"];\r\n this.referenceId = _data[\"referenceId\"];\r\n this.ediLogPostId = _data[\"ediLogPostId\"];\r\n this.ediLogPost = _data[\"ediLogPost\"] ? EdiLogPost.fromJS(_data[\"ediLogPost\"]) : undefined;\r\n this.propertyId = _data[\"propertyId\"];\r\n this.messageAttribute = _data[\"messageAttribute\"];\r\n this.messageId = _data[\"messageId\"];\r\n this.messageDetailId = _data[\"messageDetailId\"];\r\n this.aperakStatus = _data[\"aperakStatus\"];\r\n this.utiltsErrStatus = _data[\"utiltsErrStatus\"];\r\n this.handled = _data[\"handled\"];\r\n this.errorCode = _data[\"errorCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EdiLogDetail {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EdiLogDetail();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"messageSubType\"] = this.messageSubType;\r\n data[\"referenceId\"] = this.referenceId;\r\n data[\"ediLogPostId\"] = this.ediLogPostId;\r\n data[\"ediLogPost\"] = this.ediLogPost ? this.ediLogPost.toJSON() : undefined;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"messageAttribute\"] = this.messageAttribute;\r\n data[\"messageId\"] = this.messageId;\r\n data[\"messageDetailId\"] = this.messageDetailId;\r\n data[\"aperakStatus\"] = this.aperakStatus;\r\n data[\"utiltsErrStatus\"] = this.utiltsErrStatus;\r\n data[\"handled\"] = this.handled;\r\n data[\"errorCode\"] = this.errorCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEdiLogDetail {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n messageSubType?: string | undefined;\r\n referenceId?: string | undefined;\r\n ediLogPostId?: string;\r\n ediLogPost?: EdiLogPost;\r\n propertyId?: string | undefined;\r\n messageAttribute?: string | undefined;\r\n messageId?: string | undefined;\r\n messageDetailId?: string | undefined;\r\n aperakStatus?: boolean | undefined;\r\n utiltsErrStatus?: boolean | undefined;\r\n handled?: boolean;\r\n errorCode?: MarketCommunicationErrorCode;\r\n}\r\n\r\nexport class EdiLogPost implements IEdiLogPost {\r\n id?: string;\r\n logged?: moment.Moment;\r\n direction?: Direction;\r\n dateOfPreparation?: string | undefined;\r\n timeOfPreparation?: string | undefined;\r\n interchangeReference?: string | undefined;\r\n messageType?: string | undefined;\r\n senderId?: string | undefined;\r\n senderEmailAddress?: string | undefined;\r\n recipientId?: string | undefined;\r\n recipientEmailAddress?: string | undefined;\r\n fileName?: string | undefined;\r\n message?: string | undefined;\r\n handled?: boolean;\r\n errorCode?: MarketCommunicationErrorCode;\r\n controlStatus?: boolean | undefined;\r\n messageSubType?: string | undefined;\r\n periodQuantitiesPlanned?: PeriodQuantityPlannedModel[] | undefined;\r\n details?: EdiLogDetail[] | undefined;\r\n\r\n constructor(data?: IEdiLogPost) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.logged = _data[\"logged\"] ? moment(_data[\"logged\"].toString()) : undefined;\r\n this.direction = _data[\"direction\"];\r\n this.dateOfPreparation = _data[\"dateOfPreparation\"];\r\n this.timeOfPreparation = _data[\"timeOfPreparation\"];\r\n this.interchangeReference = _data[\"interchangeReference\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.senderId = _data[\"senderId\"];\r\n this.senderEmailAddress = _data[\"senderEmailAddress\"];\r\n this.recipientId = _data[\"recipientId\"];\r\n this.recipientEmailAddress = _data[\"recipientEmailAddress\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.message = _data[\"message\"];\r\n this.handled = _data[\"handled\"];\r\n this.errorCode = _data[\"errorCode\"];\r\n this.controlStatus = _data[\"controlStatus\"];\r\n this.messageSubType = _data[\"messageSubType\"];\r\n if (Array.isArray(_data[\"periodQuantitiesPlanned\"])) {\r\n this.periodQuantitiesPlanned = [] as any;\r\n for (let item of _data[\"periodQuantitiesPlanned\"])\r\n this.periodQuantitiesPlanned!.push(PeriodQuantityPlannedModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"details\"])) {\r\n this.details = [] as any;\r\n for (let item of _data[\"details\"])\r\n this.details!.push(EdiLogDetail.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EdiLogPost {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EdiLogPost();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"logged\"] = this.logged ? this.logged.toISOString() : undefined;\r\n data[\"direction\"] = this.direction;\r\n data[\"dateOfPreparation\"] = this.dateOfPreparation;\r\n data[\"timeOfPreparation\"] = this.timeOfPreparation;\r\n data[\"interchangeReference\"] = this.interchangeReference;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"senderId\"] = this.senderId;\r\n data[\"senderEmailAddress\"] = this.senderEmailAddress;\r\n data[\"recipientId\"] = this.recipientId;\r\n data[\"recipientEmailAddress\"] = this.recipientEmailAddress;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"message\"] = this.message;\r\n data[\"handled\"] = this.handled;\r\n data[\"errorCode\"] = this.errorCode;\r\n data[\"controlStatus\"] = this.controlStatus;\r\n data[\"messageSubType\"] = this.messageSubType;\r\n if (Array.isArray(this.periodQuantitiesPlanned)) {\r\n data[\"periodQuantitiesPlanned\"] = [];\r\n for (let item of this.periodQuantitiesPlanned)\r\n data[\"periodQuantitiesPlanned\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.details)) {\r\n data[\"details\"] = [];\r\n for (let item of this.details)\r\n data[\"details\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEdiLogPost {\r\n id?: string;\r\n logged?: moment.Moment;\r\n direction?: Direction;\r\n dateOfPreparation?: string | undefined;\r\n timeOfPreparation?: string | undefined;\r\n interchangeReference?: string | undefined;\r\n messageType?: string | undefined;\r\n senderId?: string | undefined;\r\n senderEmailAddress?: string | undefined;\r\n recipientId?: string | undefined;\r\n recipientEmailAddress?: string | undefined;\r\n fileName?: string | undefined;\r\n message?: string | undefined;\r\n handled?: boolean;\r\n errorCode?: MarketCommunicationErrorCode;\r\n controlStatus?: boolean | undefined;\r\n messageSubType?: string | undefined;\r\n periodQuantitiesPlanned?: PeriodQuantityPlannedModel[] | undefined;\r\n details?: EdiLogDetail[] | undefined;\r\n}\r\n\r\nexport class PeriodQuantityPlannedModel implements IPeriodQuantityPlannedModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n periodStartTime?: moment.Moment;\r\n periodEndTime?: moment.Moment;\r\n resolution?: string | undefined;\r\n unit?: string | undefined;\r\n quantity?: number;\r\n quality?: MeasureQuality;\r\n type?: QuantityType;\r\n transactionReference?: string | undefined;\r\n propertyId?: string | undefined;\r\n property?: PropertyModel;\r\n ediLogPostId?: string | undefined;\r\n ediLog?: EdiLogPost;\r\n\r\n constructor(data?: IPeriodQuantityPlannedModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.periodStartTime = _data[\"periodStartTime\"] ? moment(_data[\"periodStartTime\"].toString()) : undefined;\r\n this.periodEndTime = _data[\"periodEndTime\"] ? moment(_data[\"periodEndTime\"].toString()) : undefined;\r\n this.resolution = _data[\"resolution\"];\r\n this.unit = _data[\"unit\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.quality = _data[\"quality\"];\r\n this.type = _data[\"type\"];\r\n this.transactionReference = _data[\"transactionReference\"];\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n this.ediLogPostId = _data[\"ediLogPostId\"];\r\n this.ediLog = _data[\"ediLog\"] ? EdiLogPost.fromJS(_data[\"ediLog\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PeriodQuantityPlannedModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PeriodQuantityPlannedModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"periodStartTime\"] = this.periodStartTime ? this.periodStartTime.toISOString() : undefined;\r\n data[\"periodEndTime\"] = this.periodEndTime ? this.periodEndTime.toISOString() : undefined;\r\n data[\"resolution\"] = this.resolution;\r\n data[\"unit\"] = this.unit;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"quality\"] = this.quality;\r\n data[\"type\"] = this.type;\r\n data[\"transactionReference\"] = this.transactionReference;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n data[\"ediLogPostId\"] = this.ediLogPostId;\r\n data[\"ediLog\"] = this.ediLog ? this.ediLog.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPeriodQuantityPlannedModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n periodStartTime?: moment.Moment;\r\n periodEndTime?: moment.Moment;\r\n resolution?: string | undefined;\r\n unit?: string | undefined;\r\n quantity?: number;\r\n quality?: MeasureQuality;\r\n type?: QuantityType;\r\n transactionReference?: string | undefined;\r\n propertyId?: string | undefined;\r\n property?: PropertyModel;\r\n ediLogPostId?: string | undefined;\r\n ediLog?: EdiLogPost;\r\n}\r\n\r\nexport enum MeasureMethod {\r\n UNKNOWN = \"UNKNOWN\",\r\n PROFILE = \"PROFILE\",\r\n HOUR = \"HOUR\",\r\n DEFINED_BY_METERING_POINT_ADMIN = \"DEFINED_BY_METERING_POINT_ADMIN\",\r\n FIFTEEN_MINUTES = \"FIFTEEN_MINUTES\",\r\n}\r\n\r\nexport enum ObservationLength {\r\n UNKNOWN = \"UNKNOWN\",\r\n FIFTEEN_MINUTES = \"FIFTEEN_MINUTES\",\r\n ONE_HOUR = \"ONE_HOUR\",\r\n ONE_MONTH = \"ONE_MONTH\",\r\n ONE_YEAR = \"ONE_YEAR\",\r\n}\r\n\r\nexport enum SettlementMethod {\r\n UNKNOWN = \"UNKNOWN\",\r\n PROFILED_SETTLEMENT = \"PROFILED_SETTLEMENT\",\r\n HOURLY_BASED_SETTLEMENT = \"HOURLY_BASED_SETTLEMENT\",\r\n}\r\n\r\nexport enum InstallationStatus {\r\n UNKNOWN = \"UNKNOWN\",\r\n CLOSED = \"CLOSED\",\r\n OPEN = \"OPEN\",\r\n}\r\n\r\nexport enum MeterReadingFrequency {\r\n UNKNOWN = \"UNKNOWN\",\r\n DAILY = \"DAILY\",\r\n WEEKLY = \"WEEKLY\",\r\n MONTHLY = \"MONTHLY\",\r\n QUARTERLY = \"QUARTERLY\",\r\n}\r\n\r\nexport enum MeterInfoOrigin {\r\n NET_OWNER = \"NET_OWNER\",\r\n MANUAL = \"MANUAL\",\r\n}\r\n\r\nexport class MeterInfoModel implements IMeterInfoModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n timeStamp?: moment.Moment;\r\n lineItemReference?: string | undefined;\r\n meterNumber?: string | undefined;\r\n meterTimeframe?: string | undefined;\r\n productCode?: string | undefined;\r\n constant?: number;\r\n measureMethod?: MeasureMethod;\r\n observationLength?: ObservationLength;\r\n settlementMethod?: SettlementMethod;\r\n numberOfDigits?: number;\r\n status?: InstallationStatus;\r\n readingFrequency?: MeterReadingFrequency;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n origin?: MeterInfoOrigin;\r\n\r\n constructor(data?: IMeterInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.timeStamp = _data[\"timeStamp\"] ? moment(_data[\"timeStamp\"].toString()) : undefined;\r\n this.lineItemReference = _data[\"lineItemReference\"];\r\n this.meterNumber = _data[\"meterNumber\"];\r\n this.meterTimeframe = _data[\"meterTimeframe\"];\r\n this.productCode = _data[\"productCode\"];\r\n this.constant = _data[\"constant\"];\r\n this.measureMethod = _data[\"measureMethod\"];\r\n this.observationLength = _data[\"observationLength\"];\r\n this.settlementMethod = _data[\"settlementMethod\"];\r\n this.numberOfDigits = _data[\"numberOfDigits\"];\r\n this.status = _data[\"status\"];\r\n this.readingFrequency = _data[\"readingFrequency\"];\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n this.origin = _data[\"origin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MeterInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MeterInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"timeStamp\"] = this.timeStamp ? this.timeStamp.toISOString() : undefined;\r\n data[\"lineItemReference\"] = this.lineItemReference;\r\n data[\"meterNumber\"] = this.meterNumber;\r\n data[\"meterTimeframe\"] = this.meterTimeframe;\r\n data[\"productCode\"] = this.productCode;\r\n data[\"constant\"] = this.constant;\r\n data[\"measureMethod\"] = this.measureMethod;\r\n data[\"observationLength\"] = this.observationLength;\r\n data[\"settlementMethod\"] = this.settlementMethod;\r\n data[\"numberOfDigits\"] = this.numberOfDigits;\r\n data[\"status\"] = this.status;\r\n data[\"readingFrequency\"] = this.readingFrequency;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n data[\"origin\"] = this.origin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMeterInfoModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n timeStamp?: moment.Moment;\r\n lineItemReference?: string | undefined;\r\n meterNumber?: string | undefined;\r\n meterTimeframe?: string | undefined;\r\n productCode?: string | undefined;\r\n constant?: number;\r\n measureMethod?: MeasureMethod;\r\n observationLength?: ObservationLength;\r\n settlementMethod?: SettlementMethod;\r\n numberOfDigits?: number;\r\n status?: InstallationStatus;\r\n readingFrequency?: MeterReadingFrequency;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n origin?: MeterInfoOrigin;\r\n}\r\n\r\nexport enum PropertyEventType {\r\n UNDEFINED = \"UNDEFINED\",\r\n METER_OPENED = \"METER_OPENED\",\r\n METER_CLOSED = \"METER_CLOSED\",\r\n METER_CHANGED = \"METER_CHANGED\",\r\n METERINFO_UPDATED = \"METERINFO_UPDATED\",\r\n PROPERTY_ADDRESS_UPDATED = \"PROPERTY_ADDRESS_UPDATED\",\r\n MEASURING_METHOD_UPDATED = \"MEASURING_METHOD_UPDATED\",\r\n SETTLEMENT_METHOD_UPDATED = \"SETTLEMENT_METHOD_UPDATED\",\r\n}\r\n\r\nexport class PropertyEventModel implements IPropertyEventModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n eventType?: PropertyEventType;\r\n timestamp?: moment.Moment;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n\r\n constructor(data?: IPropertyEventModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.eventType = _data[\"eventType\"];\r\n this.timestamp = _data[\"timestamp\"] ? moment(_data[\"timestamp\"].toString()) : undefined;\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PropertyEventModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PropertyEventModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"eventType\"] = this.eventType;\r\n data[\"timestamp\"] = this.timestamp ? this.timestamp.toISOString() : undefined;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPropertyEventModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n eventType?: PropertyEventType;\r\n timestamp?: moment.Moment;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n}\r\n\r\nexport class MissingPeriodModel implements IMissingPeriodModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n propertyId?: string;\r\n startTime?: moment.Moment;\r\n endTime?: moment.Moment;\r\n\r\n constructor(data?: IMissingPeriodModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.propertyId = _data[\"propertyId\"];\r\n this.startTime = _data[\"startTime\"] ? moment(_data[\"startTime\"].toString()) : undefined;\r\n this.endTime = _data[\"endTime\"] ? moment(_data[\"endTime\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MissingPeriodModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MissingPeriodModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString() : undefined;\r\n data[\"endTime\"] = this.endTime ? this.endTime.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMissingPeriodModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n propertyId?: string;\r\n startTime?: moment.Moment;\r\n endTime?: moment.Moment;\r\n}\r\n\r\nexport enum PropertyStatus {\r\n DRAFT = \"DRAFT\",\r\n CONFIRMED = \"CONFIRMED\",\r\n ARCHIVED = \"ARCHIVED\",\r\n}\r\n\r\nexport enum NetActorType {\r\n NetOwner = \"NetOwner\",\r\n Supplier = \"Supplier\",\r\n}\r\n\r\nexport class NetOwner implements INetOwner {\r\n type?: NetActorType;\r\n phoneNumberCustomerSupportMove?: string | undefined;\r\n id?: string;\r\n name?: string | undefined;\r\n edielId?: string | undefined;\r\n prodatCommunicationAddress?: string | undefined;\r\n prodatSubAddress?: string | undefined;\r\n prodatInterchangePartyId?: string | undefined;\r\n utiltsCommunicationAddress?: string | undefined;\r\n utiltsSubAddress?: string | undefined;\r\n utiltsInterchangePartyId?: string | undefined;\r\n warrantEmail?: string | undefined;\r\n warrantEmailManual?: string | undefined;\r\n phoneNumberCustomerSupport?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n digitalIdRequired?: boolean | undefined;\r\n\r\n constructor(data?: INetOwner) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.phoneNumberCustomerSupportMove = _data[\"phoneNumberCustomerSupportMove\"];\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.edielId = _data[\"edielId\"];\r\n this.prodatCommunicationAddress = _data[\"prodatCommunicationAddress\"];\r\n this.prodatSubAddress = _data[\"prodatSubAddress\"];\r\n this.prodatInterchangePartyId = _data[\"prodatInterchangePartyId\"];\r\n this.utiltsCommunicationAddress = _data[\"utiltsCommunicationAddress\"];\r\n this.utiltsSubAddress = _data[\"utiltsSubAddress\"];\r\n this.utiltsInterchangePartyId = _data[\"utiltsInterchangePartyId\"];\r\n this.warrantEmail = _data[\"warrantEmail\"];\r\n this.warrantEmailManual = _data[\"warrantEmailManual\"];\r\n this.phoneNumberCustomerSupport = _data[\"phoneNumberCustomerSupport\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.digitalIdRequired = _data[\"digitalIdRequired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NetOwner {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NetOwner();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"phoneNumberCustomerSupportMove\"] = this.phoneNumberCustomerSupportMove;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"edielId\"] = this.edielId;\r\n data[\"prodatCommunicationAddress\"] = this.prodatCommunicationAddress;\r\n data[\"prodatSubAddress\"] = this.prodatSubAddress;\r\n data[\"prodatInterchangePartyId\"] = this.prodatInterchangePartyId;\r\n data[\"utiltsCommunicationAddress\"] = this.utiltsCommunicationAddress;\r\n data[\"utiltsSubAddress\"] = this.utiltsSubAddress;\r\n data[\"utiltsInterchangePartyId\"] = this.utiltsInterchangePartyId;\r\n data[\"warrantEmail\"] = this.warrantEmail;\r\n data[\"warrantEmailManual\"] = this.warrantEmailManual;\r\n data[\"phoneNumberCustomerSupport\"] = this.phoneNumberCustomerSupport;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"digitalIdRequired\"] = this.digitalIdRequired;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INetOwner {\r\n type?: NetActorType;\r\n phoneNumberCustomerSupportMove?: string | undefined;\r\n id?: string;\r\n name?: string | undefined;\r\n edielId?: string | undefined;\r\n prodatCommunicationAddress?: string | undefined;\r\n prodatSubAddress?: string | undefined;\r\n prodatInterchangePartyId?: string | undefined;\r\n utiltsCommunicationAddress?: string | undefined;\r\n utiltsSubAddress?: string | undefined;\r\n utiltsInterchangePartyId?: string | undefined;\r\n warrantEmail?: string | undefined;\r\n warrantEmailManual?: string | undefined;\r\n phoneNumberCustomerSupport?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n digitalIdRequired?: boolean | undefined;\r\n}\r\n\r\nexport class AggregatedQuantityModel implements IAggregatedQuantityModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n planned?: boolean;\r\n periodStartTime?: moment.Moment;\r\n periodEndTime?: moment.Moment;\r\n resolution?: string | undefined;\r\n unit?: string | undefined;\r\n quantity?: number;\r\n type?: QuantityType;\r\n transactionReference?: string | undefined;\r\n numberOfMeasuringPoints?: number;\r\n productCharacteristic?: string | undefined;\r\n productType?: string | undefined;\r\n identityType?: string | undefined;\r\n levelOfDetails?: string | undefined;\r\n businessActivityPhase?: string | undefined;\r\n netAreaId?: string | undefined;\r\n netArea?: NetArea;\r\n ediLogPostId?: string | undefined;\r\n ediLog?: EdiLogPost;\r\n\r\n constructor(data?: IAggregatedQuantityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.planned = _data[\"planned\"];\r\n this.periodStartTime = _data[\"periodStartTime\"] ? moment(_data[\"periodStartTime\"].toString()) : undefined;\r\n this.periodEndTime = _data[\"periodEndTime\"] ? moment(_data[\"periodEndTime\"].toString()) : undefined;\r\n this.resolution = _data[\"resolution\"];\r\n this.unit = _data[\"unit\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.type = _data[\"type\"];\r\n this.transactionReference = _data[\"transactionReference\"];\r\n this.numberOfMeasuringPoints = _data[\"numberOfMeasuringPoints\"];\r\n this.productCharacteristic = _data[\"productCharacteristic\"];\r\n this.productType = _data[\"productType\"];\r\n this.identityType = _data[\"identityType\"];\r\n this.levelOfDetails = _data[\"levelOfDetails\"];\r\n this.businessActivityPhase = _data[\"businessActivityPhase\"];\r\n this.netAreaId = _data[\"netAreaId\"];\r\n this.netArea = _data[\"netArea\"] ? NetArea.fromJS(_data[\"netArea\"]) : undefined;\r\n this.ediLogPostId = _data[\"ediLogPostId\"];\r\n this.ediLog = _data[\"ediLog\"] ? EdiLogPost.fromJS(_data[\"ediLog\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AggregatedQuantityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AggregatedQuantityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"planned\"] = this.planned;\r\n data[\"periodStartTime\"] = this.periodStartTime ? this.periodStartTime.toISOString() : undefined;\r\n data[\"periodEndTime\"] = this.periodEndTime ? this.periodEndTime.toISOString() : undefined;\r\n data[\"resolution\"] = this.resolution;\r\n data[\"unit\"] = this.unit;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"type\"] = this.type;\r\n data[\"transactionReference\"] = this.transactionReference;\r\n data[\"numberOfMeasuringPoints\"] = this.numberOfMeasuringPoints;\r\n data[\"productCharacteristic\"] = this.productCharacteristic;\r\n data[\"productType\"] = this.productType;\r\n data[\"identityType\"] = this.identityType;\r\n data[\"levelOfDetails\"] = this.levelOfDetails;\r\n data[\"businessActivityPhase\"] = this.businessActivityPhase;\r\n data[\"netAreaId\"] = this.netAreaId;\r\n data[\"netArea\"] = this.netArea ? this.netArea.toJSON() : undefined;\r\n data[\"ediLogPostId\"] = this.ediLogPostId;\r\n data[\"ediLog\"] = this.ediLog ? this.ediLog.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAggregatedQuantityModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n planned?: boolean;\r\n periodStartTime?: moment.Moment;\r\n periodEndTime?: moment.Moment;\r\n resolution?: string | undefined;\r\n unit?: string | undefined;\r\n quantity?: number;\r\n type?: QuantityType;\r\n transactionReference?: string | undefined;\r\n numberOfMeasuringPoints?: number;\r\n productCharacteristic?: string | undefined;\r\n productType?: string | undefined;\r\n identityType?: string | undefined;\r\n levelOfDetails?: string | undefined;\r\n businessActivityPhase?: string | undefined;\r\n netAreaId?: string | undefined;\r\n netArea?: NetArea;\r\n ediLogPostId?: string | undefined;\r\n ediLog?: EdiLogPost;\r\n}\r\n\r\nexport class NetArea implements INetArea {\r\n id?: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n electricityArea?: number;\r\n netOwnerId?: string;\r\n netOwner?: NetOwner;\r\n aggregatedQuantities?: AggregatedQuantityModel[] | undefined;\r\n\r\n constructor(data?: INetArea) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.electricityArea = _data[\"electricityArea\"];\r\n this.netOwnerId = _data[\"netOwnerId\"];\r\n this.netOwner = _data[\"netOwner\"] ? NetOwner.fromJS(_data[\"netOwner\"]) : undefined;\r\n if (Array.isArray(_data[\"aggregatedQuantities\"])) {\r\n this.aggregatedQuantities = [] as any;\r\n for (let item of _data[\"aggregatedQuantities\"])\r\n this.aggregatedQuantities!.push(AggregatedQuantityModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NetArea {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NetArea();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"electricityArea\"] = this.electricityArea;\r\n data[\"netOwnerId\"] = this.netOwnerId;\r\n data[\"netOwner\"] = this.netOwner ? this.netOwner.toJSON() : undefined;\r\n if (Array.isArray(this.aggregatedQuantities)) {\r\n data[\"aggregatedQuantities\"] = [];\r\n for (let item of this.aggregatedQuantities)\r\n data[\"aggregatedQuantities\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INetArea {\r\n id?: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n electricityArea?: number;\r\n netOwnerId?: string;\r\n netOwner?: NetOwner;\r\n aggregatedQuantities?: AggregatedQuantityModel[] | undefined;\r\n}\r\n\r\nexport class PropertyModel implements IPropertyModel {\r\n ean?: string | undefined;\r\n street?: string | undefined;\r\n publicStreet?: string | undefined;\r\n lmvNumber?: string | undefined;\r\n internalPropertyNumber?: string | undefined;\r\n propertyOwner?: string | undefined;\r\n housingCooperative?: string | undefined;\r\n area?: number;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n consumption?: number;\r\n housing?: EAHousing;\r\n netAreaId?: string | undefined;\r\n meter?: Meter[] | undefined;\r\n invoiceConsumption?: InvoiceConsumptionModel[] | undefined;\r\n periodQuantitiesPlanned?: PeriodQuantityPlannedModel[] | undefined;\r\n meterInfo?: MeterInfoModel[] | undefined;\r\n propertyEvents?: PropertyEventModel[] | undefined;\r\n missingPeriods?: MissingPeriodModel[] | undefined;\r\n hasMissingQuantities?: boolean;\r\n lastCheckedForMissingQuantities?: moment.Moment;\r\n externalId?: string | undefined;\r\n status?: PropertyStatus;\r\n type?: PropertyType;\r\n connectedConsumingPropertyId?: string | undefined;\r\n id?: string;\r\n netArea?: NetArea;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdBy?: string;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n entityType?: string | undefined;\r\n deleted?: boolean;\r\n searchData?: string | undefined;\r\n entityData?: string | undefined;\r\n\r\n constructor(data?: IPropertyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ean = _data[\"ean\"];\r\n this.street = _data[\"street\"];\r\n this.publicStreet = _data[\"publicStreet\"];\r\n this.lmvNumber = _data[\"lmvNumber\"];\r\n this.internalPropertyNumber = _data[\"internalPropertyNumber\"];\r\n this.propertyOwner = _data[\"propertyOwner\"];\r\n this.housingCooperative = _data[\"housingCooperative\"];\r\n this.area = _data[\"area\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.consumption = _data[\"consumption\"];\r\n this.housing = _data[\"housing\"];\r\n this.netAreaId = _data[\"netAreaId\"];\r\n if (Array.isArray(_data[\"meter\"])) {\r\n this.meter = [] as any;\r\n for (let item of _data[\"meter\"])\r\n this.meter!.push(Meter.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invoiceConsumption\"])) {\r\n this.invoiceConsumption = [] as any;\r\n for (let item of _data[\"invoiceConsumption\"])\r\n this.invoiceConsumption!.push(InvoiceConsumptionModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"periodQuantitiesPlanned\"])) {\r\n this.periodQuantitiesPlanned = [] as any;\r\n for (let item of _data[\"periodQuantitiesPlanned\"])\r\n this.periodQuantitiesPlanned!.push(PeriodQuantityPlannedModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"meterInfo\"])) {\r\n this.meterInfo = [] as any;\r\n for (let item of _data[\"meterInfo\"])\r\n this.meterInfo!.push(MeterInfoModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"propertyEvents\"])) {\r\n this.propertyEvents = [] as any;\r\n for (let item of _data[\"propertyEvents\"])\r\n this.propertyEvents!.push(PropertyEventModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"missingPeriods\"])) {\r\n this.missingPeriods = [] as any;\r\n for (let item of _data[\"missingPeriods\"])\r\n this.missingPeriods!.push(MissingPeriodModel.fromJS(item));\r\n }\r\n this.hasMissingQuantities = _data[\"hasMissingQuantities\"];\r\n this.lastCheckedForMissingQuantities = _data[\"lastCheckedForMissingQuantities\"] ? moment(_data[\"lastCheckedForMissingQuantities\"].toString()) : undefined;\r\n this.externalId = _data[\"externalId\"];\r\n this.status = _data[\"status\"];\r\n this.type = _data[\"type\"];\r\n this.connectedConsumingPropertyId = _data[\"connectedConsumingPropertyId\"];\r\n this.id = _data[\"id\"];\r\n this.netArea = _data[\"netArea\"] ? NetArea.fromJS(_data[\"netArea\"]) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.entityType = _data[\"entityType\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.searchData = _data[\"searchData\"];\r\n this.entityData = _data[\"entityData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PropertyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PropertyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ean\"] = this.ean;\r\n data[\"street\"] = this.street;\r\n data[\"publicStreet\"] = this.publicStreet;\r\n data[\"lmvNumber\"] = this.lmvNumber;\r\n data[\"internalPropertyNumber\"] = this.internalPropertyNumber;\r\n data[\"propertyOwner\"] = this.propertyOwner;\r\n data[\"housingCooperative\"] = this.housingCooperative;\r\n data[\"area\"] = this.area;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"consumption\"] = this.consumption;\r\n data[\"housing\"] = this.housing;\r\n data[\"netAreaId\"] = this.netAreaId;\r\n if (Array.isArray(this.meter)) {\r\n data[\"meter\"] = [];\r\n for (let item of this.meter)\r\n data[\"meter\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invoiceConsumption)) {\r\n data[\"invoiceConsumption\"] = [];\r\n for (let item of this.invoiceConsumption)\r\n data[\"invoiceConsumption\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.periodQuantitiesPlanned)) {\r\n data[\"periodQuantitiesPlanned\"] = [];\r\n for (let item of this.periodQuantitiesPlanned)\r\n data[\"periodQuantitiesPlanned\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.meterInfo)) {\r\n data[\"meterInfo\"] = [];\r\n for (let item of this.meterInfo)\r\n data[\"meterInfo\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.propertyEvents)) {\r\n data[\"propertyEvents\"] = [];\r\n for (let item of this.propertyEvents)\r\n data[\"propertyEvents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.missingPeriods)) {\r\n data[\"missingPeriods\"] = [];\r\n for (let item of this.missingPeriods)\r\n data[\"missingPeriods\"].push(item.toJSON());\r\n }\r\n data[\"hasMissingQuantities\"] = this.hasMissingQuantities;\r\n data[\"lastCheckedForMissingQuantities\"] = this.lastCheckedForMissingQuantities ? this.lastCheckedForMissingQuantities.toISOString() : undefined;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"status\"] = this.status;\r\n data[\"type\"] = this.type;\r\n data[\"connectedConsumingPropertyId\"] = this.connectedConsumingPropertyId;\r\n data[\"id\"] = this.id;\r\n data[\"netArea\"] = this.netArea ? this.netArea.toJSON() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"entityType\"] = this.entityType;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"searchData\"] = this.searchData;\r\n data[\"entityData\"] = this.entityData;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPropertyModel {\r\n ean?: string | undefined;\r\n street?: string | undefined;\r\n publicStreet?: string | undefined;\r\n lmvNumber?: string | undefined;\r\n internalPropertyNumber?: string | undefined;\r\n propertyOwner?: string | undefined;\r\n housingCooperative?: string | undefined;\r\n area?: number;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n consumption?: number;\r\n housing?: EAHousing;\r\n netAreaId?: string | undefined;\r\n meter?: Meter[] | undefined;\r\n invoiceConsumption?: InvoiceConsumptionModel[] | undefined;\r\n periodQuantitiesPlanned?: PeriodQuantityPlannedModel[] | undefined;\r\n meterInfo?: MeterInfoModel[] | undefined;\r\n propertyEvents?: PropertyEventModel[] | undefined;\r\n missingPeriods?: MissingPeriodModel[] | undefined;\r\n hasMissingQuantities?: boolean;\r\n lastCheckedForMissingQuantities?: moment.Moment;\r\n externalId?: string | undefined;\r\n status?: PropertyStatus;\r\n type?: PropertyType;\r\n connectedConsumingPropertyId?: string | undefined;\r\n id?: string;\r\n netArea?: NetArea;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdBy?: string;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n entityType?: string | undefined;\r\n deleted?: boolean;\r\n searchData?: string | undefined;\r\n entityData?: string | undefined;\r\n}\r\n\r\nexport enum Elavtalsstatus {\r\n Ny = \"Ny\",\r\n KlarForFullmakt = \"KlarForFullmakt\",\r\n FullmaktPagar = \"FullmaktPagar\",\r\n KlarForLevbyte = \"KlarForLevbyte\",\r\n LevbytePagar = \"LevbytePagar\",\r\n LevbyteKlart = \"LevbyteKlart\",\r\n LeveransPagar = \"LeveransPagar\",\r\n Avbruten = \"Avbruten\",\r\n KompletteringPagar = \"KompletteringPagar\",\r\n KlarForKomplettering = \"KlarForKomplettering\",\r\n KlarForAvtalsService = \"KlarForAvtalsService\",\r\n AvtalsServicePagar = \"AvtalsServicePagar\",\r\n LeveransAvslutad = \"LeveransAvslutad\",\r\n KlarForLevFullmakt = \"KlarForLevFullmakt\",\r\n LevFullmaktPagar = \"LevFullmaktPagar\",\r\n FullmaktUppskjuten = \"FullmaktUppskjuten\",\r\n}\r\n\r\nexport enum TypedTagType {\r\n REASON_FOR_TERMINATION = \"REASON_FOR_TERMINATION\",\r\n}\r\n\r\nexport class TypedTagModel implements ITypedTagModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string | undefined;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n parentTagId?: string | undefined;\r\n parentTag?: TypedTagModel;\r\n type?: TypedTagType;\r\n\r\n constructor(data?: ITypedTagModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.parentTagId = _data[\"parentTagId\"];\r\n this.parentTag = _data[\"parentTag\"] ? TypedTagModel.fromJS(_data[\"parentTag\"]) : undefined;\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TypedTagModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TypedTagModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"parentTagId\"] = this.parentTagId;\r\n data[\"parentTag\"] = this.parentTag ? this.parentTag.toJSON() : undefined;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITypedTagModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string | undefined;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n parentTagId?: string | undefined;\r\n parentTag?: TypedTagModel;\r\n type?: TypedTagType;\r\n}\r\n\r\nexport class FileModel implements IFileModel {\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n fileName?: string | undefined;\r\n contentType?: string | undefined;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdBy?: string;\r\n companyId?: string;\r\n url?: string | undefined;\r\n\r\n constructor(data?: IFileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.fileName = _data[\"fileName\"];\r\n this.contentType = _data[\"contentType\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"contentType\"] = this.contentType;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileModel {\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n fileName?: string | undefined;\r\n contentType?: string | undefined;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdBy?: string;\r\n companyId?: string;\r\n url?: string | undefined;\r\n}\r\n\r\nexport class Supplier implements ISupplier {\r\n type?: NetActorType;\r\n id?: string;\r\n name?: string | undefined;\r\n edielId?: string | undefined;\r\n prodatCommunicationAddress?: string | undefined;\r\n prodatSubAddress?: string | undefined;\r\n prodatInterchangePartyId?: string | undefined;\r\n utiltsCommunicationAddress?: string | undefined;\r\n utiltsSubAddress?: string | undefined;\r\n utiltsInterchangePartyId?: string | undefined;\r\n warrantEmail?: string | undefined;\r\n warrantEmailManual?: string | undefined;\r\n phoneNumberCustomerSupport?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n digitalIdRequired?: boolean | undefined;\r\n\r\n constructor(data?: ISupplier) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.edielId = _data[\"edielId\"];\r\n this.prodatCommunicationAddress = _data[\"prodatCommunicationAddress\"];\r\n this.prodatSubAddress = _data[\"prodatSubAddress\"];\r\n this.prodatInterchangePartyId = _data[\"prodatInterchangePartyId\"];\r\n this.utiltsCommunicationAddress = _data[\"utiltsCommunicationAddress\"];\r\n this.utiltsSubAddress = _data[\"utiltsSubAddress\"];\r\n this.utiltsInterchangePartyId = _data[\"utiltsInterchangePartyId\"];\r\n this.warrantEmail = _data[\"warrantEmail\"];\r\n this.warrantEmailManual = _data[\"warrantEmailManual\"];\r\n this.phoneNumberCustomerSupport = _data[\"phoneNumberCustomerSupport\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.digitalIdRequired = _data[\"digitalIdRequired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Supplier {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Supplier();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"edielId\"] = this.edielId;\r\n data[\"prodatCommunicationAddress\"] = this.prodatCommunicationAddress;\r\n data[\"prodatSubAddress\"] = this.prodatSubAddress;\r\n data[\"prodatInterchangePartyId\"] = this.prodatInterchangePartyId;\r\n data[\"utiltsCommunicationAddress\"] = this.utiltsCommunicationAddress;\r\n data[\"utiltsSubAddress\"] = this.utiltsSubAddress;\r\n data[\"utiltsInterchangePartyId\"] = this.utiltsInterchangePartyId;\r\n data[\"warrantEmail\"] = this.warrantEmail;\r\n data[\"warrantEmailManual\"] = this.warrantEmailManual;\r\n data[\"phoneNumberCustomerSupport\"] = this.phoneNumberCustomerSupport;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"digitalIdRequired\"] = this.digitalIdRequired;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplier {\r\n type?: NetActorType;\r\n id?: string;\r\n name?: string | undefined;\r\n edielId?: string | undefined;\r\n prodatCommunicationAddress?: string | undefined;\r\n prodatSubAddress?: string | undefined;\r\n prodatInterchangePartyId?: string | undefined;\r\n utiltsCommunicationAddress?: string | undefined;\r\n utiltsSubAddress?: string | undefined;\r\n utiltsInterchangePartyId?: string | undefined;\r\n warrantEmail?: string | undefined;\r\n warrantEmailManual?: string | undefined;\r\n phoneNumberCustomerSupport?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n digitalIdRequired?: boolean | undefined;\r\n}\r\n\r\nexport class ElavtalBillogramExtensionsBanner implements IElavtalBillogramExtensionsBanner {\r\n id?: string;\r\n bannerId?: string | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n\r\n constructor(data?: IElavtalBillogramExtensionsBanner) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bannerId = _data[\"bannerId\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ElavtalBillogramExtensionsBanner {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ElavtalBillogramExtensionsBanner();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bannerId\"] = this.bannerId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IElavtalBillogramExtensionsBanner {\r\n id?: string;\r\n bannerId?: string | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n}\r\n\r\nexport class ElavtalBillogramExtensions implements IElavtalBillogramExtensions {\r\n id?: string;\r\n elavtalId?: string;\r\n banners?: ElavtalBillogramExtensionsBanner[] | undefined;\r\n\r\n constructor(data?: IElavtalBillogramExtensions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.elavtalId = _data[\"elavtalId\"];\r\n if (Array.isArray(_data[\"banners\"])) {\r\n this.banners = [] as any;\r\n for (let item of _data[\"banners\"])\r\n this.banners!.push(ElavtalBillogramExtensionsBanner.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ElavtalBillogramExtensions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ElavtalBillogramExtensions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n if (Array.isArray(this.banners)) {\r\n data[\"banners\"] = [];\r\n for (let item of this.banners)\r\n data[\"banners\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IElavtalBillogramExtensions {\r\n id?: string;\r\n elavtalId?: string;\r\n banners?: ElavtalBillogramExtensionsBanner[] | undefined;\r\n}\r\n\r\nexport class InvoiceDataItemModel implements IInvoiceDataItemModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n invoiceItem?: InvoiceItemModel;\r\n invoiceItemId?: string | undefined;\r\n\r\n constructor(data?: IInvoiceDataItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.invoiceDataId = _data[\"invoiceDataId\"];\r\n this.contractId = _data[\"contractId\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.price = _data[\"price\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.amount = _data[\"amount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n this.invoiceItem = _data[\"invoiceItem\"] ? InvoiceItemModel.fromJS(_data[\"invoiceItem\"]) : undefined;\r\n this.invoiceItemId = _data[\"invoiceItemId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceDataItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceDataItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"invoiceDataId\"] = this.invoiceDataId;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"price\"] = this.price;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"amount\"] = this.amount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n data[\"invoiceItem\"] = this.invoiceItem ? this.invoiceItem.toJSON() : undefined;\r\n data[\"invoiceItemId\"] = this.invoiceItemId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceDataItemModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n invoiceItem?: InvoiceItemModel;\r\n invoiceItemId?: string | undefined;\r\n}\r\n\r\nexport enum ArticleUnit {\r\n DAY = \"DAY\",\r\n MONTH = \"MONTH\",\r\n YEAR = \"YEAR\",\r\n KWH = \"KWH\",\r\n}\r\n\r\nexport class ArticleModel implements IArticleModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n price?: number;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n vat?: boolean;\r\n unit?: ArticleUnit;\r\n systemArticle?: boolean;\r\n excludeAccountingObjects?: boolean;\r\n\r\n constructor(data?: IArticleModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.price = _data[\"price\"];\r\n this.incomeAccount = _data[\"incomeAccount\"];\r\n this.vatAccount = _data[\"vatAccount\"];\r\n this.vat = _data[\"vat\"];\r\n this.unit = _data[\"unit\"];\r\n this.systemArticle = _data[\"systemArticle\"];\r\n this.excludeAccountingObjects = _data[\"excludeAccountingObjects\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArticleModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArticleModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"price\"] = this.price;\r\n data[\"incomeAccount\"] = this.incomeAccount;\r\n data[\"vatAccount\"] = this.vatAccount;\r\n data[\"vat\"] = this.vat;\r\n data[\"unit\"] = this.unit;\r\n data[\"systemArticle\"] = this.systemArticle;\r\n data[\"excludeAccountingObjects\"] = this.excludeAccountingObjects;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticleModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n price?: number;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n vat?: boolean;\r\n unit?: ArticleUnit;\r\n systemArticle?: boolean;\r\n excludeAccountingObjects?: boolean;\r\n}\r\n\r\nexport class InvoiceItemModel implements IInvoiceItemModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n vat?: boolean;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n isBilled?: boolean;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n invoiceDatas?: InvoiceDataItemModel[] | undefined;\r\n customerId?: string;\r\n customer?: CustomerModel;\r\n propertyId?: string | undefined;\r\n property?: PropertyModel;\r\n elavtalId?: string | undefined;\r\n elavtal?: Elavtal;\r\n articleId?: string | undefined;\r\n article?: ArticleModel;\r\n\r\n constructor(data?: IInvoiceItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.vat = _data[\"vat\"];\r\n this.price = _data[\"price\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.isBilled = _data[\"isBilled\"];\r\n this.incomeAccount = _data[\"incomeAccount\"];\r\n this.vatAccount = _data[\"vatAccount\"];\r\n if (Array.isArray(_data[\"invoiceDatas\"])) {\r\n this.invoiceDatas = [] as any;\r\n for (let item of _data[\"invoiceDatas\"])\r\n this.invoiceDatas!.push(InvoiceDataItemModel.fromJS(item));\r\n }\r\n this.customerId = _data[\"customerId\"];\r\n this.customer = _data[\"customer\"] ? CustomerModel.fromJS(_data[\"customer\"]) : undefined;\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n this.elavtalId = _data[\"elavtalId\"];\r\n this.elavtal = _data[\"elavtal\"] ? Elavtal.fromJS(_data[\"elavtal\"]) : undefined;\r\n this.articleId = _data[\"articleId\"];\r\n this.article = _data[\"article\"] ? ArticleModel.fromJS(_data[\"article\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"vat\"] = this.vat;\r\n data[\"price\"] = this.price;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"isBilled\"] = this.isBilled;\r\n data[\"incomeAccount\"] = this.incomeAccount;\r\n data[\"vatAccount\"] = this.vatAccount;\r\n if (Array.isArray(this.invoiceDatas)) {\r\n data[\"invoiceDatas\"] = [];\r\n for (let item of this.invoiceDatas)\r\n data[\"invoiceDatas\"].push(item.toJSON());\r\n }\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customer\"] = this.customer ? this.customer.toJSON() : undefined;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n data[\"elavtal\"] = this.elavtal ? this.elavtal.toJSON() : undefined;\r\n data[\"articleId\"] = this.articleId;\r\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceItemModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n vat?: boolean;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n isBilled?: boolean;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n invoiceDatas?: InvoiceDataItemModel[] | undefined;\r\n customerId?: string;\r\n customer?: CustomerModel;\r\n propertyId?: string | undefined;\r\n property?: PropertyModel;\r\n elavtalId?: string | undefined;\r\n elavtal?: Elavtal;\r\n articleId?: string | undefined;\r\n article?: ArticleModel;\r\n}\r\n\r\nexport class ContactTypeModel implements IContactTypeModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IContactTypeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContactTypeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContactTypeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContactTypeModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class DeliveryContactModel implements IDeliveryContactModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n deliveryId?: string;\r\n delivery?: Elavtal;\r\n customerId?: string;\r\n customer?: CustomerModel;\r\n contactTypeId?: string;\r\n contactType?: ContactTypeModel;\r\n\r\n constructor(data?: IDeliveryContactModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.deliveryId = _data[\"deliveryId\"];\r\n this.delivery = _data[\"delivery\"] ? Elavtal.fromJS(_data[\"delivery\"]) : undefined;\r\n this.customerId = _data[\"customerId\"];\r\n this.customer = _data[\"customer\"] ? CustomerModel.fromJS(_data[\"customer\"]) : undefined;\r\n this.contactTypeId = _data[\"contactTypeId\"];\r\n this.contactType = _data[\"contactType\"] ? ContactTypeModel.fromJS(_data[\"contactType\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliveryContactModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliveryContactModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"deliveryId\"] = this.deliveryId;\r\n data[\"delivery\"] = this.delivery ? this.delivery.toJSON() : undefined;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customer\"] = this.customer ? this.customer.toJSON() : undefined;\r\n data[\"contactTypeId\"] = this.contactTypeId;\r\n data[\"contactType\"] = this.contactType ? this.contactType.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliveryContactModel {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n deliveryId?: string;\r\n delivery?: Elavtal;\r\n customerId?: string;\r\n customer?: CustomerModel;\r\n contactTypeId?: string;\r\n contactType?: ContactTypeModel;\r\n}\r\n\r\nexport enum ChangeOfMeasuringMethodRequestStatus {\r\n NEW = \"NEW\",\r\n SENT = \"SENT\",\r\n RECEIVED = \"RECEIVED\",\r\n COMPLETED = \"COMPLETED\",\r\n CANCELED = \"CANCELED\",\r\n ERROR = \"ERROR\",\r\n}\r\n\r\nexport class ChangeMeasuringMethodRequest implements IChangeMeasuringMethodRequest {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n requestedMeasuringMethod?: MeasureMethod;\r\n requestStatus?: ChangeOfMeasuringMethodRequestStatus;\r\n direction?: Direction;\r\n requestedStartDate?: moment.Moment;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n\r\n constructor(data?: IChangeMeasuringMethodRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.requestedMeasuringMethod = _data[\"requestedMeasuringMethod\"];\r\n this.requestStatus = _data[\"requestStatus\"];\r\n this.direction = _data[\"direction\"];\r\n this.requestedStartDate = _data[\"requestedStartDate\"] ? moment(_data[\"requestedStartDate\"].toString()) : undefined;\r\n this.elavtalId = _data[\"elavtalId\"];\r\n this.elavtal = _data[\"elavtal\"] ? Elavtal.fromJS(_data[\"elavtal\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeMeasuringMethodRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeMeasuringMethodRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"requestedMeasuringMethod\"] = this.requestedMeasuringMethod;\r\n data[\"requestStatus\"] = this.requestStatus;\r\n data[\"direction\"] = this.direction;\r\n data[\"requestedStartDate\"] = this.requestedStartDate ? this.requestedStartDate.toISOString() : undefined;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n data[\"elavtal\"] = this.elavtal ? this.elavtal.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeMeasuringMethodRequest {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n requestedMeasuringMethod?: MeasureMethod;\r\n requestStatus?: ChangeOfMeasuringMethodRequestStatus;\r\n direction?: Direction;\r\n requestedStartDate?: moment.Moment;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n}\r\n\r\nexport class Elavtal implements IElavtal {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n customerId?: string;\r\n customer?: CustomerModel;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n currentFirstName?: string | undefined;\r\n currentLastName?: string | undefined;\r\n supplierChangeType?: SupplierChangeType;\r\n elavtalsstatus?: Elavtalsstatus;\r\n statusDescription?: string | undefined;\r\n signedFromIp?: string | undefined;\r\n orderId?: string;\r\n requiresHourlyMeasuring?: boolean;\r\n hasProductionContract?: boolean;\r\n completionId?: string | undefined;\r\n salesChannelId?: string;\r\n salesChannel?: SalesChannelModel;\r\n salesDate?: moment.Moment | undefined;\r\n salesPerson?: string | undefined;\r\n startDate?: moment.Moment | undefined;\r\n endDate?: moment.Moment | undefined;\r\n stoppedForBillingToDate?: moment.Moment | undefined;\r\n reasonForTerminationTagId?: string | undefined;\r\n reasonForTerminationTag?: TypedTagModel;\r\n warrantLink?: string | undefined;\r\n warrantFileId?: string | undefined;\r\n warrantFile?: FileModel;\r\n tags?: Tag[] | undefined;\r\n previousSupplierId?: string | undefined;\r\n previousSupplier?: Supplier;\r\n billogramExtensions?: ElavtalBillogramExtensions;\r\n contracts?: Contract[] | undefined;\r\n invoiceItems?: InvoiceItemModel[] | undefined;\r\n signatureId?: string | undefined;\r\n accountingObjects?: AccountingObjectModel[] | undefined;\r\n contacts?: DeliveryContactModel[] | undefined;\r\n changeMeasuringMethodRequests?: ChangeMeasuringMethodRequest[] | undefined;\r\n searchData?: string | undefined;\r\n entityData?: string | undefined;\r\n entityType?: string | undefined;\r\n regardingName?: string | undefined;\r\n\r\n constructor(data?: IElavtal) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? CompanyModel.fromJS(_data[\"company\"]) : undefined;\r\n this.customerId = _data[\"customerId\"];\r\n this.customer = _data[\"customer\"] ? CustomerModel.fromJS(_data[\"customer\"]) : undefined;\r\n this.propertyId = _data[\"propertyId\"];\r\n this.property = _data[\"property\"] ? PropertyModel.fromJS(_data[\"property\"]) : undefined;\r\n this.currentFirstName = _data[\"currentFirstName\"];\r\n this.currentLastName = _data[\"currentLastName\"];\r\n this.supplierChangeType = _data[\"supplierChangeType\"];\r\n this.elavtalsstatus = _data[\"elavtalsstatus\"];\r\n this.statusDescription = _data[\"statusDescription\"];\r\n this.signedFromIp = _data[\"signedFromIp\"];\r\n this.orderId = _data[\"orderId\"];\r\n this.requiresHourlyMeasuring = _data[\"requiresHourlyMeasuring\"];\r\n this.hasProductionContract = _data[\"hasProductionContract\"];\r\n this.completionId = _data[\"completionId\"];\r\n this.salesChannelId = _data[\"salesChannelId\"];\r\n this.salesChannel = _data[\"salesChannel\"] ? SalesChannelModel.fromJS(_data[\"salesChannel\"]) : undefined;\r\n this.salesDate = _data[\"salesDate\"] ? moment(_data[\"salesDate\"].toString()) : undefined;\r\n this.salesPerson = _data[\"salesPerson\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.stoppedForBillingToDate = _data[\"stoppedForBillingToDate\"] ? moment(_data[\"stoppedForBillingToDate\"].toString()) : undefined;\r\n this.reasonForTerminationTagId = _data[\"reasonForTerminationTagId\"];\r\n this.reasonForTerminationTag = _data[\"reasonForTerminationTag\"] ? TypedTagModel.fromJS(_data[\"reasonForTerminationTag\"]) : undefined;\r\n this.warrantLink = _data[\"warrantLink\"];\r\n this.warrantFileId = _data[\"warrantFileId\"];\r\n this.warrantFile = _data[\"warrantFile\"] ? FileModel.fromJS(_data[\"warrantFile\"]) : undefined;\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(Tag.fromJS(item));\r\n }\r\n this.previousSupplierId = _data[\"previousSupplierId\"];\r\n this.previousSupplier = _data[\"previousSupplier\"] ? Supplier.fromJS(_data[\"previousSupplier\"]) : undefined;\r\n this.billogramExtensions = _data[\"billogramExtensions\"] ? ElavtalBillogramExtensions.fromJS(_data[\"billogramExtensions\"]) : undefined;\r\n if (Array.isArray(_data[\"contracts\"])) {\r\n this.contracts = [] as any;\r\n for (let item of _data[\"contracts\"])\r\n this.contracts!.push(Contract.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invoiceItems\"])) {\r\n this.invoiceItems = [] as any;\r\n for (let item of _data[\"invoiceItems\"])\r\n this.invoiceItems!.push(InvoiceItemModel.fromJS(item));\r\n }\r\n this.signatureId = _data[\"signatureId\"];\r\n if (Array.isArray(_data[\"accountingObjects\"])) {\r\n this.accountingObjects = [] as any;\r\n for (let item of _data[\"accountingObjects\"])\r\n this.accountingObjects!.push(AccountingObjectModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contacts\"])) {\r\n this.contacts = [] as any;\r\n for (let item of _data[\"contacts\"])\r\n this.contacts!.push(DeliveryContactModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"changeMeasuringMethodRequests\"])) {\r\n this.changeMeasuringMethodRequests = [] as any;\r\n for (let item of _data[\"changeMeasuringMethodRequests\"])\r\n this.changeMeasuringMethodRequests!.push(ChangeMeasuringMethodRequest.fromJS(item));\r\n }\r\n this.searchData = _data[\"searchData\"];\r\n this.entityData = _data[\"entityData\"];\r\n this.entityType = _data[\"entityType\"];\r\n this.regardingName = _data[\"regardingName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Elavtal {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Elavtal();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customer\"] = this.customer ? this.customer.toJSON() : undefined;\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"property\"] = this.property ? this.property.toJSON() : undefined;\r\n data[\"currentFirstName\"] = this.currentFirstName;\r\n data[\"currentLastName\"] = this.currentLastName;\r\n data[\"supplierChangeType\"] = this.supplierChangeType;\r\n data[\"elavtalsstatus\"] = this.elavtalsstatus;\r\n data[\"statusDescription\"] = this.statusDescription;\r\n data[\"signedFromIp\"] = this.signedFromIp;\r\n data[\"orderId\"] = this.orderId;\r\n data[\"requiresHourlyMeasuring\"] = this.requiresHourlyMeasuring;\r\n data[\"hasProductionContract\"] = this.hasProductionContract;\r\n data[\"completionId\"] = this.completionId;\r\n data[\"salesChannelId\"] = this.salesChannelId;\r\n data[\"salesChannel\"] = this.salesChannel ? this.salesChannel.toJSON() : undefined;\r\n data[\"salesDate\"] = this.salesDate ? this.salesDate.toISOString() : undefined;\r\n data[\"salesPerson\"] = this.salesPerson;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"stoppedForBillingToDate\"] = this.stoppedForBillingToDate ? this.stoppedForBillingToDate.toISOString() : undefined;\r\n data[\"reasonForTerminationTagId\"] = this.reasonForTerminationTagId;\r\n data[\"reasonForTerminationTag\"] = this.reasonForTerminationTag ? this.reasonForTerminationTag.toJSON() : undefined;\r\n data[\"warrantLink\"] = this.warrantLink;\r\n data[\"warrantFileId\"] = this.warrantFileId;\r\n data[\"warrantFile\"] = this.warrantFile ? this.warrantFile.toJSON() : undefined;\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n data[\"previousSupplierId\"] = this.previousSupplierId;\r\n data[\"previousSupplier\"] = this.previousSupplier ? this.previousSupplier.toJSON() : undefined;\r\n data[\"billogramExtensions\"] = this.billogramExtensions ? this.billogramExtensions.toJSON() : undefined;\r\n if (Array.isArray(this.contracts)) {\r\n data[\"contracts\"] = [];\r\n for (let item of this.contracts)\r\n data[\"contracts\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invoiceItems)) {\r\n data[\"invoiceItems\"] = [];\r\n for (let item of this.invoiceItems)\r\n data[\"invoiceItems\"].push(item.toJSON());\r\n }\r\n data[\"signatureId\"] = this.signatureId;\r\n if (Array.isArray(this.accountingObjects)) {\r\n data[\"accountingObjects\"] = [];\r\n for (let item of this.accountingObjects)\r\n data[\"accountingObjects\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contacts)) {\r\n data[\"contacts\"] = [];\r\n for (let item of this.contacts)\r\n data[\"contacts\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.changeMeasuringMethodRequests)) {\r\n data[\"changeMeasuringMethodRequests\"] = [];\r\n for (let item of this.changeMeasuringMethodRequests)\r\n data[\"changeMeasuringMethodRequests\"].push(item.toJSON());\r\n }\r\n data[\"searchData\"] = this.searchData;\r\n data[\"entityData\"] = this.entityData;\r\n data[\"entityType\"] = this.entityType;\r\n data[\"regardingName\"] = this.regardingName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IElavtal {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n modifiedBy?: string;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n companyId?: string;\r\n company?: CompanyModel;\r\n customerId?: string;\r\n customer?: CustomerModel;\r\n propertyId?: string;\r\n property?: PropertyModel;\r\n currentFirstName?: string | undefined;\r\n currentLastName?: string | undefined;\r\n supplierChangeType?: SupplierChangeType;\r\n elavtalsstatus?: Elavtalsstatus;\r\n statusDescription?: string | undefined;\r\n signedFromIp?: string | undefined;\r\n orderId?: string;\r\n requiresHourlyMeasuring?: boolean;\r\n hasProductionContract?: boolean;\r\n completionId?: string | undefined;\r\n salesChannelId?: string;\r\n salesChannel?: SalesChannelModel;\r\n salesDate?: moment.Moment | undefined;\r\n salesPerson?: string | undefined;\r\n startDate?: moment.Moment | undefined;\r\n endDate?: moment.Moment | undefined;\r\n stoppedForBillingToDate?: moment.Moment | undefined;\r\n reasonForTerminationTagId?: string | undefined;\r\n reasonForTerminationTag?: TypedTagModel;\r\n warrantLink?: string | undefined;\r\n warrantFileId?: string | undefined;\r\n warrantFile?: FileModel;\r\n tags?: Tag[] | undefined;\r\n previousSupplierId?: string | undefined;\r\n previousSupplier?: Supplier;\r\n billogramExtensions?: ElavtalBillogramExtensions;\r\n contracts?: Contract[] | undefined;\r\n invoiceItems?: InvoiceItemModel[] | undefined;\r\n signatureId?: string | undefined;\r\n accountingObjects?: AccountingObjectModel[] | undefined;\r\n contacts?: DeliveryContactModel[] | undefined;\r\n changeMeasuringMethodRequests?: ChangeMeasuringMethodRequest[] | undefined;\r\n searchData?: string | undefined;\r\n entityData?: string | undefined;\r\n entityType?: string | undefined;\r\n regardingName?: string | undefined;\r\n}\r\n\r\nexport class InvoiceDataRow implements IInvoiceDataRow {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n\r\n constructor(data?: IInvoiceDataRow) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.invoiceDataId = _data[\"invoiceDataId\"];\r\n this.contractId = _data[\"contractId\"];\r\n this.contract = _data[\"contract\"] ? Contract.fromJS(_data[\"contract\"]) : undefined;\r\n this.price = _data[\"price\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.amount = _data[\"amount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceDataRow {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceDataRow();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"invoiceDataId\"] = this.invoiceDataId;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"contract\"] = this.contract ? this.contract.toJSON() : undefined;\r\n data[\"price\"] = this.price;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"amount\"] = this.amount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceDataRow {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n invoiceDataId?: string;\r\n contractId?: string | undefined;\r\n contract?: Contract;\r\n price?: number;\r\n quantity?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n amount?: number;\r\n vatAmount?: number;\r\n}\r\n\r\nexport class AccountingDimension implements IAccountingDimension {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n dimensionId?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IAccountingDimension) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.dimensionId = _data[\"dimensionId\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountingDimension {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountingDimension();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"dimensionId\"] = this.dimensionId;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountingDimension {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n dimensionId?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class AccountingObject implements IAccountingObject {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n objectId?: number;\r\n name?: string | undefined;\r\n dimension?: AccountingDimension;\r\n\r\n constructor(data?: IAccountingObject) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.objectId = _data[\"objectId\"];\r\n this.name = _data[\"name\"];\r\n this.dimension = _data[\"dimension\"] ? AccountingDimension.fromJS(_data[\"dimension\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountingObject {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountingObject();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"objectId\"] = this.objectId;\r\n data[\"name\"] = this.name;\r\n data[\"dimension\"] = this.dimension ? this.dimension.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountingObject {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n objectId?: number;\r\n name?: string | undefined;\r\n dimension?: AccountingDimension;\r\n}\r\n\r\nexport class InvoiceRow implements IInvoiceRow {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n heading?: string | undefined;\r\n description?: string | undefined;\r\n unit?: string | undefined;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n quantity?: number;\r\n price?: number;\r\n amount?: number;\r\n vatAmount?: number;\r\n accountingObjects?: AccountingObject[] | undefined;\r\n\r\n constructor(data?: IInvoiceRow) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.heading = _data[\"heading\"];\r\n this.description = _data[\"description\"];\r\n this.unit = _data[\"unit\"];\r\n this.incomeAccount = _data[\"incomeAccount\"];\r\n this.vatAccount = _data[\"vatAccount\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.price = _data[\"price\"];\r\n this.amount = _data[\"amount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n if (Array.isArray(_data[\"accountingObjects\"])) {\r\n this.accountingObjects = [] as any;\r\n for (let item of _data[\"accountingObjects\"])\r\n this.accountingObjects!.push(AccountingObject.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceRow {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceRow();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"heading\"] = this.heading;\r\n data[\"description\"] = this.description;\r\n data[\"unit\"] = this.unit;\r\n data[\"incomeAccount\"] = this.incomeAccount;\r\n data[\"vatAccount\"] = this.vatAccount;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"price\"] = this.price;\r\n data[\"amount\"] = this.amount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n if (Array.isArray(this.accountingObjects)) {\r\n data[\"accountingObjects\"] = [];\r\n for (let item of this.accountingObjects)\r\n data[\"accountingObjects\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceRow {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n heading?: string | undefined;\r\n description?: string | undefined;\r\n unit?: string | undefined;\r\n incomeAccount?: string | undefined;\r\n vatAccount?: string | undefined;\r\n quantity?: number;\r\n price?: number;\r\n amount?: number;\r\n vatAmount?: number;\r\n accountingObjects?: AccountingObject[] | undefined;\r\n}\r\n\r\nexport class Customer implements ICustomer {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n fullName?: string | undefined;\r\n customerType?: CustomerType;\r\n pid?: string | undefined;\r\n personalIdType?: PersonalIdType;\r\n birthDate?: moment.Moment | undefined;\r\n additionalPersonalId?: string | undefined;\r\n street?: string | undefined;\r\n coAddress?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n mobile?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n billogramCustomerId?: number | undefined;\r\n efaktura_Recipient_Identifier?: string | undefined;\r\n recurringPaymentType?: RecurringPaymentType;\r\n edi_electronic_id?: string | undefined;\r\n edi_operator?: string | undefined;\r\n edi_reference?: string | undefined;\r\n useInvoiceCollection?: boolean;\r\n invoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n\r\n constructor(data?: ICustomer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.customerType = _data[\"customerType\"];\r\n this.pid = _data[\"pid\"];\r\n this.personalIdType = _data[\"personalIdType\"];\r\n this.birthDate = _data[\"birthDate\"] ? moment(_data[\"birthDate\"].toString()) : undefined;\r\n this.additionalPersonalId = _data[\"additionalPersonalId\"];\r\n this.street = _data[\"street\"];\r\n this.coAddress = _data[\"coAddress\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n this.billogramCustomerId = _data[\"billogramCustomerId\"];\r\n this.efaktura_Recipient_Identifier = _data[\"efaktura_Recipient_Identifier\"];\r\n this.recurringPaymentType = _data[\"recurringPaymentType\"];\r\n this.edi_electronic_id = _data[\"edi_electronic_id\"];\r\n this.edi_operator = _data[\"edi_operator\"];\r\n this.edi_reference = _data[\"edi_reference\"];\r\n this.useInvoiceCollection = _data[\"useInvoiceCollection\"];\r\n this.invoiceDeliveryMethod = _data[\"invoiceDeliveryMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Customer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Customer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"customerType\"] = this.customerType;\r\n data[\"pid\"] = this.pid;\r\n data[\"personalIdType\"] = this.personalIdType;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"additionalPersonalId\"] = this.additionalPersonalId;\r\n data[\"street\"] = this.street;\r\n data[\"coAddress\"] = this.coAddress;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n data[\"billogramCustomerId\"] = this.billogramCustomerId;\r\n data[\"efaktura_Recipient_Identifier\"] = this.efaktura_Recipient_Identifier;\r\n data[\"recurringPaymentType\"] = this.recurringPaymentType;\r\n data[\"edi_electronic_id\"] = this.edi_electronic_id;\r\n data[\"edi_operator\"] = this.edi_operator;\r\n data[\"edi_reference\"] = this.edi_reference;\r\n data[\"useInvoiceCollection\"] = this.useInvoiceCollection;\r\n data[\"invoiceDeliveryMethod\"] = this.invoiceDeliveryMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomer {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n fullName?: string | undefined;\r\n customerType?: CustomerType;\r\n pid?: string | undefined;\r\n personalIdType?: PersonalIdType;\r\n birthDate?: moment.Moment | undefined;\r\n additionalPersonalId?: string | undefined;\r\n street?: string | undefined;\r\n coAddress?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n mobile?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n billogramCustomerId?: number | undefined;\r\n efaktura_Recipient_Identifier?: string | undefined;\r\n recurringPaymentType?: RecurringPaymentType;\r\n edi_electronic_id?: string | undefined;\r\n edi_operator?: string | undefined;\r\n edi_reference?: string | undefined;\r\n useInvoiceCollection?: boolean;\r\n invoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n}\r\n\r\nexport class Invoice implements IInvoice {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n paymentStatus?: PaymentStatus;\r\n paymentDescription?: string | undefined;\r\n url?: string | undefined;\r\n recipientUrl?: string | undefined;\r\n invoiceDatas?: InvoiceData[] | undefined;\r\n invoiceNumber?: string | undefined;\r\n bankGiro?: string | undefined;\r\n ocr?: string | undefined;\r\n amount?: number;\r\n rounding?: number;\r\n reminderFee?: number;\r\n interestFee?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n respiteDate?: moment.Moment | undefined;\r\n overdueNotificationSent?: boolean;\r\n rows?: InvoiceRow[] | undefined;\r\n status?: InvoiceStatus;\r\n customer?: Customer;\r\n invoicingId?: string;\r\n\r\n constructor(data?: IInvoice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.paymentStatus = _data[\"paymentStatus\"];\r\n this.paymentDescription = _data[\"paymentDescription\"];\r\n this.url = _data[\"url\"];\r\n this.recipientUrl = _data[\"recipientUrl\"];\r\n if (Array.isArray(_data[\"invoiceDatas\"])) {\r\n this.invoiceDatas = [] as any;\r\n for (let item of _data[\"invoiceDatas\"])\r\n this.invoiceDatas!.push(InvoiceData.fromJS(item));\r\n }\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.bankGiro = _data[\"bankGiro\"];\r\n this.ocr = _data[\"ocr\"];\r\n this.amount = _data[\"amount\"];\r\n this.rounding = _data[\"rounding\"];\r\n this.reminderFee = _data[\"reminderFee\"];\r\n this.interestFee = _data[\"interestFee\"];\r\n this.dateOfInvoice = _data[\"dateOfInvoice\"] ? moment(_data[\"dateOfInvoice\"].toString()) : undefined;\r\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : undefined;\r\n this.respiteDate = _data[\"respiteDate\"] ? moment(_data[\"respiteDate\"].toString()) : undefined;\r\n this.overdueNotificationSent = _data[\"overdueNotificationSent\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(InvoiceRow.fromJS(item));\r\n }\r\n this.status = _data[\"status\"];\r\n this.customer = _data[\"customer\"] ? Customer.fromJS(_data[\"customer\"]) : undefined;\r\n this.invoicingId = _data[\"invoicingId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Invoice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Invoice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"paymentStatus\"] = this.paymentStatus;\r\n data[\"paymentDescription\"] = this.paymentDescription;\r\n data[\"url\"] = this.url;\r\n data[\"recipientUrl\"] = this.recipientUrl;\r\n if (Array.isArray(this.invoiceDatas)) {\r\n data[\"invoiceDatas\"] = [];\r\n for (let item of this.invoiceDatas)\r\n data[\"invoiceDatas\"].push(item.toJSON());\r\n }\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"bankGiro\"] = this.bankGiro;\r\n data[\"ocr\"] = this.ocr;\r\n data[\"amount\"] = this.amount;\r\n data[\"rounding\"] = this.rounding;\r\n data[\"reminderFee\"] = this.reminderFee;\r\n data[\"interestFee\"] = this.interestFee;\r\n data[\"dateOfInvoice\"] = this.dateOfInvoice ? this.dateOfInvoice.toISOString() : undefined;\r\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : undefined;\r\n data[\"respiteDate\"] = this.respiteDate ? this.respiteDate.toISOString() : undefined;\r\n data[\"overdueNotificationSent\"] = this.overdueNotificationSent;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"customer\"] = this.customer ? this.customer.toJSON() : undefined;\r\n data[\"invoicingId\"] = this.invoicingId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoice {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n paymentStatus?: PaymentStatus;\r\n paymentDescription?: string | undefined;\r\n url?: string | undefined;\r\n recipientUrl?: string | undefined;\r\n invoiceDatas?: InvoiceData[] | undefined;\r\n invoiceNumber?: string | undefined;\r\n bankGiro?: string | undefined;\r\n ocr?: string | undefined;\r\n amount?: number;\r\n rounding?: number;\r\n reminderFee?: number;\r\n interestFee?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n respiteDate?: moment.Moment | undefined;\r\n overdueNotificationSent?: boolean;\r\n rows?: InvoiceRow[] | undefined;\r\n status?: InvoiceStatus;\r\n customer?: Customer;\r\n invoicingId?: string;\r\n}\r\n\r\nexport class InvoiceData implements IInvoiceData {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n invoiceDataStatus?: InvoiceDataStatus;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n rows?: InvoiceDataRow[] | undefined;\r\n invoiceDataCollectionId?: string | undefined;\r\n amountExkludingVat?: number;\r\n vatAmount?: number;\r\n amountIncludingVat?: number;\r\n consumption?: number;\r\n rounding?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n finalInvoice?: boolean;\r\n invoicingId?: string;\r\n invoiceCreated?: boolean;\r\n invoiceId?: string | undefined;\r\n invoice?: Invoice;\r\n\r\n constructor(data?: IInvoiceData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.invoiceDataStatus = _data[\"invoiceDataStatus\"];\r\n this.elavtalId = _data[\"elavtalId\"];\r\n this.elavtal = _data[\"elavtal\"] ? Elavtal.fromJS(_data[\"elavtal\"]) : undefined;\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(InvoiceDataRow.fromJS(item));\r\n }\r\n this.invoiceDataCollectionId = _data[\"invoiceDataCollectionId\"];\r\n this.amountExkludingVat = _data[\"amountExkludingVat\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n this.amountIncludingVat = _data[\"amountIncludingVat\"];\r\n this.consumption = _data[\"consumption\"];\r\n this.rounding = _data[\"rounding\"];\r\n this.dateOfInvoice = _data[\"dateOfInvoice\"] ? moment(_data[\"dateOfInvoice\"].toString()) : undefined;\r\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : undefined;\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.finalInvoice = _data[\"finalInvoice\"];\r\n this.invoicingId = _data[\"invoicingId\"];\r\n this.invoiceCreated = _data[\"invoiceCreated\"];\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.invoice = _data[\"invoice\"] ? Invoice.fromJS(_data[\"invoice\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"invoiceDataStatus\"] = this.invoiceDataStatus;\r\n data[\"elavtalId\"] = this.elavtalId;\r\n data[\"elavtal\"] = this.elavtal ? this.elavtal.toJSON() : undefined;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"invoiceDataCollectionId\"] = this.invoiceDataCollectionId;\r\n data[\"amountExkludingVat\"] = this.amountExkludingVat;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n data[\"amountIncludingVat\"] = this.amountIncludingVat;\r\n data[\"consumption\"] = this.consumption;\r\n data[\"rounding\"] = this.rounding;\r\n data[\"dateOfInvoice\"] = this.dateOfInvoice ? this.dateOfInvoice.toISOString() : undefined;\r\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : undefined;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"finalInvoice\"] = this.finalInvoice;\r\n data[\"invoicingId\"] = this.invoicingId;\r\n data[\"invoiceCreated\"] = this.invoiceCreated;\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"invoice\"] = this.invoice ? this.invoice.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceData {\r\n id?: string;\r\n modifiedOn?: moment.Moment;\r\n createdOn?: moment.Moment;\r\n deleted?: boolean;\r\n externalId?: string | undefined;\r\n invoiceDataStatus?: InvoiceDataStatus;\r\n elavtalId?: string;\r\n elavtal?: Elavtal;\r\n rows?: InvoiceDataRow[] | undefined;\r\n invoiceDataCollectionId?: string | undefined;\r\n amountExkludingVat?: number;\r\n vatAmount?: number;\r\n amountIncludingVat?: number;\r\n consumption?: number;\r\n rounding?: number;\r\n dateOfInvoice?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment;\r\n finalInvoice?: boolean;\r\n invoicingId?: string;\r\n invoiceCreated?: boolean;\r\n invoiceId?: string | undefined;\r\n invoice?: Invoice;\r\n}\r\n\r\nexport enum InvoicingStatus {\r\n INVOICE_DATA_PROCESSING = \"INVOICE_DATA_PROCESSING\",\r\n INVOICE_DATA_COMPLETE = \"INVOICE_DATA_COMPLETE\",\r\n INVOICE_DATA_INCOMPLETE = \"INVOICE_DATA_INCOMPLETE\",\r\n INVOICE_PROCESSING = \"INVOICE_PROCESSING\",\r\n INVOICE_COMPLETE = \"INVOICE_COMPLETE\",\r\n INVOICE_INCOMPLETE = \"INVOICE_INCOMPLETE\",\r\n INVOICE_SEND_PROCESSING = \"INVOICE_SEND_PROCESSING\",\r\n INVOICE_SEND_COMPLETE = \"INVOICE_SEND_COMPLETE\",\r\n INVOICE_SEND_INCOMPLETE = \"INVOICE_SEND_INCOMPLETE\",\r\n}\r\n\r\nexport class Invoicing implements IInvoicing {\r\n invoicingDate?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n comment?: string | undefined;\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n invoiceData?: InvoiceData[] | undefined;\r\n numberOfElavtal?: number;\r\n numberOfInvoiceDatas?: number;\r\n numberOfInvoiceDataErrors?: number;\r\n numberOfBilledInvoiceDatas?: number;\r\n numberOfInvoices?: number;\r\n numberOfInvoiceErrors?: number;\r\n numberOfSentInvoices?: number;\r\n numberOfInvoiceSendErrors?: number;\r\n totalAmount?: number;\r\n totalConsumption?: number;\r\n completedOn?: moment.Moment | undefined;\r\n status?: InvoicingStatus;\r\n\r\n constructor(data?: IInvoicing) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.invoicingDate = _data[\"invoicingDate\"] ? moment(_data[\"invoicingDate\"].toString()) : undefined;\r\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : undefined;\r\n this.comment = _data[\"comment\"];\r\n this.id = _data[\"id\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"invoiceData\"])) {\r\n this.invoiceData = [] as any;\r\n for (let item of _data[\"invoiceData\"])\r\n this.invoiceData!.push(InvoiceData.fromJS(item));\r\n }\r\n this.numberOfElavtal = _data[\"numberOfElavtal\"];\r\n this.numberOfInvoiceDatas = _data[\"numberOfInvoiceDatas\"];\r\n this.numberOfInvoiceDataErrors = _data[\"numberOfInvoiceDataErrors\"];\r\n this.numberOfBilledInvoiceDatas = _data[\"numberOfBilledInvoiceDatas\"];\r\n this.numberOfInvoices = _data[\"numberOfInvoices\"];\r\n this.numberOfInvoiceErrors = _data[\"numberOfInvoiceErrors\"];\r\n this.numberOfSentInvoices = _data[\"numberOfSentInvoices\"];\r\n this.numberOfInvoiceSendErrors = _data[\"numberOfInvoiceSendErrors\"];\r\n this.totalAmount = _data[\"totalAmount\"];\r\n this.totalConsumption = _data[\"totalConsumption\"];\r\n this.completedOn = _data[\"completedOn\"] ? moment(_data[\"completedOn\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Invoicing {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Invoicing();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invoicingDate\"] = this.invoicingDate ? this.invoicingDate.toISOString() : undefined;\r\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : undefined;\r\n data[\"comment\"] = this.comment;\r\n data[\"id\"] = this.id;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n if (Array.isArray(this.invoiceData)) {\r\n data[\"invoiceData\"] = [];\r\n for (let item of this.invoiceData)\r\n data[\"invoiceData\"].push(item.toJSON());\r\n }\r\n data[\"numberOfElavtal\"] = this.numberOfElavtal;\r\n data[\"numberOfInvoiceDatas\"] = this.numberOfInvoiceDatas;\r\n data[\"numberOfInvoiceDataErrors\"] = this.numberOfInvoiceDataErrors;\r\n data[\"numberOfBilledInvoiceDatas\"] = this.numberOfBilledInvoiceDatas;\r\n data[\"numberOfInvoices\"] = this.numberOfInvoices;\r\n data[\"numberOfInvoiceErrors\"] = this.numberOfInvoiceErrors;\r\n data[\"numberOfSentInvoices\"] = this.numberOfSentInvoices;\r\n data[\"numberOfInvoiceSendErrors\"] = this.numberOfInvoiceSendErrors;\r\n data[\"totalAmount\"] = this.totalAmount;\r\n data[\"totalConsumption\"] = this.totalConsumption;\r\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoicing {\r\n invoicingDate?: moment.Moment;\r\n dueDate?: moment.Moment | undefined;\r\n comment?: string | undefined;\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n invoiceData?: InvoiceData[] | undefined;\r\n numberOfElavtal?: number;\r\n numberOfInvoiceDatas?: number;\r\n numberOfInvoiceDataErrors?: number;\r\n numberOfBilledInvoiceDatas?: number;\r\n numberOfInvoices?: number;\r\n numberOfInvoiceErrors?: number;\r\n numberOfSentInvoices?: number;\r\n numberOfInvoiceSendErrors?: number;\r\n totalAmount?: number;\r\n totalConsumption?: number;\r\n completedOn?: moment.Moment | undefined;\r\n status?: InvoicingStatus;\r\n}\r\n\r\nexport class AvyInvoicing implements IAvyInvoicing {\r\n easyId?: string;\r\n easyInvoices?: number;\r\n sentInvoices?: number;\r\n failedInvoices?: number;\r\n\r\n constructor(data?: IAvyInvoicing) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.easyId = _data[\"easyId\"];\r\n this.easyInvoices = _data[\"easyInvoices\"];\r\n this.sentInvoices = _data[\"sentInvoices\"];\r\n this.failedInvoices = _data[\"failedInvoices\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AvyInvoicing {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AvyInvoicing();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"easyId\"] = this.easyId;\r\n data[\"easyInvoices\"] = this.easyInvoices;\r\n data[\"sentInvoices\"] = this.sentInvoices;\r\n data[\"failedInvoices\"] = this.failedInvoices;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAvyInvoicing {\r\n easyId?: string;\r\n easyInvoices?: number;\r\n sentInvoices?: number;\r\n failedInvoices?: number;\r\n}\r\n\r\nexport enum AvyInvoiceStatus {\r\n OK = \"OK\",\r\n FAILED = \"FAILED\",\r\n MISSING = \"MISSING\",\r\n SENDING = \"SENDING\",\r\n}\r\n\r\nexport class AvyInvoice implements IAvyInvoice {\r\n id?: string;\r\n easyInvoicingId?: string;\r\n avyId?: string | undefined;\r\n easyId?: string;\r\n easyUrl?: string | undefined;\r\n customerId?: string;\r\n customerName?: string | undefined;\r\n propertyStreet?: string | undefined;\r\n propertyNumber?: string | undefined;\r\n deliveryStatus?: Elavtalsstatus;\r\n deliveryStartDate?: moment.Moment | undefined;\r\n deliveryEndDate?: moment.Moment | undefined;\r\n invoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n amount?: number;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n status?: AvyInvoiceStatus;\r\n\r\n constructor(data?: IAvyInvoice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.easyInvoicingId = _data[\"easyInvoicingId\"];\r\n this.avyId = _data[\"avyId\"];\r\n this.easyId = _data[\"easyId\"];\r\n this.easyUrl = _data[\"easyUrl\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.propertyStreet = _data[\"propertyStreet\"];\r\n this.propertyNumber = _data[\"propertyNumber\"];\r\n this.deliveryStatus = _data[\"deliveryStatus\"];\r\n this.deliveryStartDate = _data[\"deliveryStartDate\"] ? moment(_data[\"deliveryStartDate\"].toString()) : undefined;\r\n this.deliveryEndDate = _data[\"deliveryEndDate\"] ? moment(_data[\"deliveryEndDate\"].toString()) : undefined;\r\n this.invoiceDeliveryMethod = _data[\"invoiceDeliveryMethod\"];\r\n this.amount = _data[\"amount\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AvyInvoice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AvyInvoice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"easyInvoicingId\"] = this.easyInvoicingId;\r\n data[\"avyId\"] = this.avyId;\r\n data[\"easyId\"] = this.easyId;\r\n data[\"easyUrl\"] = this.easyUrl;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"propertyStreet\"] = this.propertyStreet;\r\n data[\"propertyNumber\"] = this.propertyNumber;\r\n data[\"deliveryStatus\"] = this.deliveryStatus;\r\n data[\"deliveryStartDate\"] = this.deliveryStartDate ? this.deliveryStartDate.toISOString() : undefined;\r\n data[\"deliveryEndDate\"] = this.deliveryEndDate ? this.deliveryEndDate.toISOString() : undefined;\r\n data[\"invoiceDeliveryMethod\"] = this.invoiceDeliveryMethod;\r\n data[\"amount\"] = this.amount;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAvyInvoice {\r\n id?: string;\r\n easyInvoicingId?: string;\r\n avyId?: string | undefined;\r\n easyId?: string;\r\n easyUrl?: string | undefined;\r\n customerId?: string;\r\n customerName?: string | undefined;\r\n propertyStreet?: string | undefined;\r\n propertyNumber?: string | undefined;\r\n deliveryStatus?: Elavtalsstatus;\r\n deliveryStartDate?: moment.Moment | undefined;\r\n deliveryEndDate?: moment.Moment | undefined;\r\n invoiceDeliveryMethod?: InvoiceDeliveryMethod;\r\n amount?: number;\r\n createdOn?: moment.Moment;\r\n createdBy?: string;\r\n status?: AvyInvoiceStatus;\r\n}\r\n\r\nexport enum RealEstateOrderStatus {\r\n NEW = \"NEW\",\r\n PROCESSED = \"PROCESSED\",\r\n COMPLETED = \"COMPLETED\",\r\n NOT_INTERESTED = \"NOT_INTERESTED\",\r\n NOT_ASKED = \"NOT_ASKED\",\r\n}\r\n\r\nexport enum AddOn {\r\n Electricity = \"Electricity\",\r\n Insurance = \"Insurance\",\r\n Mortgage = \"Mortgage\",\r\n}\r\n\r\nexport enum RealEstateOrderContractMethod {\r\n MAIL = \"MAIL\",\r\n SYSTEM = \"SYSTEM\",\r\n UPLOAD = \"UPLOAD\",\r\n NOT_SET = \"NOT_SET\",\r\n}\r\n\r\nexport class MspecsOrder implements IMspecsOrder {\r\n dealId?: string | undefined;\r\n dealShortId?: string | undefined;\r\n reminderSent?: moment.Moment | undefined;\r\n missingFileNotificationSent?: moment.Moment | undefined;\r\n mspecsFileIds?: string[] | undefined;\r\n caseCreated?: boolean;\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n updatedOn?: moment.Moment;\r\n status?: RealEstateOrderStatus;\r\n addOns?: AddOn[] | undefined;\r\n contractMethod?: RealEstateOrderContractMethod;\r\n comment?: string | undefined;\r\n realEstateObjectId?: string | undefined;\r\n realEstateObject?: RealEstateObjectDbModel;\r\n easyFileIds?: string[] | undefined;\r\n easyCaseId?: string | undefined;\r\n rebelOrderId?: number | undefined;\r\n readonly auditEntityId?: string | undefined;\r\n\r\n constructor(data?: IMspecsOrder) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dealId = _data[\"dealId\"];\r\n this.dealShortId = _data[\"dealShortId\"];\r\n this.reminderSent = _data[\"reminderSent\"] ? moment(_data[\"reminderSent\"].toString()) : undefined;\r\n this.missingFileNotificationSent = _data[\"missingFileNotificationSent\"] ? moment(_data[\"missingFileNotificationSent\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"mspecsFileIds\"])) {\r\n this.mspecsFileIds = [] as any;\r\n for (let item of _data[\"mspecsFileIds\"])\r\n this.mspecsFileIds!.push(item);\r\n }\r\n this.caseCreated = _data[\"caseCreated\"];\r\n this.id = _data[\"id\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.updatedOn = _data[\"updatedOn\"] ? moment(_data[\"updatedOn\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n if (Array.isArray(_data[\"addOns\"])) {\r\n this.addOns = [] as any;\r\n for (let item of _data[\"addOns\"])\r\n this.addOns!.push(item);\r\n }\r\n this.contractMethod = _data[\"contractMethod\"];\r\n this.comment = _data[\"comment\"];\r\n this.realEstateObjectId = _data[\"realEstateObjectId\"];\r\n this.realEstateObject = _data[\"realEstateObject\"] ? RealEstateObjectDbModel.fromJS(_data[\"realEstateObject\"]) : undefined;\r\n if (Array.isArray(_data[\"easyFileIds\"])) {\r\n this.easyFileIds = [] as any;\r\n for (let item of _data[\"easyFileIds\"])\r\n this.easyFileIds!.push(item);\r\n }\r\n this.easyCaseId = _data[\"easyCaseId\"];\r\n this.rebelOrderId = _data[\"rebelOrderId\"];\r\n (this).auditEntityId = _data[\"auditEntityId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MspecsOrder {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MspecsOrder();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dealId\"] = this.dealId;\r\n data[\"dealShortId\"] = this.dealShortId;\r\n data[\"reminderSent\"] = this.reminderSent ? this.reminderSent.toISOString() : undefined;\r\n data[\"missingFileNotificationSent\"] = this.missingFileNotificationSent ? this.missingFileNotificationSent.toISOString() : undefined;\r\n if (Array.isArray(this.mspecsFileIds)) {\r\n data[\"mspecsFileIds\"] = [];\r\n for (let item of this.mspecsFileIds)\r\n data[\"mspecsFileIds\"].push(item);\r\n }\r\n data[\"caseCreated\"] = this.caseCreated;\r\n data[\"id\"] = this.id;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n if (Array.isArray(this.addOns)) {\r\n data[\"addOns\"] = [];\r\n for (let item of this.addOns)\r\n data[\"addOns\"].push(item);\r\n }\r\n data[\"contractMethod\"] = this.contractMethod;\r\n data[\"comment\"] = this.comment;\r\n data[\"realEstateObjectId\"] = this.realEstateObjectId;\r\n data[\"realEstateObject\"] = this.realEstateObject ? this.realEstateObject.toJSON() : undefined;\r\n if (Array.isArray(this.easyFileIds)) {\r\n data[\"easyFileIds\"] = [];\r\n for (let item of this.easyFileIds)\r\n data[\"easyFileIds\"].push(item);\r\n }\r\n data[\"easyCaseId\"] = this.easyCaseId;\r\n data[\"rebelOrderId\"] = this.rebelOrderId;\r\n data[\"auditEntityId\"] = this.auditEntityId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMspecsOrder {\r\n dealId?: string | undefined;\r\n dealShortId?: string | undefined;\r\n reminderSent?: moment.Moment | undefined;\r\n missingFileNotificationSent?: moment.Moment | undefined;\r\n mspecsFileIds?: string[] | undefined;\r\n caseCreated?: boolean;\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n updatedOn?: moment.Moment;\r\n status?: RealEstateOrderStatus;\r\n addOns?: AddOn[] | undefined;\r\n contractMethod?: RealEstateOrderContractMethod;\r\n comment?: string | undefined;\r\n realEstateObjectId?: string | undefined;\r\n realEstateObject?: RealEstateObjectDbModel;\r\n easyFileIds?: string[] | undefined;\r\n easyCaseId?: string | undefined;\r\n rebelOrderId?: number | undefined;\r\n auditEntityId?: string | undefined;\r\n}\r\n\r\nexport class MspecsFileCategory implements IMspecsFileCategory {\r\n constant?: string | undefined;\r\n translation?: string | undefined;\r\n\r\n constructor(data?: IMspecsFileCategory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.constant = _data[\"constant\"];\r\n this.translation = _data[\"translation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MspecsFileCategory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MspecsFileCategory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"constant\"] = this.constant;\r\n data[\"translation\"] = this.translation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMspecsFileCategory {\r\n constant?: string | undefined;\r\n translation?: string | undefined;\r\n}\r\n\r\nexport class MspecsFile implements IMspecsFile {\r\n id?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n createdDate?: moment.Moment;\r\n extension?: string | undefined;\r\n mimeType?: string | undefined;\r\n originalUrl?: string | undefined;\r\n category?: MspecsFileCategory;\r\n\r\n constructor(data?: IMspecsFile) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : undefined;\r\n this.extension = _data[\"extension\"];\r\n this.mimeType = _data[\"mimeType\"];\r\n this.originalUrl = _data[\"originalUrl\"];\r\n this.category = _data[\"category\"] ? MspecsFileCategory.fromJS(_data[\"category\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MspecsFile {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MspecsFile();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"extension\"] = this.extension;\r\n data[\"mimeType\"] = this.mimeType;\r\n data[\"originalUrl\"] = this.originalUrl;\r\n data[\"category\"] = this.category ? this.category.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMspecsFile {\r\n id?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n createdDate?: moment.Moment;\r\n extension?: string | undefined;\r\n mimeType?: string | undefined;\r\n originalUrl?: string | undefined;\r\n category?: MspecsFileCategory;\r\n}\r\n\r\nexport class MspecsCompleteOrderRequest implements IMspecsCompleteOrderRequest {\r\n fileIds?: string[] | undefined;\r\n\r\n constructor(data?: IMspecsCompleteOrderRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"fileIds\"])) {\r\n this.fileIds = [] as any;\r\n for (let item of _data[\"fileIds\"])\r\n this.fileIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): MspecsCompleteOrderRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MspecsCompleteOrderRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.fileIds)) {\r\n data[\"fileIds\"] = [];\r\n for (let item of this.fileIds)\r\n data[\"fileIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMspecsCompleteOrderRequest {\r\n fileIds?: string[] | undefined;\r\n}\r\n\r\nexport class BankIdInitResponse implements IBankIdInitResponse {\r\n autoStartToken?: string | undefined;\r\n orderRef?: string | undefined;\r\n qrCodeBase64Encoded?: string | undefined;\r\n state?: string | undefined;\r\n\r\n constructor(data?: IBankIdInitResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.autoStartToken = _data[\"autoStartToken\"];\r\n this.orderRef = _data[\"orderRef\"];\r\n this.qrCodeBase64Encoded = _data[\"qrCodeBase64Encoded\"];\r\n this.state = _data[\"state\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankIdInitResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankIdInitResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"autoStartToken\"] = this.autoStartToken;\r\n data[\"orderRef\"] = this.orderRef;\r\n data[\"qrCodeBase64Encoded\"] = this.qrCodeBase64Encoded;\r\n data[\"state\"] = this.state;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankIdInitResponse {\r\n autoStartToken?: string | undefined;\r\n orderRef?: string | undefined;\r\n qrCodeBase64Encoded?: string | undefined;\r\n state?: string | undefined;\r\n}\r\n\r\nexport enum CollectStatus {\r\n Unknown = \"Unknown\",\r\n Pending = \"Pending\",\r\n Failed = \"Failed\",\r\n Complete = \"Complete\",\r\n}\r\n\r\nexport class User implements IUser {\r\n pid?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n company?: string | undefined;\r\n customerId?: string | undefined;\r\n\r\n constructor(data?: IUser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pid = _data[\"pid\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.customerId = _data[\"customerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): User {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new User();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pid\"] = this.pid;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"customerId\"] = this.customerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUser {\r\n pid?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n company?: string | undefined;\r\n customerId?: string | undefined;\r\n}\r\n\r\nexport class StatusResponse implements IStatusResponse {\r\n status?: CollectStatus;\r\n qrCodeBase64Encoded?: string | undefined;\r\n message?: string | undefined;\r\n token?: string | undefined;\r\n user?: User;\r\n signatureId?: string;\r\n\r\n constructor(data?: IStatusResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.status = _data[\"status\"];\r\n this.qrCodeBase64Encoded = _data[\"qrCodeBase64Encoded\"];\r\n this.message = _data[\"message\"];\r\n this.token = _data[\"token\"];\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n this.signatureId = _data[\"signatureId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatusResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatusResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"status\"] = this.status;\r\n data[\"qrCodeBase64Encoded\"] = this.qrCodeBase64Encoded;\r\n data[\"message\"] = this.message;\r\n data[\"token\"] = this.token;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"signatureId\"] = this.signatureId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatusResponse {\r\n status?: CollectStatus;\r\n qrCodeBase64Encoded?: string | undefined;\r\n message?: string | undefined;\r\n token?: string | undefined;\r\n user?: User;\r\n signatureId?: string;\r\n}\r\n\r\nexport enum Status {\r\n NEW = \"NEW\",\r\n WARRENT = \"WARRENT\",\r\n WARRENT_MOVE = \"WARRENT_MOVE\",\r\n MOVE_REG = \"MOVE_REG\",\r\n SERVICE = \"SERVICE\",\r\n COMPLETION = \"COMPLETION\",\r\n ABORTED = \"ABORTED\",\r\n DONE = \"DONE\",\r\n}\r\n\r\nexport enum ContactChannel {\r\n MAIL = \"MAIL\",\r\n SMS = \"SMS\",\r\n PHONE = \"PHONE\",\r\n}\r\n\r\nexport enum ContactType {\r\n LEAD = \"LEAD\",\r\n REALESTATESELLER = \"REALESTATESELLER\",\r\n CUSTOMER = \"CUSTOMER\",\r\n}\r\n\r\nexport class Contact implements IContact {\r\n id?: string;\r\n pid?: string | undefined;\r\n mobile?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n email?: string | undefined;\r\n contactChannel?: ContactChannel;\r\n createdOn?: moment.Moment;\r\n customText?: string | undefined;\r\n contactType?: ContactType;\r\n\r\n constructor(data?: IContact) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.pid = _data[\"pid\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.email = _data[\"email\"];\r\n this.contactChannel = _data[\"contactChannel\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.customText = _data[\"customText\"];\r\n this.contactType = _data[\"contactType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Contact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Contact();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"pid\"] = this.pid;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"email\"] = this.email;\r\n data[\"contactChannel\"] = this.contactChannel;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"customText\"] = this.customText;\r\n data[\"contactType\"] = this.contactType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContact {\r\n id?: string;\r\n pid?: string | undefined;\r\n mobile?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n email?: string | undefined;\r\n contactChannel?: ContactChannel;\r\n createdOn?: moment.Moment;\r\n customText?: string | undefined;\r\n contactType?: ContactType;\r\n}\r\n\r\nexport enum RealEstateChannel {\r\n V = \"V\",\r\n Q = \"Q\",\r\n F = \"F\",\r\n}\r\n\r\nexport class Signature implements ISignature {\r\n id?: string;\r\n pid?: string | undefined;\r\n orderRef?: string | undefined;\r\n createdOn?: moment.Moment;\r\n completedOn?: moment.Moment | undefined;\r\n ocspResponse?: string | undefined;\r\n signatureData?: string | undefined;\r\n userVisibleData?: string | undefined;\r\n initiatedIP?: string | undefined;\r\n signedIP?: string | undefined;\r\n environmentType?: string | undefined;\r\n environmentDeviceInfo?: string | undefined;\r\n clientVersion?: string | undefined;\r\n\r\n constructor(data?: ISignature) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.pid = _data[\"pid\"];\r\n this.orderRef = _data[\"orderRef\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.completedOn = _data[\"completedOn\"] ? moment(_data[\"completedOn\"].toString()) : undefined;\r\n this.ocspResponse = _data[\"ocspResponse\"];\r\n this.signatureData = _data[\"signatureData\"];\r\n this.userVisibleData = _data[\"userVisibleData\"];\r\n this.initiatedIP = _data[\"initiatedIP\"];\r\n this.signedIP = _data[\"signedIP\"];\r\n this.environmentType = _data[\"environmentType\"];\r\n this.environmentDeviceInfo = _data[\"environmentDeviceInfo\"];\r\n this.clientVersion = _data[\"clientVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Signature {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Signature();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"pid\"] = this.pid;\r\n data[\"orderRef\"] = this.orderRef;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\r\n data[\"ocspResponse\"] = this.ocspResponse;\r\n data[\"signatureData\"] = this.signatureData;\r\n data[\"userVisibleData\"] = this.userVisibleData;\r\n data[\"initiatedIP\"] = this.initiatedIP;\r\n data[\"signedIP\"] = this.signedIP;\r\n data[\"environmentType\"] = this.environmentType;\r\n data[\"environmentDeviceInfo\"] = this.environmentDeviceInfo;\r\n data[\"clientVersion\"] = this.clientVersion;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISignature {\r\n id?: string;\r\n pid?: string | undefined;\r\n orderRef?: string | undefined;\r\n createdOn?: moment.Moment;\r\n completedOn?: moment.Moment | undefined;\r\n ocspResponse?: string | undefined;\r\n signatureData?: string | undefined;\r\n userVisibleData?: string | undefined;\r\n initiatedIP?: string | undefined;\r\n signedIP?: string | undefined;\r\n environmentType?: string | undefined;\r\n environmentDeviceInfo?: string | undefined;\r\n clientVersion?: string | undefined;\r\n}\r\n\r\nexport enum AddOnStatus {\r\n PENDING = \"PENDING\",\r\n ACCEPTED = \"ACCEPTED\",\r\n REJECTED = \"REJECTED\",\r\n}\r\n\r\nexport enum CompletionType {\r\n Confirmation = \"Confirmation\",\r\n UnknownCustomer = \"UnknownCustomer\",\r\n UnknownProperty = \"UnknownProperty\",\r\n}\r\n\r\nexport class Order implements IOrder {\r\n id?: number;\r\n pid?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n ean?: string | undefined;\r\n isCurrent?: boolean;\r\n currentFirstName?: string | undefined;\r\n currentLastName?: string | undefined;\r\n startDate?: moment.Moment;\r\n housing?: Housing;\r\n area?: number | undefined;\r\n consumption?: number | undefined;\r\n channel?: Channel;\r\n status?: Status;\r\n ip?: string | undefined;\r\n salesperson?: string | undefined;\r\n externalID?: string | undefined;\r\n parentID?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n createdInCrm?: boolean;\r\n elavtalsserviceId?: string | undefined;\r\n realEstateAgentId?: string | undefined;\r\n realEstateAgent?: RealEstateAgentModel;\r\n realEstateOfficeId?: string | undefined;\r\n realEstateOffice?: RealEstateOfficeModel;\r\n realEstateChainId?: string | undefined;\r\n realEstateChain?: RealEstateChainModel;\r\n contactId?: string | undefined;\r\n contact?: Contact;\r\n offerId?: string | undefined;\r\n club?: string | undefined;\r\n team?: string | undefined;\r\n salesData1?: string | undefined;\r\n salesData2?: string | undefined;\r\n salesData3?: string | undefined;\r\n salesData4?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n objectId?: string | undefined;\r\n objectChannel?: RealEstateChannel;\r\n objectCustomerId?: string | undefined;\r\n objectStatus?: string | undefined;\r\n objectStatusText?: string | undefined;\r\n lmvNumber?: string | undefined;\r\n internalPropertyNumber?: string | undefined;\r\n signatureId?: string | undefined;\r\n signature?: Signature;\r\n easyQuoteId?: string | undefined;\r\n hasElectricity?: boolean;\r\n hasInsurance?: boolean;\r\n insuranceStatus?: AddOnStatus;\r\n insuranceStatusDate?: moment.Moment | undefined;\r\n hasMortgage?: boolean;\r\n mortgageStatus?: AddOnStatus;\r\n mortgageStatusDate?: moment.Moment | undefined;\r\n createdBy?: string | undefined;\r\n completionType?: CompletionType;\r\n completionId?: string | undefined;\r\n completionContactTypeId?: string | undefined;\r\n completionContactFirstName?: string | undefined;\r\n completionContactLastName?: string | undefined;\r\n completionSalesChannelName?: string | undefined;\r\n insuranceReminderSent?: boolean;\r\n notes?: string | undefined;\r\n customerType?: CustomerType;\r\n readonly auditEntityId?: string | undefined;\r\n\r\n constructor(data?: IOrder) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.pid = _data[\"pid\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n this.street = _data[\"street\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.ean = _data[\"ean\"];\r\n this.isCurrent = _data[\"isCurrent\"];\r\n this.currentFirstName = _data[\"currentFirstName\"];\r\n this.currentLastName = _data[\"currentLastName\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.housing = _data[\"housing\"];\r\n this.area = _data[\"area\"];\r\n this.consumption = _data[\"consumption\"];\r\n this.channel = _data[\"channel\"];\r\n this.status = _data[\"status\"];\r\n this.ip = _data[\"ip\"];\r\n this.salesperson = _data[\"salesperson\"];\r\n this.externalID = _data[\"externalID\"];\r\n this.parentID = _data[\"parentID\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.createdInCrm = _data[\"createdInCrm\"];\r\n this.elavtalsserviceId = _data[\"elavtalsserviceId\"];\r\n this.realEstateAgentId = _data[\"realEstateAgentId\"];\r\n this.realEstateAgent = _data[\"realEstateAgent\"] ? RealEstateAgentModel.fromJS(_data[\"realEstateAgent\"]) : undefined;\r\n this.realEstateOfficeId = _data[\"realEstateOfficeId\"];\r\n this.realEstateOffice = _data[\"realEstateOffice\"] ? RealEstateOfficeModel.fromJS(_data[\"realEstateOffice\"]) : undefined;\r\n this.realEstateChainId = _data[\"realEstateChainId\"];\r\n this.realEstateChain = _data[\"realEstateChain\"] ? RealEstateChainModel.fromJS(_data[\"realEstateChain\"]) : undefined;\r\n this.contactId = _data[\"contactId\"];\r\n this.contact = _data[\"contact\"] ? Contact.fromJS(_data[\"contact\"]) : undefined;\r\n this.offerId = _data[\"offerId\"];\r\n this.club = _data[\"club\"];\r\n this.team = _data[\"team\"];\r\n this.salesData1 = _data[\"salesData1\"];\r\n this.salesData2 = _data[\"salesData2\"];\r\n this.salesData3 = _data[\"salesData3\"];\r\n this.salesData4 = _data[\"salesData4\"];\r\n this.salesDate = _data[\"salesDate\"] ? moment(_data[\"salesDate\"].toString()) : undefined;\r\n this.objectId = _data[\"objectId\"];\r\n this.objectChannel = _data[\"objectChannel\"];\r\n this.objectCustomerId = _data[\"objectCustomerId\"];\r\n this.objectStatus = _data[\"objectStatus\"];\r\n this.objectStatusText = _data[\"objectStatusText\"];\r\n this.lmvNumber = _data[\"lmvNumber\"];\r\n this.internalPropertyNumber = _data[\"internalPropertyNumber\"];\r\n this.signatureId = _data[\"signatureId\"];\r\n this.signature = _data[\"signature\"] ? Signature.fromJS(_data[\"signature\"]) : undefined;\r\n this.easyQuoteId = _data[\"easyQuoteId\"];\r\n this.hasElectricity = _data[\"hasElectricity\"];\r\n this.hasInsurance = _data[\"hasInsurance\"];\r\n this.insuranceStatus = _data[\"insuranceStatus\"];\r\n this.insuranceStatusDate = _data[\"insuranceStatusDate\"] ? moment(_data[\"insuranceStatusDate\"].toString()) : undefined;\r\n this.hasMortgage = _data[\"hasMortgage\"];\r\n this.mortgageStatus = _data[\"mortgageStatus\"];\r\n this.mortgageStatusDate = _data[\"mortgageStatusDate\"] ? moment(_data[\"mortgageStatusDate\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.completionType = _data[\"completionType\"];\r\n this.completionId = _data[\"completionId\"];\r\n this.completionContactTypeId = _data[\"completionContactTypeId\"];\r\n this.completionContactFirstName = _data[\"completionContactFirstName\"];\r\n this.completionContactLastName = _data[\"completionContactLastName\"];\r\n this.completionSalesChannelName = _data[\"completionSalesChannelName\"];\r\n this.insuranceReminderSent = _data[\"insuranceReminderSent\"];\r\n this.notes = _data[\"notes\"];\r\n this.customerType = _data[\"customerType\"];\r\n (this).auditEntityId = _data[\"auditEntityId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Order {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Order();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"pid\"] = this.pid;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n data[\"street\"] = this.street;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"ean\"] = this.ean;\r\n data[\"isCurrent\"] = this.isCurrent;\r\n data[\"currentFirstName\"] = this.currentFirstName;\r\n data[\"currentLastName\"] = this.currentLastName;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"housing\"] = this.housing;\r\n data[\"area\"] = this.area;\r\n data[\"consumption\"] = this.consumption;\r\n data[\"channel\"] = this.channel;\r\n data[\"status\"] = this.status;\r\n data[\"ip\"] = this.ip;\r\n data[\"salesperson\"] = this.salesperson;\r\n data[\"externalID\"] = this.externalID;\r\n data[\"parentID\"] = this.parentID;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"createdInCrm\"] = this.createdInCrm;\r\n data[\"elavtalsserviceId\"] = this.elavtalsserviceId;\r\n data[\"realEstateAgentId\"] = this.realEstateAgentId;\r\n data[\"realEstateAgent\"] = this.realEstateAgent ? this.realEstateAgent.toJSON() : undefined;\r\n data[\"realEstateOfficeId\"] = this.realEstateOfficeId;\r\n data[\"realEstateOffice\"] = this.realEstateOffice ? this.realEstateOffice.toJSON() : undefined;\r\n data[\"realEstateChainId\"] = this.realEstateChainId;\r\n data[\"realEstateChain\"] = this.realEstateChain ? this.realEstateChain.toJSON() : undefined;\r\n data[\"contactId\"] = this.contactId;\r\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\r\n data[\"offerId\"] = this.offerId;\r\n data[\"club\"] = this.club;\r\n data[\"team\"] = this.team;\r\n data[\"salesData1\"] = this.salesData1;\r\n data[\"salesData2\"] = this.salesData2;\r\n data[\"salesData3\"] = this.salesData3;\r\n data[\"salesData4\"] = this.salesData4;\r\n data[\"salesDate\"] = this.salesDate ? this.salesDate.toISOString() : undefined;\r\n data[\"objectId\"] = this.objectId;\r\n data[\"objectChannel\"] = this.objectChannel;\r\n data[\"objectCustomerId\"] = this.objectCustomerId;\r\n data[\"objectStatus\"] = this.objectStatus;\r\n data[\"objectStatusText\"] = this.objectStatusText;\r\n data[\"lmvNumber\"] = this.lmvNumber;\r\n data[\"internalPropertyNumber\"] = this.internalPropertyNumber;\r\n data[\"signatureId\"] = this.signatureId;\r\n data[\"signature\"] = this.signature ? this.signature.toJSON() : undefined;\r\n data[\"easyQuoteId\"] = this.easyQuoteId;\r\n data[\"hasElectricity\"] = this.hasElectricity;\r\n data[\"hasInsurance\"] = this.hasInsurance;\r\n data[\"insuranceStatus\"] = this.insuranceStatus;\r\n data[\"insuranceStatusDate\"] = this.insuranceStatusDate ? this.insuranceStatusDate.toISOString() : undefined;\r\n data[\"hasMortgage\"] = this.hasMortgage;\r\n data[\"mortgageStatus\"] = this.mortgageStatus;\r\n data[\"mortgageStatusDate\"] = this.mortgageStatusDate ? this.mortgageStatusDate.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"completionType\"] = this.completionType;\r\n data[\"completionId\"] = this.completionId;\r\n data[\"completionContactTypeId\"] = this.completionContactTypeId;\r\n data[\"completionContactFirstName\"] = this.completionContactFirstName;\r\n data[\"completionContactLastName\"] = this.completionContactLastName;\r\n data[\"completionSalesChannelName\"] = this.completionSalesChannelName;\r\n data[\"insuranceReminderSent\"] = this.insuranceReminderSent;\r\n data[\"notes\"] = this.notes;\r\n data[\"customerType\"] = this.customerType;\r\n data[\"auditEntityId\"] = this.auditEntityId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrder {\r\n id?: number;\r\n pid?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n phone?: string | undefined;\r\n email?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n ean?: string | undefined;\r\n isCurrent?: boolean;\r\n currentFirstName?: string | undefined;\r\n currentLastName?: string | undefined;\r\n startDate?: moment.Moment;\r\n housing?: Housing;\r\n area?: number | undefined;\r\n consumption?: number | undefined;\r\n channel?: Channel;\r\n status?: Status;\r\n ip?: string | undefined;\r\n salesperson?: string | undefined;\r\n externalID?: string | undefined;\r\n parentID?: string | undefined;\r\n createdOn?: moment.Moment;\r\n modifiedOn?: moment.Moment;\r\n createdInCrm?: boolean;\r\n elavtalsserviceId?: string | undefined;\r\n realEstateAgentId?: string | undefined;\r\n realEstateAgent?: RealEstateAgentModel;\r\n realEstateOfficeId?: string | undefined;\r\n realEstateOffice?: RealEstateOfficeModel;\r\n realEstateChainId?: string | undefined;\r\n realEstateChain?: RealEstateChainModel;\r\n contactId?: string | undefined;\r\n contact?: Contact;\r\n offerId?: string | undefined;\r\n club?: string | undefined;\r\n team?: string | undefined;\r\n salesData1?: string | undefined;\r\n salesData2?: string | undefined;\r\n salesData3?: string | undefined;\r\n salesData4?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n objectId?: string | undefined;\r\n objectChannel?: RealEstateChannel;\r\n objectCustomerId?: string | undefined;\r\n objectStatus?: string | undefined;\r\n objectStatusText?: string | undefined;\r\n lmvNumber?: string | undefined;\r\n internalPropertyNumber?: string | undefined;\r\n signatureId?: string | undefined;\r\n signature?: Signature;\r\n easyQuoteId?: string | undefined;\r\n hasElectricity?: boolean;\r\n hasInsurance?: boolean;\r\n insuranceStatus?: AddOnStatus;\r\n insuranceStatusDate?: moment.Moment | undefined;\r\n hasMortgage?: boolean;\r\n mortgageStatus?: AddOnStatus;\r\n mortgageStatusDate?: moment.Moment | undefined;\r\n createdBy?: string | undefined;\r\n completionType?: CompletionType;\r\n completionId?: string | undefined;\r\n completionContactTypeId?: string | undefined;\r\n completionContactFirstName?: string | undefined;\r\n completionContactLastName?: string | undefined;\r\n completionSalesChannelName?: string | undefined;\r\n insuranceReminderSent?: boolean;\r\n notes?: string | undefined;\r\n customerType?: CustomerType;\r\n auditEntityId?: string | undefined;\r\n}\r\n\r\nexport class SignInitiateRequest implements ISignInitiateRequest {\r\n order?: Order;\r\n\r\n constructor(data?: ISignInitiateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.order = _data[\"order\"] ? Order.fromJS(_data[\"order\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SignInitiateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SignInitiateRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"order\"] = this.order ? this.order.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISignInitiateRequest {\r\n order?: Order;\r\n}\r\n\r\nexport class TokenResponse implements ITokenResponse {\r\n sentTo?: string | undefined;\r\n completed?: boolean;\r\n\r\n constructor(data?: ITokenResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sentTo = _data[\"sentTo\"];\r\n this.completed = _data[\"completed\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TokenResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TokenResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sentTo\"] = this.sentTo;\r\n data[\"completed\"] = this.completed;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITokenResponse {\r\n sentTo?: string | undefined;\r\n completed?: boolean;\r\n}\r\n\r\nexport class AuthenticationResponse implements IAuthenticationResponse {\r\n token?: string | undefined;\r\n\r\n constructor(data?: IAuthenticationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.token = _data[\"token\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"token\"] = this.token;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuthenticationResponse {\r\n token?: string | undefined;\r\n}\r\n\r\nexport class BankIdUiApiInitializeRequest implements IBankIdUiApiInitializeRequest {\r\n returnUrl!: string | undefined;\r\n uiOptions!: string | undefined;\r\n\r\n constructor(data?: IBankIdUiApiInitializeRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.returnUrl = _data[\"returnUrl\"];\r\n this.uiOptions = _data[\"uiOptions\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankIdUiApiInitializeRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankIdUiApiInitializeRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"returnUrl\"] = this.returnUrl;\r\n data[\"uiOptions\"] = this.uiOptions;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankIdUiApiInitializeRequest {\r\n returnUrl: string | undefined;\r\n uiOptions: string | undefined;\r\n}\r\n\r\nexport class BankIdUiApiInitializeResponse implements IBankIdUiApiInitializeResponse {\r\n readonly isAutoLaunch?: boolean;\r\n readonly deviceMightRequireUserInteractionToLaunchBankIdApp?: boolean;\r\n readonly checkStatus?: boolean;\r\n readonly orderRef?: string | undefined;\r\n readonly redirectUri?: string | undefined;\r\n qrStartState?: string | undefined;\r\n qrCodeAsBase64?: string | undefined;\r\n\r\n constructor(data?: IBankIdUiApiInitializeResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).isAutoLaunch = _data[\"isAutoLaunch\"];\r\n (this).deviceMightRequireUserInteractionToLaunchBankIdApp = _data[\"deviceMightRequireUserInteractionToLaunchBankIdApp\"];\r\n (this).checkStatus = _data[\"checkStatus\"];\r\n (this).orderRef = _data[\"orderRef\"];\r\n (this).redirectUri = _data[\"redirectUri\"];\r\n this.qrStartState = _data[\"qrStartState\"];\r\n this.qrCodeAsBase64 = _data[\"qrCodeAsBase64\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankIdUiApiInitializeResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankIdUiApiInitializeResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAutoLaunch\"] = this.isAutoLaunch;\r\n data[\"deviceMightRequireUserInteractionToLaunchBankIdApp\"] = this.deviceMightRequireUserInteractionToLaunchBankIdApp;\r\n data[\"checkStatus\"] = this.checkStatus;\r\n data[\"orderRef\"] = this.orderRef;\r\n data[\"redirectUri\"] = this.redirectUri;\r\n data[\"qrStartState\"] = this.qrStartState;\r\n data[\"qrCodeAsBase64\"] = this.qrCodeAsBase64;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankIdUiApiInitializeResponse {\r\n isAutoLaunch?: boolean;\r\n deviceMightRequireUserInteractionToLaunchBankIdApp?: boolean;\r\n checkStatus?: boolean;\r\n orderRef?: string | undefined;\r\n redirectUri?: string | undefined;\r\n qrStartState?: string | undefined;\r\n qrCodeAsBase64?: string | undefined;\r\n}\r\n\r\nexport class BankIdUiApiStatusRequest implements IBankIdUiApiStatusRequest {\r\n orderRef!: string | undefined;\r\n returnUrl!: string | undefined;\r\n uiOptions!: string | undefined;\r\n autoStartAttempts?: number;\r\n\r\n constructor(data?: IBankIdUiApiStatusRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.orderRef = _data[\"orderRef\"];\r\n this.returnUrl = _data[\"returnUrl\"];\r\n this.uiOptions = _data[\"uiOptions\"];\r\n this.autoStartAttempts = _data[\"autoStartAttempts\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankIdUiApiStatusRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankIdUiApiStatusRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"orderRef\"] = this.orderRef;\r\n data[\"returnUrl\"] = this.returnUrl;\r\n data[\"uiOptions\"] = this.uiOptions;\r\n data[\"autoStartAttempts\"] = this.autoStartAttempts;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankIdUiApiStatusRequest {\r\n orderRef: string | undefined;\r\n returnUrl: string | undefined;\r\n uiOptions: string | undefined;\r\n autoStartAttempts?: number;\r\n}\r\n\r\nexport class BankIdUiApiQrCodeRequest implements IBankIdUiApiQrCodeRequest {\r\n qrStartState!: string | undefined;\r\n\r\n constructor(data?: IBankIdUiApiQrCodeRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.qrStartState = _data[\"qrStartState\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankIdUiApiQrCodeRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankIdUiApiQrCodeRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"qrStartState\"] = this.qrStartState;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankIdUiApiQrCodeRequest {\r\n qrStartState: string | undefined;\r\n}\r\n\r\nexport class BankIdUiApiCancelRequest implements IBankIdUiApiCancelRequest {\r\n uiOptions!: string | undefined;\r\n orderRef!: string | undefined;\r\n\r\n constructor(data?: IBankIdUiApiCancelRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.uiOptions = _data[\"uiOptions\"];\r\n this.orderRef = _data[\"orderRef\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankIdUiApiCancelRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankIdUiApiCancelRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"uiOptions\"] = this.uiOptions;\r\n data[\"orderRef\"] = this.orderRef;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankIdUiApiCancelRequest {\r\n uiOptions: string | undefined;\r\n orderRef: string | undefined;\r\n}\r\n\r\nexport class EasyLead implements IEasyLead {\r\n id?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n notes?: string | undefined;\r\n ip?: string | undefined;\r\n\r\n constructor(data?: IEasyLead) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.notes = _data[\"notes\"];\r\n this.ip = _data[\"ip\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EasyLead {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EasyLead();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"notes\"] = this.notes;\r\n data[\"ip\"] = this.ip;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEasyLead {\r\n id?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n notes?: string | undefined;\r\n ip?: string | undefined;\r\n}\r\n\r\nexport class EasyPriceResponse implements IEasyPriceResponse {\r\n name?: string | undefined;\r\n fixedPrice?: number;\r\n pricePerDelivery?: number;\r\n monthlyCostPerDelivery?: number;\r\n\r\n constructor(data?: IEasyPriceResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.fixedPrice = _data[\"fixedPrice\"];\r\n this.pricePerDelivery = _data[\"pricePerDelivery\"];\r\n this.monthlyCostPerDelivery = _data[\"monthlyCostPerDelivery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EasyPriceResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EasyPriceResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"fixedPrice\"] = this.fixedPrice;\r\n data[\"pricePerDelivery\"] = this.pricePerDelivery;\r\n data[\"monthlyCostPerDelivery\"] = this.monthlyCostPerDelivery;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEasyPriceResponse {\r\n name?: string | undefined;\r\n fixedPrice?: number;\r\n pricePerDelivery?: number;\r\n monthlyCostPerDelivery?: number;\r\n}\r\n\r\nexport class VehicleModel implements IVehicleModel {\r\n id?: string | undefined;\r\n userId?: string | undefined;\r\n vendor?: string | undefined;\r\n lastSeen?: moment.Moment;\r\n isReachable?: boolean;\r\n vin?: string | undefined;\r\n brand?: string | undefined;\r\n model?: string | undefined;\r\n year?: number;\r\n batteryLevel?: number;\r\n range?: number;\r\n isPluggedIn?: boolean;\r\n isCharging?: boolean;\r\n isFullyCharged?: boolean;\r\n batteryCapacity?: number;\r\n chargeLimit?: number;\r\n chargeRate?: number;\r\n chargeRemainingTime?: number;\r\n chargeStateLastUpdated?: moment.Moment;\r\n maxCurrent?: number;\r\n powerDeliveryState?: string | undefined;\r\n smartChargingEnabled?: boolean;\r\n smartChargingDeadline?: string | undefined;\r\n smartChargingUpdatedAt?: moment.Moment | undefined;\r\n smartChargingVendor?: string | undefined;\r\n smartChargingState?: string | undefined;\r\n smartChargingStateChanged?: moment.Moment | undefined;\r\n smartChargingConsiderationIsPluggedIn?: boolean | undefined;\r\n smartChargingConsiderationIsCharging?: boolean | undefined;\r\n smartChargingConsiderationAtChargingLocation?: boolean | undefined;\r\n smartChargingConsiderationHasTimeEstimate?: boolean | undefined;\r\n smartChargingPlanCurrency?: string | undefined;\r\n smartChargingPlanNonSmartCost?: number | undefined;\r\n smartChargingPlanSmartCost?: number | undefined;\r\n smartChargingPlanStopAt?: moment.Moment | undefined;\r\n smartChargingPlanStartAt?: moment.Moment | undefined;\r\n smartChargingPlanEstimatedFinishAt?: moment.Moment | undefined;\r\n smartChargingPlanStopConfirmedAt?: moment.Moment | undefined;\r\n smartChargingPlanStartConfirmedAt?: moment.Moment | undefined;\r\n smartChargingPlanEndedAt?: moment.Moment | undefined;\r\n smartChargingPlanFinalState?: string | undefined;\r\n smartChargingPlanFailureCondition?: string | undefined;\r\n smartChargingPlanExternalStartCreatedAt?: moment.Moment | undefined;\r\n smartChargingPlanExternalStartEndedAt?: moment.Moment | undefined;\r\n smartChargingPlanExternalStartTargetType?: string | undefined;\r\n smartChargingPlanExternalStartTargetId?: string | undefined;\r\n smartChargingPlanExternalStartVendorActionId?: string | undefined;\r\n smartChargingPlanChargingLocationId?: string | undefined;\r\n smartChargingSmartOverrideCreatedAt?: moment.Moment | undefined;\r\n smartChargingSmartOverrideEndedAt?: moment.Moment | undefined;\r\n smartChargingSmartOverrideTargetType?: string | undefined;\r\n smartChargingSmartOverrideTargetId?: string | undefined;\r\n smartChargingSmartOverrideVendorActionId?: string | undefined;\r\n minimumChargeLimit?: number;\r\n longitude?: number;\r\n latitude?: number;\r\n locationLastUpdated?: moment.Moment;\r\n odometerDistance?: number;\r\n odometerLastUpdated?: moment.Moment;\r\n informationCapable?: boolean;\r\n informationInterventionIds?: string[] | undefined;\r\n chargeStateCapable?: boolean;\r\n chargeStateInterventionIds?: string[] | undefined;\r\n locationCapable?: boolean;\r\n locationInterventionIds?: string[] | undefined;\r\n odometerCapable?: boolean;\r\n odometerInterventionIds?: string[] | undefined;\r\n setMaxCurrentCapable?: boolean;\r\n setMaxCurrentInterventionIds?: string[] | undefined;\r\n startChargingCapable?: boolean;\r\n startChargingInterventionIds?: string[] | undefined;\r\n stopChargingCapable?: boolean;\r\n stopChargingInterventionIds?: string[] | undefined;\r\n smartChargingCapable?: boolean;\r\n smartChargingInterventionIds?: string[] | undefined;\r\n scopes?: string | undefined;\r\n locationId?: string | undefined;\r\n createdOn?: moment.Moment;\r\n updatedOn?: moment.Moment;\r\n deleted?: boolean;\r\n reliability?: string | undefined;\r\n credentialsInvalidated?: boolean;\r\n\r\n constructor(data?: IVehicleModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.vendor = _data[\"vendor\"];\r\n this.lastSeen = _data[\"lastSeen\"] ? moment(_data[\"lastSeen\"].toString()) : undefined;\r\n this.isReachable = _data[\"isReachable\"];\r\n this.vin = _data[\"vin\"];\r\n this.brand = _data[\"brand\"];\r\n this.model = _data[\"model\"];\r\n this.year = _data[\"year\"];\r\n this.batteryLevel = _data[\"batteryLevel\"];\r\n this.range = _data[\"range\"];\r\n this.isPluggedIn = _data[\"isPluggedIn\"];\r\n this.isCharging = _data[\"isCharging\"];\r\n this.isFullyCharged = _data[\"isFullyCharged\"];\r\n this.batteryCapacity = _data[\"batteryCapacity\"];\r\n this.chargeLimit = _data[\"chargeLimit\"];\r\n this.chargeRate = _data[\"chargeRate\"];\r\n this.chargeRemainingTime = _data[\"chargeRemainingTime\"];\r\n this.chargeStateLastUpdated = _data[\"chargeStateLastUpdated\"] ? moment(_data[\"chargeStateLastUpdated\"].toString()) : undefined;\r\n this.maxCurrent = _data[\"maxCurrent\"];\r\n this.powerDeliveryState = _data[\"powerDeliveryState\"];\r\n this.smartChargingEnabled = _data[\"smartChargingEnabled\"];\r\n this.smartChargingDeadline = _data[\"smartChargingDeadline\"];\r\n this.smartChargingUpdatedAt = _data[\"smartChargingUpdatedAt\"] ? moment(_data[\"smartChargingUpdatedAt\"].toString()) : undefined;\r\n this.smartChargingVendor = _data[\"smartChargingVendor\"];\r\n this.smartChargingState = _data[\"smartChargingState\"];\r\n this.smartChargingStateChanged = _data[\"smartChargingStateChanged\"] ? moment(_data[\"smartChargingStateChanged\"].toString()) : undefined;\r\n this.smartChargingConsiderationIsPluggedIn = _data[\"smartChargingConsiderationIsPluggedIn\"];\r\n this.smartChargingConsiderationIsCharging = _data[\"smartChargingConsiderationIsCharging\"];\r\n this.smartChargingConsiderationAtChargingLocation = _data[\"smartChargingConsiderationAtChargingLocation\"];\r\n this.smartChargingConsiderationHasTimeEstimate = _data[\"smartChargingConsiderationHasTimeEstimate\"];\r\n this.smartChargingPlanCurrency = _data[\"smartChargingPlanCurrency\"];\r\n this.smartChargingPlanNonSmartCost = _data[\"smartChargingPlanNonSmartCost\"];\r\n this.smartChargingPlanSmartCost = _data[\"smartChargingPlanSmartCost\"];\r\n this.smartChargingPlanStopAt = _data[\"smartChargingPlanStopAt\"] ? moment(_data[\"smartChargingPlanStopAt\"].toString()) : undefined;\r\n this.smartChargingPlanStartAt = _data[\"smartChargingPlanStartAt\"] ? moment(_data[\"smartChargingPlanStartAt\"].toString()) : undefined;\r\n this.smartChargingPlanEstimatedFinishAt = _data[\"smartChargingPlanEstimatedFinishAt\"] ? moment(_data[\"smartChargingPlanEstimatedFinishAt\"].toString()) : undefined;\r\n this.smartChargingPlanStopConfirmedAt = _data[\"smartChargingPlanStopConfirmedAt\"] ? moment(_data[\"smartChargingPlanStopConfirmedAt\"].toString()) : undefined;\r\n this.smartChargingPlanStartConfirmedAt = _data[\"smartChargingPlanStartConfirmedAt\"] ? moment(_data[\"smartChargingPlanStartConfirmedAt\"].toString()) : undefined;\r\n this.smartChargingPlanEndedAt = _data[\"smartChargingPlanEndedAt\"] ? moment(_data[\"smartChargingPlanEndedAt\"].toString()) : undefined;\r\n this.smartChargingPlanFinalState = _data[\"smartChargingPlanFinalState\"];\r\n this.smartChargingPlanFailureCondition = _data[\"smartChargingPlanFailureCondition\"];\r\n this.smartChargingPlanExternalStartCreatedAt = _data[\"smartChargingPlanExternalStartCreatedAt\"] ? moment(_data[\"smartChargingPlanExternalStartCreatedAt\"].toString()) : undefined;\r\n this.smartChargingPlanExternalStartEndedAt = _data[\"smartChargingPlanExternalStartEndedAt\"] ? moment(_data[\"smartChargingPlanExternalStartEndedAt\"].toString()) : undefined;\r\n this.smartChargingPlanExternalStartTargetType = _data[\"smartChargingPlanExternalStartTargetType\"];\r\n this.smartChargingPlanExternalStartTargetId = _data[\"smartChargingPlanExternalStartTargetId\"];\r\n this.smartChargingPlanExternalStartVendorActionId = _data[\"smartChargingPlanExternalStartVendorActionId\"];\r\n this.smartChargingPlanChargingLocationId = _data[\"smartChargingPlanChargingLocationId\"];\r\n this.smartChargingSmartOverrideCreatedAt = _data[\"smartChargingSmartOverrideCreatedAt\"] ? moment(_data[\"smartChargingSmartOverrideCreatedAt\"].toString()) : undefined;\r\n this.smartChargingSmartOverrideEndedAt = _data[\"smartChargingSmartOverrideEndedAt\"] ? moment(_data[\"smartChargingSmartOverrideEndedAt\"].toString()) : undefined;\r\n this.smartChargingSmartOverrideTargetType = _data[\"smartChargingSmartOverrideTargetType\"];\r\n this.smartChargingSmartOverrideTargetId = _data[\"smartChargingSmartOverrideTargetId\"];\r\n this.smartChargingSmartOverrideVendorActionId = _data[\"smartChargingSmartOverrideVendorActionId\"];\r\n this.minimumChargeLimit = _data[\"minimumChargeLimit\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.locationLastUpdated = _data[\"locationLastUpdated\"] ? moment(_data[\"locationLastUpdated\"].toString()) : undefined;\r\n this.odometerDistance = _data[\"odometerDistance\"];\r\n this.odometerLastUpdated = _data[\"odometerLastUpdated\"] ? moment(_data[\"odometerLastUpdated\"].toString()) : undefined;\r\n this.informationCapable = _data[\"informationCapable\"];\r\n if (Array.isArray(_data[\"informationInterventionIds\"])) {\r\n this.informationInterventionIds = [] as any;\r\n for (let item of _data[\"informationInterventionIds\"])\r\n this.informationInterventionIds!.push(item);\r\n }\r\n this.chargeStateCapable = _data[\"chargeStateCapable\"];\r\n if (Array.isArray(_data[\"chargeStateInterventionIds\"])) {\r\n this.chargeStateInterventionIds = [] as any;\r\n for (let item of _data[\"chargeStateInterventionIds\"])\r\n this.chargeStateInterventionIds!.push(item);\r\n }\r\n this.locationCapable = _data[\"locationCapable\"];\r\n if (Array.isArray(_data[\"locationInterventionIds\"])) {\r\n this.locationInterventionIds = [] as any;\r\n for (let item of _data[\"locationInterventionIds\"])\r\n this.locationInterventionIds!.push(item);\r\n }\r\n this.odometerCapable = _data[\"odometerCapable\"];\r\n if (Array.isArray(_data[\"odometerInterventionIds\"])) {\r\n this.odometerInterventionIds = [] as any;\r\n for (let item of _data[\"odometerInterventionIds\"])\r\n this.odometerInterventionIds!.push(item);\r\n }\r\n this.setMaxCurrentCapable = _data[\"setMaxCurrentCapable\"];\r\n if (Array.isArray(_data[\"setMaxCurrentInterventionIds\"])) {\r\n this.setMaxCurrentInterventionIds = [] as any;\r\n for (let item of _data[\"setMaxCurrentInterventionIds\"])\r\n this.setMaxCurrentInterventionIds!.push(item);\r\n }\r\n this.startChargingCapable = _data[\"startChargingCapable\"];\r\n if (Array.isArray(_data[\"startChargingInterventionIds\"])) {\r\n this.startChargingInterventionIds = [] as any;\r\n for (let item of _data[\"startChargingInterventionIds\"])\r\n this.startChargingInterventionIds!.push(item);\r\n }\r\n this.stopChargingCapable = _data[\"stopChargingCapable\"];\r\n if (Array.isArray(_data[\"stopChargingInterventionIds\"])) {\r\n this.stopChargingInterventionIds = [] as any;\r\n for (let item of _data[\"stopChargingInterventionIds\"])\r\n this.stopChargingInterventionIds!.push(item);\r\n }\r\n this.smartChargingCapable = _data[\"smartChargingCapable\"];\r\n if (Array.isArray(_data[\"smartChargingInterventionIds\"])) {\r\n this.smartChargingInterventionIds = [] as any;\r\n for (let item of _data[\"smartChargingInterventionIds\"])\r\n this.smartChargingInterventionIds!.push(item);\r\n }\r\n this.scopes = _data[\"scopes\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.updatedOn = _data[\"updatedOn\"] ? moment(_data[\"updatedOn\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.reliability = _data[\"reliability\"];\r\n this.credentialsInvalidated = _data[\"credentialsInvalidated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VehicleModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VehicleModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"vendor\"] = this.vendor;\r\n data[\"lastSeen\"] = this.lastSeen ? this.lastSeen.toISOString() : undefined;\r\n data[\"isReachable\"] = this.isReachable;\r\n data[\"vin\"] = this.vin;\r\n data[\"brand\"] = this.brand;\r\n data[\"model\"] = this.model;\r\n data[\"year\"] = this.year;\r\n data[\"batteryLevel\"] = this.batteryLevel;\r\n data[\"range\"] = this.range;\r\n data[\"isPluggedIn\"] = this.isPluggedIn;\r\n data[\"isCharging\"] = this.isCharging;\r\n data[\"isFullyCharged\"] = this.isFullyCharged;\r\n data[\"batteryCapacity\"] = this.batteryCapacity;\r\n data[\"chargeLimit\"] = this.chargeLimit;\r\n data[\"chargeRate\"] = this.chargeRate;\r\n data[\"chargeRemainingTime\"] = this.chargeRemainingTime;\r\n data[\"chargeStateLastUpdated\"] = this.chargeStateLastUpdated ? this.chargeStateLastUpdated.toISOString() : undefined;\r\n data[\"maxCurrent\"] = this.maxCurrent;\r\n data[\"powerDeliveryState\"] = this.powerDeliveryState;\r\n data[\"smartChargingEnabled\"] = this.smartChargingEnabled;\r\n data[\"smartChargingDeadline\"] = this.smartChargingDeadline;\r\n data[\"smartChargingUpdatedAt\"] = this.smartChargingUpdatedAt ? this.smartChargingUpdatedAt.toISOString() : undefined;\r\n data[\"smartChargingVendor\"] = this.smartChargingVendor;\r\n data[\"smartChargingState\"] = this.smartChargingState;\r\n data[\"smartChargingStateChanged\"] = this.smartChargingStateChanged ? this.smartChargingStateChanged.toISOString() : undefined;\r\n data[\"smartChargingConsiderationIsPluggedIn\"] = this.smartChargingConsiderationIsPluggedIn;\r\n data[\"smartChargingConsiderationIsCharging\"] = this.smartChargingConsiderationIsCharging;\r\n data[\"smartChargingConsiderationAtChargingLocation\"] = this.smartChargingConsiderationAtChargingLocation;\r\n data[\"smartChargingConsiderationHasTimeEstimate\"] = this.smartChargingConsiderationHasTimeEstimate;\r\n data[\"smartChargingPlanCurrency\"] = this.smartChargingPlanCurrency;\r\n data[\"smartChargingPlanNonSmartCost\"] = this.smartChargingPlanNonSmartCost;\r\n data[\"smartChargingPlanSmartCost\"] = this.smartChargingPlanSmartCost;\r\n data[\"smartChargingPlanStopAt\"] = this.smartChargingPlanStopAt ? this.smartChargingPlanStopAt.toISOString() : undefined;\r\n data[\"smartChargingPlanStartAt\"] = this.smartChargingPlanStartAt ? this.smartChargingPlanStartAt.toISOString() : undefined;\r\n data[\"smartChargingPlanEstimatedFinishAt\"] = this.smartChargingPlanEstimatedFinishAt ? this.smartChargingPlanEstimatedFinishAt.toISOString() : undefined;\r\n data[\"smartChargingPlanStopConfirmedAt\"] = this.smartChargingPlanStopConfirmedAt ? this.smartChargingPlanStopConfirmedAt.toISOString() : undefined;\r\n data[\"smartChargingPlanStartConfirmedAt\"] = this.smartChargingPlanStartConfirmedAt ? this.smartChargingPlanStartConfirmedAt.toISOString() : undefined;\r\n data[\"smartChargingPlanEndedAt\"] = this.smartChargingPlanEndedAt ? this.smartChargingPlanEndedAt.toISOString() : undefined;\r\n data[\"smartChargingPlanFinalState\"] = this.smartChargingPlanFinalState;\r\n data[\"smartChargingPlanFailureCondition\"] = this.smartChargingPlanFailureCondition;\r\n data[\"smartChargingPlanExternalStartCreatedAt\"] = this.smartChargingPlanExternalStartCreatedAt ? this.smartChargingPlanExternalStartCreatedAt.toISOString() : undefined;\r\n data[\"smartChargingPlanExternalStartEndedAt\"] = this.smartChargingPlanExternalStartEndedAt ? this.smartChargingPlanExternalStartEndedAt.toISOString() : undefined;\r\n data[\"smartChargingPlanExternalStartTargetType\"] = this.smartChargingPlanExternalStartTargetType;\r\n data[\"smartChargingPlanExternalStartTargetId\"] = this.smartChargingPlanExternalStartTargetId;\r\n data[\"smartChargingPlanExternalStartVendorActionId\"] = this.smartChargingPlanExternalStartVendorActionId;\r\n data[\"smartChargingPlanChargingLocationId\"] = this.smartChargingPlanChargingLocationId;\r\n data[\"smartChargingSmartOverrideCreatedAt\"] = this.smartChargingSmartOverrideCreatedAt ? this.smartChargingSmartOverrideCreatedAt.toISOString() : undefined;\r\n data[\"smartChargingSmartOverrideEndedAt\"] = this.smartChargingSmartOverrideEndedAt ? this.smartChargingSmartOverrideEndedAt.toISOString() : undefined;\r\n data[\"smartChargingSmartOverrideTargetType\"] = this.smartChargingSmartOverrideTargetType;\r\n data[\"smartChargingSmartOverrideTargetId\"] = this.smartChargingSmartOverrideTargetId;\r\n data[\"smartChargingSmartOverrideVendorActionId\"] = this.smartChargingSmartOverrideVendorActionId;\r\n data[\"minimumChargeLimit\"] = this.minimumChargeLimit;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"locationLastUpdated\"] = this.locationLastUpdated ? this.locationLastUpdated.toISOString() : undefined;\r\n data[\"odometerDistance\"] = this.odometerDistance;\r\n data[\"odometerLastUpdated\"] = this.odometerLastUpdated ? this.odometerLastUpdated.toISOString() : undefined;\r\n data[\"informationCapable\"] = this.informationCapable;\r\n if (Array.isArray(this.informationInterventionIds)) {\r\n data[\"informationInterventionIds\"] = [];\r\n for (let item of this.informationInterventionIds)\r\n data[\"informationInterventionIds\"].push(item);\r\n }\r\n data[\"chargeStateCapable\"] = this.chargeStateCapable;\r\n if (Array.isArray(this.chargeStateInterventionIds)) {\r\n data[\"chargeStateInterventionIds\"] = [];\r\n for (let item of this.chargeStateInterventionIds)\r\n data[\"chargeStateInterventionIds\"].push(item);\r\n }\r\n data[\"locationCapable\"] = this.locationCapable;\r\n if (Array.isArray(this.locationInterventionIds)) {\r\n data[\"locationInterventionIds\"] = [];\r\n for (let item of this.locationInterventionIds)\r\n data[\"locationInterventionIds\"].push(item);\r\n }\r\n data[\"odometerCapable\"] = this.odometerCapable;\r\n if (Array.isArray(this.odometerInterventionIds)) {\r\n data[\"odometerInterventionIds\"] = [];\r\n for (let item of this.odometerInterventionIds)\r\n data[\"odometerInterventionIds\"].push(item);\r\n }\r\n data[\"setMaxCurrentCapable\"] = this.setMaxCurrentCapable;\r\n if (Array.isArray(this.setMaxCurrentInterventionIds)) {\r\n data[\"setMaxCurrentInterventionIds\"] = [];\r\n for (let item of this.setMaxCurrentInterventionIds)\r\n data[\"setMaxCurrentInterventionIds\"].push(item);\r\n }\r\n data[\"startChargingCapable\"] = this.startChargingCapable;\r\n if (Array.isArray(this.startChargingInterventionIds)) {\r\n data[\"startChargingInterventionIds\"] = [];\r\n for (let item of this.startChargingInterventionIds)\r\n data[\"startChargingInterventionIds\"].push(item);\r\n }\r\n data[\"stopChargingCapable\"] = this.stopChargingCapable;\r\n if (Array.isArray(this.stopChargingInterventionIds)) {\r\n data[\"stopChargingInterventionIds\"] = [];\r\n for (let item of this.stopChargingInterventionIds)\r\n data[\"stopChargingInterventionIds\"].push(item);\r\n }\r\n data[\"smartChargingCapable\"] = this.smartChargingCapable;\r\n if (Array.isArray(this.smartChargingInterventionIds)) {\r\n data[\"smartChargingInterventionIds\"] = [];\r\n for (let item of this.smartChargingInterventionIds)\r\n data[\"smartChargingInterventionIds\"].push(item);\r\n }\r\n data[\"scopes\"] = this.scopes;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"reliability\"] = this.reliability;\r\n data[\"credentialsInvalidated\"] = this.credentialsInvalidated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVehicleModel {\r\n id?: string | undefined;\r\n userId?: string | undefined;\r\n vendor?: string | undefined;\r\n lastSeen?: moment.Moment;\r\n isReachable?: boolean;\r\n vin?: string | undefined;\r\n brand?: string | undefined;\r\n model?: string | undefined;\r\n year?: number;\r\n batteryLevel?: number;\r\n range?: number;\r\n isPluggedIn?: boolean;\r\n isCharging?: boolean;\r\n isFullyCharged?: boolean;\r\n batteryCapacity?: number;\r\n chargeLimit?: number;\r\n chargeRate?: number;\r\n chargeRemainingTime?: number;\r\n chargeStateLastUpdated?: moment.Moment;\r\n maxCurrent?: number;\r\n powerDeliveryState?: string | undefined;\r\n smartChargingEnabled?: boolean;\r\n smartChargingDeadline?: string | undefined;\r\n smartChargingUpdatedAt?: moment.Moment | undefined;\r\n smartChargingVendor?: string | undefined;\r\n smartChargingState?: string | undefined;\r\n smartChargingStateChanged?: moment.Moment | undefined;\r\n smartChargingConsiderationIsPluggedIn?: boolean | undefined;\r\n smartChargingConsiderationIsCharging?: boolean | undefined;\r\n smartChargingConsiderationAtChargingLocation?: boolean | undefined;\r\n smartChargingConsiderationHasTimeEstimate?: boolean | undefined;\r\n smartChargingPlanCurrency?: string | undefined;\r\n smartChargingPlanNonSmartCost?: number | undefined;\r\n smartChargingPlanSmartCost?: number | undefined;\r\n smartChargingPlanStopAt?: moment.Moment | undefined;\r\n smartChargingPlanStartAt?: moment.Moment | undefined;\r\n smartChargingPlanEstimatedFinishAt?: moment.Moment | undefined;\r\n smartChargingPlanStopConfirmedAt?: moment.Moment | undefined;\r\n smartChargingPlanStartConfirmedAt?: moment.Moment | undefined;\r\n smartChargingPlanEndedAt?: moment.Moment | undefined;\r\n smartChargingPlanFinalState?: string | undefined;\r\n smartChargingPlanFailureCondition?: string | undefined;\r\n smartChargingPlanExternalStartCreatedAt?: moment.Moment | undefined;\r\n smartChargingPlanExternalStartEndedAt?: moment.Moment | undefined;\r\n smartChargingPlanExternalStartTargetType?: string | undefined;\r\n smartChargingPlanExternalStartTargetId?: string | undefined;\r\n smartChargingPlanExternalStartVendorActionId?: string | undefined;\r\n smartChargingPlanChargingLocationId?: string | undefined;\r\n smartChargingSmartOverrideCreatedAt?: moment.Moment | undefined;\r\n smartChargingSmartOverrideEndedAt?: moment.Moment | undefined;\r\n smartChargingSmartOverrideTargetType?: string | undefined;\r\n smartChargingSmartOverrideTargetId?: string | undefined;\r\n smartChargingSmartOverrideVendorActionId?: string | undefined;\r\n minimumChargeLimit?: number;\r\n longitude?: number;\r\n latitude?: number;\r\n locationLastUpdated?: moment.Moment;\r\n odometerDistance?: number;\r\n odometerLastUpdated?: moment.Moment;\r\n informationCapable?: boolean;\r\n informationInterventionIds?: string[] | undefined;\r\n chargeStateCapable?: boolean;\r\n chargeStateInterventionIds?: string[] | undefined;\r\n locationCapable?: boolean;\r\n locationInterventionIds?: string[] | undefined;\r\n odometerCapable?: boolean;\r\n odometerInterventionIds?: string[] | undefined;\r\n setMaxCurrentCapable?: boolean;\r\n setMaxCurrentInterventionIds?: string[] | undefined;\r\n startChargingCapable?: boolean;\r\n startChargingInterventionIds?: string[] | undefined;\r\n stopChargingCapable?: boolean;\r\n stopChargingInterventionIds?: string[] | undefined;\r\n smartChargingCapable?: boolean;\r\n smartChargingInterventionIds?: string[] | undefined;\r\n scopes?: string | undefined;\r\n locationId?: string | undefined;\r\n createdOn?: moment.Moment;\r\n updatedOn?: moment.Moment;\r\n deleted?: boolean;\r\n reliability?: string | undefined;\r\n credentialsInvalidated?: boolean;\r\n}\r\n\r\nexport class SmartChargingResponse implements ISmartChargingResponse {\r\n enabled?: boolean;\r\n deadline?: string | undefined;\r\n minimumChargeLimit?: number;\r\n\r\n constructor(data?: ISmartChargingResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.deadline = _data[\"deadline\"];\r\n this.minimumChargeLimit = _data[\"minimumChargeLimit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SmartChargingResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SmartChargingResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"deadline\"] = this.deadline;\r\n data[\"minimumChargeLimit\"] = this.minimumChargeLimit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISmartChargingResponse {\r\n enabled?: boolean;\r\n deadline?: string | undefined;\r\n minimumChargeLimit?: number;\r\n}\r\n\r\nexport class SmartChargingOverrideResponse implements ISmartChargingOverrideResponse {\r\n createdAt?: moment.Moment;\r\n endedAt?: moment.Moment;\r\n targetType?: string | undefined;\r\n targetId?: string | undefined;\r\n vendorActionId?: string;\r\n userId?: string | undefined;\r\n vendor?: string | undefined;\r\n\r\n constructor(data?: ISmartChargingOverrideResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdAt = _data[\"createdAt\"] ? moment(_data[\"createdAt\"].toString()) : undefined;\r\n this.endedAt = _data[\"endedAt\"] ? moment(_data[\"endedAt\"].toString()) : undefined;\r\n this.targetType = _data[\"targetType\"];\r\n this.targetId = _data[\"targetId\"];\r\n this.vendorActionId = _data[\"vendorActionId\"];\r\n this.userId = _data[\"userId\"];\r\n this.vendor = _data[\"vendor\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SmartChargingOverrideResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SmartChargingOverrideResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdAt\"] = this.createdAt ? this.createdAt.toISOString() : undefined;\r\n data[\"endedAt\"] = this.endedAt ? this.endedAt.toISOString() : undefined;\r\n data[\"targetType\"] = this.targetType;\r\n data[\"targetId\"] = this.targetId;\r\n data[\"vendorActionId\"] = this.vendorActionId;\r\n data[\"userId\"] = this.userId;\r\n data[\"vendor\"] = this.vendor;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISmartChargingOverrideResponse {\r\n createdAt?: moment.Moment;\r\n endedAt?: moment.Moment;\r\n targetType?: string | undefined;\r\n targetId?: string | undefined;\r\n vendorActionId?: string;\r\n userId?: string | undefined;\r\n vendor?: string | undefined;\r\n}\r\n\r\nexport class EnodeLinkResult implements IEnodeLinkResult {\r\n url?: string | undefined;\r\n accessToken?: string | undefined;\r\n userId?: string | undefined;\r\n\r\n constructor(data?: IEnodeLinkResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n this.accessToken = _data[\"accessToken\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnodeLinkResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnodeLinkResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n data[\"accessToken\"] = this.accessToken;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnodeLinkResult {\r\n url?: string | undefined;\r\n accessToken?: string | undefined;\r\n userId?: string | undefined;\r\n}\r\n\r\nexport enum BatteryVendor {\r\n TESLA = \"TESLA\",\r\n ENPHASE = \"ENPHASE\",\r\n}\r\n\r\nexport enum ChargerVendor {\r\n ZAPTEC = \"ZAPTEC\",\r\n EASEE = \"EASEE\",\r\n WALLBOX = \"WALLBOX\",\r\n EO = \"EO\",\r\n CHARGEAMPS = \"CHARGEAMPS\",\r\n EVBOX = \"EVBOX\",\r\n GOE = \"GOE\",\r\n FRONIUS = \"FRONIUS\",\r\n CHARGEPOINT = \"CHARGEPOINT\",\r\n ENELX = \"ENELX\",\r\n TESLA = \"TESLA\",\r\n}\r\n\r\nexport enum HvacVendor {\r\n TADO = \"TADO\",\r\n MILL = \"MILL\",\r\n ADAX = \"ADAX\",\r\n ECOBEE = \"ECOBEE\",\r\n SENSIBO = \"SENSIBO\",\r\n HONEYWELL = \"HONEYWELL\",\r\n RESIDEO = \"RESIDEO\",\r\n MITSUBISHI = \"MITSUBISHI\",\r\n MICROMATIC = \"MICROMATIC\",\r\n NIBE = \"NIBE\",\r\n PANASONIC = \"PANASONIC\",\r\n TOSHIBA = \"TOSHIBA\",\r\n DAIKIN = \"DAIKIN\",\r\n NEST = \"NEST\",\r\n FUJITSU = \"FUJITSU\",\r\n BOSCH = \"BOSCH\",\r\n NETATMO = \"NETATMO\",\r\n}\r\n\r\nexport enum InverterVendor {\r\n APSYSTEMS = \"APSYSTEMS\",\r\n CSISolar = \"CSISolar\",\r\n Deye = \"Deye\",\r\n ENPHASE = \"ENPHASE\",\r\n FOXESS = \"FOXESS\",\r\n FRONIUS = \"FRONIUS\",\r\n GOODWE = \"GOODWE\",\r\n GROWATT = \"GROWATT\",\r\n Hoymiles = \"Hoymiles\",\r\n HUAWEI = \"HUAWEI\",\r\n INVT = \"INVT\",\r\n SMA = \"SMA\",\r\n SOFAR = \"SOFAR\",\r\n SOLAREDGE = \"SOLAREDGE\",\r\n SOLARK = \"SOLARK\",\r\n SOLAX = \"SOLAX\",\r\n SOLIS = \"SOLIS\",\r\n SOLPLANET = \"SOLPLANET\",\r\n SUNGROW = \"SUNGROW\",\r\n SUNSYNK = \"SUNSYNK\",\r\n TESLA = \"TESLA\",\r\n TSUN = \"TSUN\",\r\n}\r\n\r\nexport enum MeterVendor {\r\n ENPHASE = \"ENPHASE\",\r\n TESLA = \"TESLA\",\r\n}\r\n\r\nexport enum VehicleVendor {\r\n AUDI = \"AUDI\",\r\n BMW = \"BMW\",\r\n HONDA = \"HONDA\",\r\n HYUNDAI = \"HYUNDAI\",\r\n JAGUAR = \"JAGUAR\",\r\n LANDROVER = \"LANDROVER\",\r\n KIA = \"KIA\",\r\n MERCEDES = \"MERCEDES\",\r\n MINI = \"MINI\",\r\n NISSAN = \"NISSAN\",\r\n PEUGEOT = \"PEUGEOT\",\r\n PORSCHE = \"PORSCHE\",\r\n RENAULT = \"RENAULT\",\r\n SEAT = \"SEAT\",\r\n SKODA = \"SKODA\",\r\n TESLA = \"TESLA\",\r\n VOLKSWAGEN = \"VOLKSWAGEN\",\r\n VOLVO = \"VOLVO\",\r\n FORD = \"FORD\",\r\n OPEL = \"OPEL\",\r\n DS = \"DS\",\r\n TOYOTA = \"TOYOTA\",\r\n LEXUS = \"LEXUS\",\r\n CITROEN = \"CITROEN\",\r\n CUPRA = \"CUPRA\",\r\n VAUXHALL = \"VAUXHALL\",\r\n FIAT = \"FIAT\",\r\n RIVIAN = \"RIVIAN\",\r\n NIO = \"NIO\",\r\n CHEVROLET = \"CHEVROLET\",\r\n GMC = \"GMC\",\r\n CADILLAC = \"CADILLAC\",\r\n XPENG = \"XPENG\",\r\n}\r\n\r\nexport class UserResponse_linkedVendors_vendor implements IUserResponse_linkedVendors_vendor {\r\n batteryVendor?: BatteryVendor;\r\n chargerVendor?: ChargerVendor;\r\n hvacVendor?: HvacVendor;\r\n inverterVendor?: InverterVendor;\r\n meterVendor?: MeterVendor;\r\n vehicleVendor?: VehicleVendor;\r\n\r\n constructor(data?: IUserResponse_linkedVendors_vendor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.batteryVendor = _data[\"batteryVendor\"];\r\n this.chargerVendor = _data[\"chargerVendor\"];\r\n this.hvacVendor = _data[\"hvacVendor\"];\r\n this.inverterVendor = _data[\"inverterVendor\"];\r\n this.meterVendor = _data[\"meterVendor\"];\r\n this.vehicleVendor = _data[\"vehicleVendor\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserResponse_linkedVendors_vendor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserResponse_linkedVendors_vendor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"batteryVendor\"] = this.batteryVendor;\r\n data[\"chargerVendor\"] = this.chargerVendor;\r\n data[\"hvacVendor\"] = this.hvacVendor;\r\n data[\"inverterVendor\"] = this.inverterVendor;\r\n data[\"meterVendor\"] = this.meterVendor;\r\n data[\"vehicleVendor\"] = this.vehicleVendor;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserResponse_linkedVendors_vendor {\r\n batteryVendor?: BatteryVendor;\r\n chargerVendor?: ChargerVendor;\r\n hvacVendor?: HvacVendor;\r\n inverterVendor?: InverterVendor;\r\n meterVendor?: MeterVendor;\r\n vehicleVendor?: VehicleVendor;\r\n}\r\n\r\nexport enum VendorType {\r\n Vehicle = \"vehicle\",\r\n Charger = \"charger\",\r\n Hvac = \"hvac\",\r\n Inverter = \"inverter\",\r\n Battery = \"battery\",\r\n Meter = \"meter\",\r\n}\r\n\r\nexport class UserResponse_linkedVendors implements IUserResponse_linkedVendors {\r\n isValid?: boolean | undefined;\r\n vendor?: UserResponse_linkedVendors_vendor;\r\n vendorType?: VendorType;\r\n\r\n constructor(data?: IUserResponse_linkedVendors) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isValid = _data[\"isValid\"];\r\n this.vendor = _data[\"vendor\"] ? UserResponse_linkedVendors_vendor.fromJS(_data[\"vendor\"]) : undefined;\r\n this.vendorType = _data[\"vendorType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserResponse_linkedVendors {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserResponse_linkedVendors();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isValid\"] = this.isValid;\r\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\r\n data[\"vendorType\"] = this.vendorType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserResponse_linkedVendors {\r\n isValid?: boolean | undefined;\r\n vendor?: UserResponse_linkedVendors_vendor;\r\n vendorType?: VendorType;\r\n}\r\n\r\nexport class UserResponse implements IUserResponse {\r\n id?: string | undefined;\r\n linkedVendors?: UserResponse_linkedVendors[] | undefined;\r\n\r\n constructor(data?: IUserResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"linkedVendors\"])) {\r\n this.linkedVendors = [] as any;\r\n for (let item of _data[\"linkedVendors\"])\r\n this.linkedVendors!.push(UserResponse_linkedVendors.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.linkedVendors)) {\r\n data[\"linkedVendors\"] = [];\r\n for (let item of this.linkedVendors)\r\n data[\"linkedVendors\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserResponse {\r\n id?: string | undefined;\r\n linkedVendors?: UserResponse_linkedVendors[] | undefined;\r\n}\r\n\r\nexport class Location implements ILocation {\r\n id?: string;\r\n userId?: string | undefined;\r\n name?: string | undefined;\r\n latitude?: number;\r\n longitude?: number;\r\n timeZoneName?: string | undefined;\r\n\r\n constructor(data?: ILocation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.name = _data[\"name\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.timeZoneName = _data[\"timeZoneName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Location {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Location();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"name\"] = this.name;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"timeZoneName\"] = this.timeZoneName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocation {\r\n id?: string;\r\n userId?: string | undefined;\r\n name?: string | undefined;\r\n latitude?: number;\r\n longitude?: number;\r\n timeZoneName?: string | undefined;\r\n}\r\n\r\nexport enum BatteryBrand {\r\n Tesla = \"Tesla\",\r\n Enphase = \"Enphase\",\r\n}\r\n\r\nexport enum ChargerBrand {\r\n Zaptec = \"Zaptec\",\r\n Easee = \"Easee\",\r\n Wallbox = \"Wallbox\",\r\n EO = \"EO\",\r\n EVBox = \"EVBox\",\r\n Charge_Amps = \"Charge Amps\",\r\n GoE = \"go-e\",\r\n Fronius = \"Fronius\",\r\n ChargePoint = \"ChargePoint\",\r\n Enel_X = \"Enel X\",\r\n Tesla = \"Tesla\",\r\n}\r\n\r\nexport enum HvacBrand {\r\n Tado = \"Tado\",\r\n Mill = \"Mill\",\r\n ADAX = \"ADAX\",\r\n Ecobee = \"Ecobee\",\r\n Sensibo = \"Sensibo\",\r\n Honeywell_TCC = \"Honeywell TCC\",\r\n Resideo = \"Resideo\",\r\n Mitsubishi = \"Mitsubishi\",\r\n Micro_Matic = \"Micro Matic\",\r\n NIBE = \"NIBE\",\r\n Panasonic = \"Panasonic\",\r\n Toshiba = \"Toshiba\",\r\n DAIKIN = \"DAIKIN\",\r\n Nest = \"Nest\",\r\n Fujitsu = \"Fujitsu\",\r\n Bosch = \"Bosch\",\r\n Netatmo = \"Netatmo\",\r\n}\r\n\r\nexport enum InverterBrand {\r\n APsystems = \"APsystems\",\r\n CSISolar = \"CSISolar\",\r\n Deye = \"Deye\",\r\n Enphase = \"Enphase\",\r\n FOXESS = \"FOXESS\",\r\n Fronius = \"Fronius\",\r\n GoodWe = \"GoodWe\",\r\n Growatt = \"Growatt\",\r\n Hoymiles = \"Hoymiles\",\r\n Huawei = \"Huawei\",\r\n INVT = \"INVT\",\r\n SMA = \"SMA\",\r\n Sofar = \"Sofar\",\r\n SolarEdge = \"SolarEdge\",\r\n SolArk = \"SolArk\",\r\n Solax = \"Solax\",\r\n Solis = \"Solis\",\r\n Solplanet = \"Solplanet\",\r\n Sungrow = \"Sungrow\",\r\n SUNSYNK = \"SUNSYNK\",\r\n Tesla = \"Tesla\",\r\n TSUN = \"TSUN\",\r\n}\r\n\r\nexport enum MeterBrand {\r\n Enphase = \"Enphase\",\r\n Tesla = \"Tesla\",\r\n}\r\n\r\nexport enum VehicleBrand {\r\n Audi = \"Audi\",\r\n BMW = \"BMW\",\r\n Honda = \"Honda\",\r\n Hyundai = \"Hyundai\",\r\n Jaguar = \"Jaguar\",\r\n Land_Rover = \"Land Rover\",\r\n Kia = \"Kia\",\r\n Mercedes = \"Mercedes\",\r\n MINI = \"MINI\",\r\n Nissan = \"Nissan\",\r\n Peugeot = \"Peugeot\",\r\n Porsche = \"Porsche\",\r\n Renault = \"Renault\",\r\n SEAT = \"SEAT\",\r\n ŠKODA = \"ŠKODA\",\r\n Tesla = \"Tesla\",\r\n Volkswagen = \"Volkswagen\",\r\n Volvo = \"Volvo\",\r\n Ford = \"Ford\",\r\n Opel = \"Opel\",\r\n DS = \"DS\",\r\n Toyota = \"Toyota\",\r\n Lexus = \"Lexus\",\r\n Citroën = \"Citroën\",\r\n Cupra = \"Cupra\",\r\n Vauxhall = \"Vauxhall\",\r\n Fiat = \"Fiat\",\r\n Rivian = \"Rivian\",\r\n Nio = \"Nio\",\r\n Chevrolet = \"Chevrolet\",\r\n GMC = \"GMC\",\r\n Cadillac = \"Cadillac\",\r\n XPENG = \"XPENG\",\r\n}\r\n\r\nexport class Intervention_brand implements IIntervention_brand {\r\n batteryBrand?: BatteryBrand;\r\n chargerBrand?: ChargerBrand;\r\n hvacBrand?: HvacBrand;\r\n inverterBrand?: InverterBrand;\r\n meterBrand?: MeterBrand;\r\n vehicleBrand?: VehicleBrand;\r\n\r\n constructor(data?: IIntervention_brand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.batteryBrand = _data[\"batteryBrand\"];\r\n this.chargerBrand = _data[\"chargerBrand\"];\r\n this.hvacBrand = _data[\"hvacBrand\"];\r\n this.inverterBrand = _data[\"inverterBrand\"];\r\n this.meterBrand = _data[\"meterBrand\"];\r\n this.vehicleBrand = _data[\"vehicleBrand\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Intervention_brand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Intervention_brand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"batteryBrand\"] = this.batteryBrand;\r\n data[\"chargerBrand\"] = this.chargerBrand;\r\n data[\"hvacBrand\"] = this.hvacBrand;\r\n data[\"inverterBrand\"] = this.inverterBrand;\r\n data[\"meterBrand\"] = this.meterBrand;\r\n data[\"vehicleBrand\"] = this.vehicleBrand;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIntervention_brand {\r\n batteryBrand?: BatteryBrand;\r\n chargerBrand?: ChargerBrand;\r\n hvacBrand?: HvacBrand;\r\n inverterBrand?: InverterBrand;\r\n meterBrand?: MeterBrand;\r\n vehicleBrand?: VehicleBrand;\r\n}\r\n\r\nexport enum Intervention_domain {\r\n Account = \"Account\",\r\n Device = \"Device\",\r\n}\r\n\r\nexport enum Intervention_resolution_access {\r\n Remote = \"Remote\",\r\n Physical = \"Physical\",\r\n}\r\n\r\nexport enum Intervention_resolution_agent {\r\n User = \"User\",\r\n ThirdParty = \"ThirdParty\",\r\n}\r\n\r\nexport class Intervention_resolution implements IIntervention_resolution {\r\n access?: Intervention_resolution_access;\r\n agent?: Intervention_resolution_agent;\r\n description?: string | undefined;\r\n title?: string | undefined;\r\n\r\n constructor(data?: IIntervention_resolution) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.access = _data[\"access\"];\r\n this.agent = _data[\"agent\"];\r\n this.description = _data[\"description\"];\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Intervention_resolution {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Intervention_resolution();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"access\"] = this.access;\r\n data[\"agent\"] = this.agent;\r\n data[\"description\"] = this.description;\r\n data[\"title\"] = this.title;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIntervention_resolution {\r\n access?: Intervention_resolution_access;\r\n agent?: Intervention_resolution_agent;\r\n description?: string | undefined;\r\n title?: string | undefined;\r\n}\r\n\r\nexport class Intervention_vendor implements IIntervention_vendor {\r\n batteryVendor?: BatteryVendor;\r\n chargerVendor?: ChargerVendor;\r\n hvacVendor?: HvacVendor;\r\n inverterVendor?: InverterVendor;\r\n meterVendor?: MeterVendor;\r\n vehicleVendor?: VehicleVendor;\r\n\r\n constructor(data?: IIntervention_vendor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.batteryVendor = _data[\"batteryVendor\"];\r\n this.chargerVendor = _data[\"chargerVendor\"];\r\n this.hvacVendor = _data[\"hvacVendor\"];\r\n this.inverterVendor = _data[\"inverterVendor\"];\r\n this.meterVendor = _data[\"meterVendor\"];\r\n this.vehicleVendor = _data[\"vehicleVendor\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Intervention_vendor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Intervention_vendor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"batteryVendor\"] = this.batteryVendor;\r\n data[\"chargerVendor\"] = this.chargerVendor;\r\n data[\"hvacVendor\"] = this.hvacVendor;\r\n data[\"inverterVendor\"] = this.inverterVendor;\r\n data[\"meterVendor\"] = this.meterVendor;\r\n data[\"vehicleVendor\"] = this.vehicleVendor;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIntervention_vendor {\r\n batteryVendor?: BatteryVendor;\r\n chargerVendor?: ChargerVendor;\r\n hvacVendor?: HvacVendor;\r\n inverterVendor?: InverterVendor;\r\n meterVendor?: MeterVendor;\r\n vehicleVendor?: VehicleVendor;\r\n}\r\n\r\nexport class Intervention implements IIntervention {\r\n brand?: Intervention_brand;\r\n domain?: Intervention_domain;\r\n id?: string | undefined;\r\n introducedAt?: moment.Moment | undefined;\r\n resolution?: Intervention_resolution;\r\n vendor?: Intervention_vendor;\r\n vendorType?: VendorType;\r\n\r\n constructor(data?: IIntervention) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.brand = _data[\"brand\"] ? Intervention_brand.fromJS(_data[\"brand\"]) : undefined;\r\n this.domain = _data[\"domain\"];\r\n this.id = _data[\"id\"];\r\n this.introducedAt = _data[\"introducedAt\"] ? moment(_data[\"introducedAt\"].toString()) : undefined;\r\n this.resolution = _data[\"resolution\"] ? Intervention_resolution.fromJS(_data[\"resolution\"]) : undefined;\r\n this.vendor = _data[\"vendor\"] ? Intervention_vendor.fromJS(_data[\"vendor\"]) : undefined;\r\n this.vendorType = _data[\"vendorType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Intervention {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Intervention();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"brand\"] = this.brand ? this.brand.toJSON() : undefined;\r\n data[\"domain\"] = this.domain;\r\n data[\"id\"] = this.id;\r\n data[\"introducedAt\"] = this.introducedAt ? this.introducedAt.toISOString() : undefined;\r\n data[\"resolution\"] = this.resolution ? this.resolution.toJSON() : undefined;\r\n data[\"vendor\"] = this.vendor ? this.vendor.toJSON() : undefined;\r\n data[\"vendorType\"] = this.vendorType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIntervention {\r\n brand?: Intervention_brand;\r\n domain?: Intervention_domain;\r\n id?: string | undefined;\r\n introducedAt?: moment.Moment | undefined;\r\n resolution?: Intervention_resolution;\r\n vendor?: Intervention_vendor;\r\n vendorType?: VendorType;\r\n}\r\n\r\nexport class Aggregates implements IAggregates {\r\n max?: number | undefined;\r\n mean?: number | undefined;\r\n min?: number | undefined;\r\n\r\n constructor(data?: IAggregates) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.max = _data[\"max\"];\r\n this.mean = _data[\"mean\"];\r\n this.min = _data[\"min\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Aggregates {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Aggregates();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"max\"] = this.max;\r\n data[\"mean\"] = this.mean;\r\n data[\"min\"] = this.min;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAggregates {\r\n max?: number | undefined;\r\n mean?: number | undefined;\r\n min?: number | undefined;\r\n}\r\n\r\nexport class NullableAggregates implements INullableAggregates {\r\n max?: number | undefined;\r\n mean?: number | undefined;\r\n min?: number | undefined;\r\n\r\n constructor(data?: INullableAggregates) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.max = _data[\"max\"];\r\n this.mean = _data[\"mean\"];\r\n this.min = _data[\"min\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NullableAggregates {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NullableAggregates();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"max\"] = this.max;\r\n data[\"mean\"] = this.mean;\r\n data[\"min\"] = this.min;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INullableAggregates {\r\n max?: number | undefined;\r\n mean?: number | undefined;\r\n min?: number | undefined;\r\n}\r\n\r\nexport class SessionsStatisticsTimeseries implements ISessionsStatisticsTimeseries {\r\n costSum?: number | undefined;\r\n estimatedSavings?: number | undefined;\r\n from?: moment.Moment | undefined;\r\n id?: string | undefined;\r\n kw?: Aggregates;\r\n kwhSum?: number | undefined;\r\n locationId?: string | undefined;\r\n nonSmartPrice?: NullableAggregates;\r\n price?: Aggregates;\r\n to?: moment.Moment | undefined;\r\n\r\n constructor(data?: ISessionsStatisticsTimeseries) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.costSum = _data[\"costSum\"];\r\n this.estimatedSavings = _data[\"estimatedSavings\"];\r\n this.from = _data[\"from\"] ? moment(_data[\"from\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.kw = _data[\"kw\"] ? Aggregates.fromJS(_data[\"kw\"]) : undefined;\r\n this.kwhSum = _data[\"kwhSum\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.nonSmartPrice = _data[\"nonSmartPrice\"] ? NullableAggregates.fromJS(_data[\"nonSmartPrice\"]) : undefined;\r\n this.price = _data[\"price\"] ? Aggregates.fromJS(_data[\"price\"]) : undefined;\r\n this.to = _data[\"to\"] ? moment(_data[\"to\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SessionsStatisticsTimeseries {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SessionsStatisticsTimeseries();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"costSum\"] = this.costSum;\r\n data[\"estimatedSavings\"] = this.estimatedSavings;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"kw\"] = this.kw ? this.kw.toJSON() : undefined;\r\n data[\"kwhSum\"] = this.kwhSum;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"nonSmartPrice\"] = this.nonSmartPrice ? this.nonSmartPrice.toJSON() : undefined;\r\n data[\"price\"] = this.price ? this.price.toJSON() : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISessionsStatisticsTimeseries {\r\n costSum?: number | undefined;\r\n estimatedSavings?: number | undefined;\r\n from?: moment.Moment | undefined;\r\n id?: string | undefined;\r\n kw?: Aggregates;\r\n kwhSum?: number | undefined;\r\n locationId?: string | undefined;\r\n nonSmartPrice?: NullableAggregates;\r\n price?: Aggregates;\r\n to?: moment.Moment | undefined;\r\n}\r\n\r\nexport class SupportedModelCapabilities implements ISupportedModelCapabilities {\r\n information?: boolean;\r\n location?: boolean;\r\n odometer?: boolean;\r\n chargeState?: boolean;\r\n startCharging?: boolean;\r\n stopCharging?: boolean;\r\n smartCharging?: boolean;\r\n\r\n constructor(data?: ISupportedModelCapabilities) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.information = _data[\"information\"];\r\n this.location = _data[\"location\"];\r\n this.odometer = _data[\"odometer\"];\r\n this.chargeState = _data[\"chargeState\"];\r\n this.startCharging = _data[\"startCharging\"];\r\n this.stopCharging = _data[\"stopCharging\"];\r\n this.smartCharging = _data[\"smartCharging\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportedModelCapabilities {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportedModelCapabilities();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"information\"] = this.information;\r\n data[\"location\"] = this.location;\r\n data[\"odometer\"] = this.odometer;\r\n data[\"chargeState\"] = this.chargeState;\r\n data[\"startCharging\"] = this.startCharging;\r\n data[\"stopCharging\"] = this.stopCharging;\r\n data[\"smartCharging\"] = this.smartCharging;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportedModelCapabilities {\r\n information?: boolean;\r\n location?: boolean;\r\n odometer?: boolean;\r\n chargeState?: boolean;\r\n startCharging?: boolean;\r\n stopCharging?: boolean;\r\n smartCharging?: boolean;\r\n}\r\n\r\nexport class SupportedModel implements ISupportedModel {\r\n id?: string;\r\n createdAt?: moment.Moment;\r\n updatedAt?: moment.Moment;\r\n model?: string | undefined;\r\n activationRequired?: boolean;\r\n integrationStatus?: string | undefined;\r\n regions?: string[] | undefined;\r\n reliability?: string | undefined;\r\n vendor?: string | undefined;\r\n brand?: string | undefined;\r\n year?: number[] | undefined;\r\n driveTrain?: string | undefined;\r\n capabilities?: SupportedModelCapabilities;\r\n enabled?: boolean;\r\n\r\n constructor(data?: ISupportedModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.createdAt = _data[\"createdAt\"] ? moment(_data[\"createdAt\"].toString()) : undefined;\r\n this.updatedAt = _data[\"updatedAt\"] ? moment(_data[\"updatedAt\"].toString()) : undefined;\r\n this.model = _data[\"model\"];\r\n this.activationRequired = _data[\"activationRequired\"];\r\n this.integrationStatus = _data[\"integrationStatus\"];\r\n if (Array.isArray(_data[\"regions\"])) {\r\n this.regions = [] as any;\r\n for (let item of _data[\"regions\"])\r\n this.regions!.push(item);\r\n }\r\n this.reliability = _data[\"reliability\"];\r\n this.vendor = _data[\"vendor\"];\r\n this.brand = _data[\"brand\"];\r\n if (Array.isArray(_data[\"year\"])) {\r\n this.year = [] as any;\r\n for (let item of _data[\"year\"])\r\n this.year!.push(item);\r\n }\r\n this.driveTrain = _data[\"driveTrain\"];\r\n this.capabilities = _data[\"capabilities\"] ? SupportedModelCapabilities.fromJS(_data[\"capabilities\"]) : undefined;\r\n this.enabled = _data[\"enabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportedModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportedModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"createdAt\"] = this.createdAt ? this.createdAt.toISOString() : undefined;\r\n data[\"updatedAt\"] = this.updatedAt ? this.updatedAt.toISOString() : undefined;\r\n data[\"model\"] = this.model;\r\n data[\"activationRequired\"] = this.activationRequired;\r\n data[\"integrationStatus\"] = this.integrationStatus;\r\n if (Array.isArray(this.regions)) {\r\n data[\"regions\"] = [];\r\n for (let item of this.regions)\r\n data[\"regions\"].push(item);\r\n }\r\n data[\"reliability\"] = this.reliability;\r\n data[\"vendor\"] = this.vendor;\r\n data[\"brand\"] = this.brand;\r\n if (Array.isArray(this.year)) {\r\n data[\"year\"] = [];\r\n for (let item of this.year)\r\n data[\"year\"].push(item);\r\n }\r\n data[\"driveTrain\"] = this.driveTrain;\r\n data[\"capabilities\"] = this.capabilities ? this.capabilities.toJSON() : undefined;\r\n data[\"enabled\"] = this.enabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportedModel {\r\n id?: string;\r\n createdAt?: moment.Moment;\r\n updatedAt?: moment.Moment;\r\n model?: string | undefined;\r\n activationRequired?: boolean;\r\n integrationStatus?: string | undefined;\r\n regions?: string[] | undefined;\r\n reliability?: string | undefined;\r\n vendor?: string | undefined;\r\n brand?: string | undefined;\r\n year?: number[] | undefined;\r\n driveTrain?: string | undefined;\r\n capabilities?: SupportedModelCapabilities;\r\n enabled?: boolean;\r\n}\r\n\r\nexport enum MspecsSubscriberStatus {\r\n ENUMS_PROVIDER_SERVICE_SUBSCRIPTION_STATUS_ACTIVE = \"ENUMS_PROVIDER_SERVICE_SUBSCRIPTION_STATUS_ACTIVE\",\r\n ENUMS_PROVIDER_SERVICE_SUBSCRIPTION_STATUS_PENDING = \"ENUMS_PROVIDER_SERVICE_SUBSCRIPTION_STATUS_PENDING\",\r\n ENUMS_PROVIDER_SERVICE_SUBSCRIPTION_STATUS_INACTIVE = \"ENUMS_PROVIDER_SERVICE_SUBSCRIPTION_STATUS_INACTIVE\",\r\n}\r\n\r\nexport class MspecsOrganization implements IMspecsOrganization {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n legalName?: string | undefined;\r\n identifier?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n email?: string | undefined;\r\n streetAddress?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n\r\n constructor(data?: IMspecsOrganization) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.legalName = _data[\"legalName\"];\r\n this.identifier = _data[\"identifier\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.email = _data[\"email\"];\r\n this.streetAddress = _data[\"streetAddress\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MspecsOrganization {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MspecsOrganization();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"legalName\"] = this.legalName;\r\n data[\"identifier\"] = this.identifier;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"email\"] = this.email;\r\n data[\"streetAddress\"] = this.streetAddress;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMspecsOrganization {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n legalName?: string | undefined;\r\n identifier?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n email?: string | undefined;\r\n streetAddress?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n}\r\n\r\nexport class MspecsSubscriber implements IMspecsSubscriber {\r\n subscriberId?: string | undefined;\r\n createdDate?: moment.Moment;\r\n status?: MspecsSubscriberStatus;\r\n serviceId?: string | undefined;\r\n organization?: MspecsOrganization;\r\n isOfficeOptInSubscription?: boolean;\r\n\r\n constructor(data?: IMspecsSubscriber) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.subscriberId = _data[\"subscriberId\"];\r\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n this.serviceId = _data[\"serviceId\"];\r\n this.organization = _data[\"organization\"] ? MspecsOrganization.fromJS(_data[\"organization\"]) : undefined;\r\n this.isOfficeOptInSubscription = _data[\"isOfficeOptInSubscription\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MspecsSubscriber {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MspecsSubscriber();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"subscriberId\"] = this.subscriberId;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"serviceId\"] = this.serviceId;\r\n data[\"organization\"] = this.organization ? this.organization.toJSON() : undefined;\r\n data[\"isOfficeOptInSubscription\"] = this.isOfficeOptInSubscription;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMspecsSubscriber {\r\n subscriberId?: string | undefined;\r\n createdDate?: moment.Moment;\r\n status?: MspecsSubscriberStatus;\r\n serviceId?: string | undefined;\r\n organization?: MspecsOrganization;\r\n isOfficeOptInSubscription?: boolean;\r\n}\r\n\r\nexport class RealEstateOffice implements IRealEstateOffice {\r\n id?: string;\r\n name?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n chainId?: string;\r\n\r\n constructor(data?: IRealEstateOffice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.street = _data[\"street\"];\r\n this.city = _data[\"city\"];\r\n this.chainId = _data[\"chainId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateOffice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateOffice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"street\"] = this.street;\r\n data[\"city\"] = this.city;\r\n data[\"chainId\"] = this.chainId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateOffice {\r\n id?: string;\r\n name?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n chainId?: string;\r\n}\r\n\r\nexport class RealEstateChain implements IRealEstateChain {\r\n id?: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IRealEstateChain) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateChain {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateChain();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateChain {\r\n id?: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class RealEstateObjectConsumers implements IRealEstateObjectConsumers {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n mobile?: string | undefined;\r\n email?: string | undefined;\r\n pid?: string | undefined;\r\n customerType?: CustomerType;\r\n\r\n constructor(data?: IRealEstateObjectConsumers) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.email = _data[\"email\"];\r\n this.pid = _data[\"pid\"];\r\n this.customerType = _data[\"customerType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateObjectConsumers {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateObjectConsumers();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"email\"] = this.email;\r\n data[\"pid\"] = this.pid;\r\n data[\"customerType\"] = this.customerType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateObjectConsumers {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n mobile?: string | undefined;\r\n email?: string | undefined;\r\n pid?: string | undefined;\r\n customerType?: CustomerType;\r\n}\r\n\r\nexport class RealEstateObject implements IRealEstateObject {\r\n id?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n mobile?: string | undefined;\r\n email?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment | undefined;\r\n sellerFirstName?: string | undefined;\r\n sellerLastName?: string | undefined;\r\n sellerMobile?: string | undefined;\r\n sellerEmail?: string | undefined;\r\n area?: number;\r\n housing?: Housing;\r\n internalPropertyNumber?: string | undefined;\r\n lmvNumber?: string | undefined;\r\n realEstateAgent?: RealEstateAgentModel;\r\n realEstateOffice?: RealEstateOffice;\r\n realEstateChain?: RealEstateChain;\r\n sellers?: RealEstateObjectConsumers[] | undefined;\r\n buyers?: RealEstateObjectConsumers[] | undefined;\r\n orderCreated?: boolean;\r\n status?: string | undefined;\r\n statusText?: string | undefined;\r\n\r\n constructor(data?: IRealEstateObject) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.email = _data[\"email\"];\r\n this.street = _data[\"street\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.salesDate = _data[\"salesDate\"] ? moment(_data[\"salesDate\"].toString()) : undefined;\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.sellerFirstName = _data[\"sellerFirstName\"];\r\n this.sellerLastName = _data[\"sellerLastName\"];\r\n this.sellerMobile = _data[\"sellerMobile\"];\r\n this.sellerEmail = _data[\"sellerEmail\"];\r\n this.area = _data[\"area\"];\r\n this.housing = _data[\"housing\"];\r\n this.internalPropertyNumber = _data[\"internalPropertyNumber\"];\r\n this.lmvNumber = _data[\"lmvNumber\"];\r\n this.realEstateAgent = _data[\"realEstateAgent\"] ? RealEstateAgentModel.fromJS(_data[\"realEstateAgent\"]) : undefined;\r\n this.realEstateOffice = _data[\"realEstateOffice\"] ? RealEstateOffice.fromJS(_data[\"realEstateOffice\"]) : undefined;\r\n this.realEstateChain = _data[\"realEstateChain\"] ? RealEstateChain.fromJS(_data[\"realEstateChain\"]) : undefined;\r\n if (Array.isArray(_data[\"sellers\"])) {\r\n this.sellers = [] as any;\r\n for (let item of _data[\"sellers\"])\r\n this.sellers!.push(RealEstateObjectConsumers.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"buyers\"])) {\r\n this.buyers = [] as any;\r\n for (let item of _data[\"buyers\"])\r\n this.buyers!.push(RealEstateObjectConsumers.fromJS(item));\r\n }\r\n this.orderCreated = _data[\"orderCreated\"];\r\n this.status = _data[\"status\"];\r\n this.statusText = _data[\"statusText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealEstateObject {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealEstateObject();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"email\"] = this.email;\r\n data[\"street\"] = this.street;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"salesDate\"] = this.salesDate ? this.salesDate.toISOString() : undefined;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"sellerFirstName\"] = this.sellerFirstName;\r\n data[\"sellerLastName\"] = this.sellerLastName;\r\n data[\"sellerMobile\"] = this.sellerMobile;\r\n data[\"sellerEmail\"] = this.sellerEmail;\r\n data[\"area\"] = this.area;\r\n data[\"housing\"] = this.housing;\r\n data[\"internalPropertyNumber\"] = this.internalPropertyNumber;\r\n data[\"lmvNumber\"] = this.lmvNumber;\r\n data[\"realEstateAgent\"] = this.realEstateAgent ? this.realEstateAgent.toJSON() : undefined;\r\n data[\"realEstateOffice\"] = this.realEstateOffice ? this.realEstateOffice.toJSON() : undefined;\r\n data[\"realEstateChain\"] = this.realEstateChain ? this.realEstateChain.toJSON() : undefined;\r\n if (Array.isArray(this.sellers)) {\r\n data[\"sellers\"] = [];\r\n for (let item of this.sellers)\r\n data[\"sellers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.buyers)) {\r\n data[\"buyers\"] = [];\r\n for (let item of this.buyers)\r\n data[\"buyers\"].push(item.toJSON());\r\n }\r\n data[\"orderCreated\"] = this.orderCreated;\r\n data[\"status\"] = this.status;\r\n data[\"statusText\"] = this.statusText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRealEstateObject {\r\n id?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n mobile?: string | undefined;\r\n email?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n startDate?: moment.Moment | undefined;\r\n sellerFirstName?: string | undefined;\r\n sellerLastName?: string | undefined;\r\n sellerMobile?: string | undefined;\r\n sellerEmail?: string | undefined;\r\n area?: number;\r\n housing?: Housing;\r\n internalPropertyNumber?: string | undefined;\r\n lmvNumber?: string | undefined;\r\n realEstateAgent?: RealEstateAgentModel;\r\n realEstateOffice?: RealEstateOffice;\r\n realEstateChain?: RealEstateChain;\r\n sellers?: RealEstateObjectConsumers[] | undefined;\r\n buyers?: RealEstateObjectConsumers[] | undefined;\r\n orderCreated?: boolean;\r\n status?: string | undefined;\r\n statusText?: string | undefined;\r\n}\r\n\r\nexport enum NegotiatePeriod {\r\n THREE_YEARS = \"THREE_YEARS\",\r\n FIVE_YEARS = \"FIVE_YEARS\",\r\n NEVER = \"NEVER\",\r\n ONE_YEAR = \"ONE_YEAR\",\r\n}\r\n\r\nexport class Savings implements ISavings {\r\n averageSaving?: number;\r\n guaranteedSaving?: number;\r\n\r\n constructor(data?: ISavings) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.averageSaving = _data[\"averageSaving\"];\r\n this.guaranteedSaving = _data[\"guaranteedSaving\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Savings {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Savings();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"averageSaving\"] = this.averageSaving;\r\n data[\"guaranteedSaving\"] = this.guaranteedSaving;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavings {\r\n averageSaving?: number;\r\n guaranteedSaving?: number;\r\n}\r\n\r\nexport class OfferLog implements IOfferLog {\r\n id?: string;\r\n offerId?: string;\r\n ip?: string | undefined;\r\n timestamp?: moment.Moment;\r\n\r\n constructor(data?: IOfferLog) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.offerId = _data[\"offerId\"];\r\n this.ip = _data[\"ip\"];\r\n this.timestamp = _data[\"timestamp\"] ? moment(_data[\"timestamp\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfferLog {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfferLog();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"offerId\"] = this.offerId;\r\n data[\"ip\"] = this.ip;\r\n data[\"timestamp\"] = this.timestamp ? this.timestamp.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfferLog {\r\n id?: string;\r\n offerId?: string;\r\n ip?: string | undefined;\r\n timestamp?: moment.Moment;\r\n}\r\n\r\nexport class Offer implements IOffer {\r\n id?: string;\r\n status?: number;\r\n pid?: string | undefined;\r\n mobile?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n ean?: string | undefined;\r\n consumption?: number | undefined;\r\n area?: number | undefined;\r\n possibleStartDate?: moment.Moment | undefined;\r\n email?: string | undefined;\r\n comparingMonth?: number | undefined;\r\n variablePriceRebel?: number | undefined;\r\n fixedPriceRebel?: number | undefined;\r\n variablePriceCompetitor?: number | undefined;\r\n fixedPriceCompetitor?: number | undefined;\r\n comparingCompetitor?: string | undefined;\r\n salesChannel?: Channel;\r\n contactChannel?: ContactChannel;\r\n createdOn?: moment.Moment;\r\n netArea?: string | undefined;\r\n club?: string | undefined;\r\n team?: string | undefined;\r\n housing?: Housing;\r\n customText?: string | undefined;\r\n negotiatePeriod?: NegotiatePeriod;\r\n advisor?: string | undefined;\r\n savings?: Savings;\r\n externalId?: string | undefined;\r\n unsubscribed?: boolean;\r\n logs?: OfferLog[] | undefined;\r\n orders?: Order[] | undefined;\r\n reminderSent?: moment.Moment | undefined;\r\n modifiedOn?: moment.Moment;\r\n\r\n constructor(data?: IOffer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.pid = _data[\"pid\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.city = _data[\"city\"];\r\n this.ean = _data[\"ean\"];\r\n this.consumption = _data[\"consumption\"];\r\n this.area = _data[\"area\"];\r\n this.possibleStartDate = _data[\"possibleStartDate\"] ? moment(_data[\"possibleStartDate\"].toString()) : undefined;\r\n this.email = _data[\"email\"];\r\n this.comparingMonth = _data[\"comparingMonth\"];\r\n this.variablePriceRebel = _data[\"variablePriceRebel\"];\r\n this.fixedPriceRebel = _data[\"fixedPriceRebel\"];\r\n this.variablePriceCompetitor = _data[\"variablePriceCompetitor\"];\r\n this.fixedPriceCompetitor = _data[\"fixedPriceCompetitor\"];\r\n this.comparingCompetitor = _data[\"comparingCompetitor\"];\r\n this.salesChannel = _data[\"salesChannel\"];\r\n this.contactChannel = _data[\"contactChannel\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.netArea = _data[\"netArea\"];\r\n this.club = _data[\"club\"];\r\n this.team = _data[\"team\"];\r\n this.housing = _data[\"housing\"];\r\n this.customText = _data[\"customText\"];\r\n this.negotiatePeriod = _data[\"negotiatePeriod\"];\r\n this.advisor = _data[\"advisor\"];\r\n this.savings = _data[\"savings\"] ? Savings.fromJS(_data[\"savings\"]) : undefined;\r\n this.externalId = _data[\"externalId\"];\r\n this.unsubscribed = _data[\"unsubscribed\"];\r\n if (Array.isArray(_data[\"logs\"])) {\r\n this.logs = [] as any;\r\n for (let item of _data[\"logs\"])\r\n this.logs!.push(OfferLog.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"orders\"])) {\r\n this.orders = [] as any;\r\n for (let item of _data[\"orders\"])\r\n this.orders!.push(Order.fromJS(item));\r\n }\r\n this.reminderSent = _data[\"reminderSent\"] ? moment(_data[\"reminderSent\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? moment(_data[\"modifiedOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Offer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Offer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"pid\"] = this.pid;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"city\"] = this.city;\r\n data[\"ean\"] = this.ean;\r\n data[\"consumption\"] = this.consumption;\r\n data[\"area\"] = this.area;\r\n data[\"possibleStartDate\"] = this.possibleStartDate ? this.possibleStartDate.toISOString() : undefined;\r\n data[\"email\"] = this.email;\r\n data[\"comparingMonth\"] = this.comparingMonth;\r\n data[\"variablePriceRebel\"] = this.variablePriceRebel;\r\n data[\"fixedPriceRebel\"] = this.fixedPriceRebel;\r\n data[\"variablePriceCompetitor\"] = this.variablePriceCompetitor;\r\n data[\"fixedPriceCompetitor\"] = this.fixedPriceCompetitor;\r\n data[\"comparingCompetitor\"] = this.comparingCompetitor;\r\n data[\"salesChannel\"] = this.salesChannel;\r\n data[\"contactChannel\"] = this.contactChannel;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"netArea\"] = this.netArea;\r\n data[\"club\"] = this.club;\r\n data[\"team\"] = this.team;\r\n data[\"housing\"] = this.housing;\r\n data[\"customText\"] = this.customText;\r\n data[\"negotiatePeriod\"] = this.negotiatePeriod;\r\n data[\"advisor\"] = this.advisor;\r\n data[\"savings\"] = this.savings ? this.savings.toJSON() : undefined;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"unsubscribed\"] = this.unsubscribed;\r\n if (Array.isArray(this.logs)) {\r\n data[\"logs\"] = [];\r\n for (let item of this.logs)\r\n data[\"logs\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.orders)) {\r\n data[\"orders\"] = [];\r\n for (let item of this.orders)\r\n data[\"orders\"].push(item.toJSON());\r\n }\r\n data[\"reminderSent\"] = this.reminderSent ? this.reminderSent.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOffer {\r\n id?: string;\r\n status?: number;\r\n pid?: string | undefined;\r\n mobile?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n zipCode?: string | undefined;\r\n city?: string | undefined;\r\n ean?: string | undefined;\r\n consumption?: number | undefined;\r\n area?: number | undefined;\r\n possibleStartDate?: moment.Moment | undefined;\r\n email?: string | undefined;\r\n comparingMonth?: number | undefined;\r\n variablePriceRebel?: number | undefined;\r\n fixedPriceRebel?: number | undefined;\r\n variablePriceCompetitor?: number | undefined;\r\n fixedPriceCompetitor?: number | undefined;\r\n comparingCompetitor?: string | undefined;\r\n salesChannel?: Channel;\r\n contactChannel?: ContactChannel;\r\n createdOn?: moment.Moment;\r\n netArea?: string | undefined;\r\n club?: string | undefined;\r\n team?: string | undefined;\r\n housing?: Housing;\r\n customText?: string | undefined;\r\n negotiatePeriod?: NegotiatePeriod;\r\n advisor?: string | undefined;\r\n savings?: Savings;\r\n externalId?: string | undefined;\r\n unsubscribed?: boolean;\r\n logs?: OfferLog[] | undefined;\r\n orders?: Order[] | undefined;\r\n reminderSent?: moment.Moment | undefined;\r\n modifiedOn?: moment.Moment;\r\n}\r\n\r\nexport class OrderStatus implements IOrderStatus {\r\n name?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n adress?: string | undefined;\r\n salesChannel?: string | undefined;\r\n startdate?: string | undefined;\r\n status?: string | undefined;\r\n statusText?: string | undefined;\r\n netOwner?: string | undefined;\r\n\r\n constructor(data?: IOrderStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.adress = _data[\"adress\"];\r\n this.salesChannel = _data[\"salesChannel\"];\r\n this.startdate = _data[\"startdate\"];\r\n this.status = _data[\"status\"];\r\n this.statusText = _data[\"statusText\"];\r\n this.netOwner = _data[\"netOwner\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OrderStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OrderStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"adress\"] = this.adress;\r\n data[\"salesChannel\"] = this.salesChannel;\r\n data[\"startdate\"] = this.startdate;\r\n data[\"status\"] = this.status;\r\n data[\"statusText\"] = this.statusText;\r\n data[\"netOwner\"] = this.netOwner;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrderStatus {\r\n name?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n adress?: string | undefined;\r\n salesChannel?: string | undefined;\r\n startdate?: string | undefined;\r\n status?: string | undefined;\r\n statusText?: string | undefined;\r\n netOwner?: string | undefined;\r\n}\r\n\r\nexport class PriceResponse implements IPriceResponse {\r\n consumtion?: number;\r\n month?: number;\r\n\r\n constructor(data?: IPriceResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.consumtion = _data[\"consumtion\"];\r\n this.month = _data[\"month\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"consumtion\"] = this.consumtion;\r\n data[\"month\"] = this.month;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceResponse {\r\n consumtion?: number;\r\n month?: number;\r\n}\r\n\r\nexport class AveragePrices implements IAveragePrices {\r\n price2000?: number;\r\n price5000?: number;\r\n price20000?: number;\r\n\r\n constructor(data?: IAveragePrices) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.price2000 = _data[\"price2000\"];\r\n this.price5000 = _data[\"price5000\"];\r\n this.price20000 = _data[\"price20000\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AveragePrices {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AveragePrices();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"price2000\"] = this.price2000;\r\n data[\"price5000\"] = this.price5000;\r\n data[\"price20000\"] = this.price20000;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAveragePrices {\r\n price2000?: number;\r\n price5000?: number;\r\n price20000?: number;\r\n}\r\n\r\nexport class SpotPrice implements ISpotPrice {\r\n fromDate?: moment.Moment;\r\n price?: number;\r\n priceSE1?: number;\r\n priceSE2?: number;\r\n priceSE3?: number;\r\n priceSE4?: number;\r\n priceCertificate?: number;\r\n priceEnvironment?: number;\r\n priceProfileCostSE1?: number;\r\n priceProfileCostSE2?: number;\r\n priceProfileCostSE3?: number;\r\n priceProfileCostSE4?: number;\r\n priceBalanceCost?: number;\r\n priceSupplierCost?: number;\r\n priceAdministrationCost?: number;\r\n\r\n constructor(data?: ISpotPrice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fromDate = _data[\"fromDate\"] ? moment(_data[\"fromDate\"].toString()) : undefined;\r\n this.price = _data[\"price\"];\r\n this.priceSE1 = _data[\"priceSE1\"];\r\n this.priceSE2 = _data[\"priceSE2\"];\r\n this.priceSE3 = _data[\"priceSE3\"];\r\n this.priceSE4 = _data[\"priceSE4\"];\r\n this.priceCertificate = _data[\"priceCertificate\"];\r\n this.priceEnvironment = _data[\"priceEnvironment\"];\r\n this.priceProfileCostSE1 = _data[\"priceProfileCostSE1\"];\r\n this.priceProfileCostSE2 = _data[\"priceProfileCostSE2\"];\r\n this.priceProfileCostSE3 = _data[\"priceProfileCostSE3\"];\r\n this.priceProfileCostSE4 = _data[\"priceProfileCostSE4\"];\r\n this.priceBalanceCost = _data[\"priceBalanceCost\"];\r\n this.priceSupplierCost = _data[\"priceSupplierCost\"];\r\n this.priceAdministrationCost = _data[\"priceAdministrationCost\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SpotPrice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SpotPrice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"price\"] = this.price;\r\n data[\"priceSE1\"] = this.priceSE1;\r\n data[\"priceSE2\"] = this.priceSE2;\r\n data[\"priceSE3\"] = this.priceSE3;\r\n data[\"priceSE4\"] = this.priceSE4;\r\n data[\"priceCertificate\"] = this.priceCertificate;\r\n data[\"priceEnvironment\"] = this.priceEnvironment;\r\n data[\"priceProfileCostSE1\"] = this.priceProfileCostSE1;\r\n data[\"priceProfileCostSE2\"] = this.priceProfileCostSE2;\r\n data[\"priceProfileCostSE3\"] = this.priceProfileCostSE3;\r\n data[\"priceProfileCostSE4\"] = this.priceProfileCostSE4;\r\n data[\"priceBalanceCost\"] = this.priceBalanceCost;\r\n data[\"priceSupplierCost\"] = this.priceSupplierCost;\r\n data[\"priceAdministrationCost\"] = this.priceAdministrationCost;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISpotPrice {\r\n fromDate?: moment.Moment;\r\n price?: number;\r\n priceSE1?: number;\r\n priceSE2?: number;\r\n priceSE3?: number;\r\n priceSE4?: number;\r\n priceCertificate?: number;\r\n priceEnvironment?: number;\r\n priceProfileCostSE1?: number;\r\n priceProfileCostSE2?: number;\r\n priceProfileCostSE3?: number;\r\n priceProfileCostSE4?: number;\r\n priceBalanceCost?: number;\r\n priceSupplierCost?: number;\r\n priceAdministrationCost?: number;\r\n}\r\n\r\nexport class ReportUserPermission implements IReportUserPermission {\r\n id?: string;\r\n userId?: string;\r\n agentId?: string | undefined;\r\n agent?: RealEstateAgentModel;\r\n officeId?: string | undefined;\r\n office?: RealEstateOfficeModel;\r\n chainId?: string | undefined;\r\n chain?: RealEstateChainModel;\r\n ownerId?: string | undefined;\r\n owner?: RealEstateChainOwner;\r\n\r\n constructor(data?: IReportUserPermission) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.agentId = _data[\"agentId\"];\r\n this.agent = _data[\"agent\"] ? RealEstateAgentModel.fromJS(_data[\"agent\"]) : undefined;\r\n this.officeId = _data[\"officeId\"];\r\n this.office = _data[\"office\"] ? RealEstateOfficeModel.fromJS(_data[\"office\"]) : undefined;\r\n this.chainId = _data[\"chainId\"];\r\n this.chain = _data[\"chain\"] ? RealEstateChainModel.fromJS(_data[\"chain\"]) : undefined;\r\n this.ownerId = _data[\"ownerId\"];\r\n this.owner = _data[\"owner\"] ? RealEstateChainOwner.fromJS(_data[\"owner\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportUserPermission {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportUserPermission();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"agentId\"] = this.agentId;\r\n data[\"agent\"] = this.agent ? this.agent.toJSON() : undefined;\r\n data[\"officeId\"] = this.officeId;\r\n data[\"office\"] = this.office ? this.office.toJSON() : undefined;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportUserPermission {\r\n id?: string;\r\n userId?: string;\r\n agentId?: string | undefined;\r\n agent?: RealEstateAgentModel;\r\n officeId?: string | undefined;\r\n office?: RealEstateOfficeModel;\r\n chainId?: string | undefined;\r\n chain?: RealEstateChainModel;\r\n ownerId?: string | undefined;\r\n owner?: RealEstateChainOwner;\r\n}\r\n\r\nexport class ReportUser implements IReportUser {\r\n id?: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n pid?: string | undefined;\r\n office?: RealEstateOfficeModel;\r\n chain?: RealEstateChainModel;\r\n owner?: RealEstateChainOwner;\r\n permissions?: ReportUserPermission[] | undefined;\r\n showElectricity?: boolean;\r\n showInsurance?: boolean;\r\n showMortgage?: boolean;\r\n showConversion?: boolean;\r\n showExecutiveReport?: boolean;\r\n showInsuranceSalesReport?: boolean;\r\n showMortgageSalesReport?: boolean;\r\n showElectricitySalesReport?: boolean;\r\n isAdmin?: boolean;\r\n\r\n constructor(data?: IReportUser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.pid = _data[\"pid\"];\r\n this.office = _data[\"office\"] ? RealEstateOfficeModel.fromJS(_data[\"office\"]) : undefined;\r\n this.chain = _data[\"chain\"] ? RealEstateChainModel.fromJS(_data[\"chain\"]) : undefined;\r\n this.owner = _data[\"owner\"] ? RealEstateChainOwner.fromJS(_data[\"owner\"]) : undefined;\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(ReportUserPermission.fromJS(item));\r\n }\r\n this.showElectricity = _data[\"showElectricity\"];\r\n this.showInsurance = _data[\"showInsurance\"];\r\n this.showMortgage = _data[\"showMortgage\"];\r\n this.showConversion = _data[\"showConversion\"];\r\n this.showExecutiveReport = _data[\"showExecutiveReport\"];\r\n this.showInsuranceSalesReport = _data[\"showInsuranceSalesReport\"];\r\n this.showMortgageSalesReport = _data[\"showMortgageSalesReport\"];\r\n this.showElectricitySalesReport = _data[\"showElectricitySalesReport\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportUser();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"pid\"] = this.pid;\r\n data[\"office\"] = this.office ? this.office.toJSON() : undefined;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item.toJSON());\r\n }\r\n data[\"showElectricity\"] = this.showElectricity;\r\n data[\"showInsurance\"] = this.showInsurance;\r\n data[\"showMortgage\"] = this.showMortgage;\r\n data[\"showConversion\"] = this.showConversion;\r\n data[\"showExecutiveReport\"] = this.showExecutiveReport;\r\n data[\"showInsuranceSalesReport\"] = this.showInsuranceSalesReport;\r\n data[\"showMortgageSalesReport\"] = this.showMortgageSalesReport;\r\n data[\"showElectricitySalesReport\"] = this.showElectricitySalesReport;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportUser {\r\n id?: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n pid?: string | undefined;\r\n office?: RealEstateOfficeModel;\r\n chain?: RealEstateChainModel;\r\n owner?: RealEstateChainOwner;\r\n permissions?: ReportUserPermission[] | undefined;\r\n showElectricity?: boolean;\r\n showInsurance?: boolean;\r\n showMortgage?: boolean;\r\n showConversion?: boolean;\r\n showExecutiveReport?: boolean;\r\n showInsuranceSalesReport?: boolean;\r\n showMortgageSalesReport?: boolean;\r\n showElectricitySalesReport?: boolean;\r\n isAdmin?: boolean;\r\n}\r\n\r\nexport class ReportResponseItem implements IReportResponseItem {\r\n id?: string | undefined;\r\n agent?: string | undefined;\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n salesMonth?: number;\r\n salesYear?: number;\r\n createdDate?: moment.Moment;\r\n propertyAdress?: string | undefined;\r\n\r\n constructor(data?: IReportResponseItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agent = _data[\"agent\"];\r\n this.chain = _data[\"chain\"];\r\n this.office = _data[\"office\"];\r\n this.officeAddress = _data[\"officeAddress\"];\r\n this.group = _data[\"group\"];\r\n this.salesDate = _data[\"salesDate\"] ? moment(_data[\"salesDate\"].toString()) : undefined;\r\n this.salesMonth = _data[\"salesMonth\"];\r\n this.salesYear = _data[\"salesYear\"];\r\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : undefined;\r\n this.propertyAdress = _data[\"propertyAdress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportResponseItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportResponseItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agent\"] = this.agent;\r\n data[\"chain\"] = this.chain;\r\n data[\"office\"] = this.office;\r\n data[\"officeAddress\"] = this.officeAddress;\r\n data[\"group\"] = this.group;\r\n data[\"salesDate\"] = this.salesDate ? this.salesDate.toISOString() : undefined;\r\n data[\"salesMonth\"] = this.salesMonth;\r\n data[\"salesYear\"] = this.salesYear;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"propertyAdress\"] = this.propertyAdress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportResponseItem {\r\n id?: string | undefined;\r\n agent?: string | undefined;\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n salesDate?: moment.Moment | undefined;\r\n salesMonth?: number;\r\n salesYear?: number;\r\n createdDate?: moment.Moment;\r\n propertyAdress?: string | undefined;\r\n}\r\n\r\nexport class ReportResponse implements IReportResponse {\r\n responseItems?: ReportResponseItem[] | undefined;\r\n\r\n constructor(data?: IReportResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"responseItems\"])) {\r\n this.responseItems = [] as any;\r\n for (let item of _data[\"responseItems\"])\r\n this.responseItems!.push(ReportResponseItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.responseItems)) {\r\n data[\"responseItems\"] = [];\r\n for (let item of this.responseItems)\r\n data[\"responseItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportResponse {\r\n responseItems?: ReportResponseItem[] | undefined;\r\n}\r\n\r\nexport class ConversionResponseItem implements IConversionResponseItem {\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n date?: string | undefined;\r\n totalSales?: number;\r\n orders?: number;\r\n\r\n constructor(data?: IConversionResponseItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chain = _data[\"chain\"];\r\n this.office = _data[\"office\"];\r\n this.officeAddress = _data[\"officeAddress\"];\r\n this.group = _data[\"group\"];\r\n this.date = _data[\"date\"];\r\n this.totalSales = _data[\"totalSales\"];\r\n this.orders = _data[\"orders\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConversionResponseItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConversionResponseItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chain\"] = this.chain;\r\n data[\"office\"] = this.office;\r\n data[\"officeAddress\"] = this.officeAddress;\r\n data[\"group\"] = this.group;\r\n data[\"date\"] = this.date;\r\n data[\"totalSales\"] = this.totalSales;\r\n data[\"orders\"] = this.orders;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConversionResponseItem {\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n date?: string | undefined;\r\n totalSales?: number;\r\n orders?: number;\r\n}\r\n\r\nexport class ExecutiveReportResponseItem implements IExecutiveReportResponseItem {\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n salesYTD?: number;\r\n ordersYTD?: number;\r\n salesThisMonth?: number;\r\n ordersThisMonth?: number;\r\n salesLastMonth?: number;\r\n ordersLastMonth?: number;\r\n\r\n constructor(data?: IExecutiveReportResponseItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chain = _data[\"chain\"];\r\n this.office = _data[\"office\"];\r\n this.officeAddress = _data[\"officeAddress\"];\r\n this.group = _data[\"group\"];\r\n this.salesYTD = _data[\"salesYTD\"];\r\n this.ordersYTD = _data[\"ordersYTD\"];\r\n this.salesThisMonth = _data[\"salesThisMonth\"];\r\n this.ordersThisMonth = _data[\"ordersThisMonth\"];\r\n this.salesLastMonth = _data[\"salesLastMonth\"];\r\n this.ordersLastMonth = _data[\"ordersLastMonth\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExecutiveReportResponseItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExecutiveReportResponseItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chain\"] = this.chain;\r\n data[\"office\"] = this.office;\r\n data[\"officeAddress\"] = this.officeAddress;\r\n data[\"group\"] = this.group;\r\n data[\"salesYTD\"] = this.salesYTD;\r\n data[\"ordersYTD\"] = this.ordersYTD;\r\n data[\"salesThisMonth\"] = this.salesThisMonth;\r\n data[\"ordersThisMonth\"] = this.ordersThisMonth;\r\n data[\"salesLastMonth\"] = this.salesLastMonth;\r\n data[\"ordersLastMonth\"] = this.ordersLastMonth;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExecutiveReportResponseItem {\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n salesYTD?: number;\r\n ordersYTD?: number;\r\n salesThisMonth?: number;\r\n ordersThisMonth?: number;\r\n salesLastMonth?: number;\r\n ordersLastMonth?: number;\r\n}\r\n\r\nexport class SalesResponseItem implements ISalesResponseItem {\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n date?: string | undefined;\r\n acceptedOrders?: number;\r\n rejectedOrders?: number;\r\n\r\n constructor(data?: ISalesResponseItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chain = _data[\"chain\"];\r\n this.office = _data[\"office\"];\r\n this.officeAddress = _data[\"officeAddress\"];\r\n this.group = _data[\"group\"];\r\n this.date = _data[\"date\"];\r\n this.acceptedOrders = _data[\"acceptedOrders\"];\r\n this.rejectedOrders = _data[\"rejectedOrders\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SalesResponseItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SalesResponseItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chain\"] = this.chain;\r\n data[\"office\"] = this.office;\r\n data[\"officeAddress\"] = this.officeAddress;\r\n data[\"group\"] = this.group;\r\n data[\"date\"] = this.date;\r\n data[\"acceptedOrders\"] = this.acceptedOrders;\r\n data[\"rejectedOrders\"] = this.rejectedOrders;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISalesResponseItem {\r\n chain?: string | undefined;\r\n office?: string | undefined;\r\n officeAddress?: string | undefined;\r\n group?: string | undefined;\r\n date?: string | undefined;\r\n acceptedOrders?: number;\r\n rejectedOrders?: number;\r\n}\r\n\r\nexport class ReportUserUpdate implements IReportUserUpdate {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n pid?: string | undefined;\r\n showElectricity?: boolean;\r\n showInsurance?: boolean;\r\n showMortgage?: boolean;\r\n showConversion?: boolean;\r\n showExecutiveReport?: boolean;\r\n showInsuranceSalesReport?: boolean;\r\n showMortgageSalesReport?: boolean;\r\n showElectricitySalesReport?: boolean;\r\n\r\n constructor(data?: IReportUserUpdate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.pid = _data[\"pid\"];\r\n this.showElectricity = _data[\"showElectricity\"];\r\n this.showInsurance = _data[\"showInsurance\"];\r\n this.showMortgage = _data[\"showMortgage\"];\r\n this.showConversion = _data[\"showConversion\"];\r\n this.showExecutiveReport = _data[\"showExecutiveReport\"];\r\n this.showInsuranceSalesReport = _data[\"showInsuranceSalesReport\"];\r\n this.showMortgageSalesReport = _data[\"showMortgageSalesReport\"];\r\n this.showElectricitySalesReport = _data[\"showElectricitySalesReport\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportUserUpdate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportUserUpdate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"pid\"] = this.pid;\r\n data[\"showElectricity\"] = this.showElectricity;\r\n data[\"showInsurance\"] = this.showInsurance;\r\n data[\"showMortgage\"] = this.showMortgage;\r\n data[\"showConversion\"] = this.showConversion;\r\n data[\"showExecutiveReport\"] = this.showExecutiveReport;\r\n data[\"showInsuranceSalesReport\"] = this.showInsuranceSalesReport;\r\n data[\"showMortgageSalesReport\"] = this.showMortgageSalesReport;\r\n data[\"showElectricitySalesReport\"] = this.showElectricitySalesReport;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportUserUpdate {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n pid?: string | undefined;\r\n showElectricity?: boolean;\r\n showInsurance?: boolean;\r\n showMortgage?: boolean;\r\n showConversion?: boolean;\r\n showExecutiveReport?: boolean;\r\n showInsuranceSalesReport?: boolean;\r\n showMortgageSalesReport?: boolean;\r\n showElectricitySalesReport?: boolean;\r\n}\r\n\r\nexport class ReportUserPermissionUpdate implements IReportUserPermissionUpdate {\r\n agentId?: string | undefined;\r\n officeId?: string | undefined;\r\n chainId?: string | undefined;\r\n ownerId?: string | undefined;\r\n\r\n constructor(data?: IReportUserPermissionUpdate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agentId = _data[\"agentId\"];\r\n this.officeId = _data[\"officeId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportUserPermissionUpdate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportUserPermissionUpdate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agentId\"] = this.agentId;\r\n data[\"officeId\"] = this.officeId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"ownerId\"] = this.ownerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportUserPermissionUpdate {\r\n agentId?: string | undefined;\r\n officeId?: string | undefined;\r\n chainId?: string | undefined;\r\n ownerId?: string | undefined;\r\n}\r\n\r\nexport class OfficeItem implements IOfficeItem {\r\n officeId?: string | undefined;\r\n office?: string | undefined;\r\n chain?: string | undefined;\r\n count?: number;\r\n\r\n constructor(data?: IOfficeItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.officeId = _data[\"officeId\"];\r\n this.office = _data[\"office\"];\r\n this.chain = _data[\"chain\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"officeId\"] = this.officeId;\r\n data[\"office\"] = this.office;\r\n data[\"chain\"] = this.chain;\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeItem {\r\n officeId?: string | undefined;\r\n office?: string | undefined;\r\n chain?: string | undefined;\r\n count?: number;\r\n}\r\n\r\nexport class HistoryItem implements IHistoryItem {\r\n monthIndex?: string | undefined;\r\n monthName?: string | undefined;\r\n count?: number;\r\n\r\n constructor(data?: IHistoryItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.monthIndex = _data[\"monthIndex\"];\r\n this.monthName = _data[\"monthName\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HistoryItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HistoryItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"monthIndex\"] = this.monthIndex;\r\n data[\"monthName\"] = this.monthName;\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHistoryItem {\r\n monthIndex?: string | undefined;\r\n monthName?: string | undefined;\r\n count?: number;\r\n}\r\n\r\nexport class AgentItem implements IAgentItem {\r\n agentId?: string | undefined;\r\n agent?: string | undefined;\r\n count?: number;\r\n office?: string | undefined;\r\n\r\n constructor(data?: IAgentItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agentId = _data[\"agentId\"];\r\n this.agent = _data[\"agent\"];\r\n this.count = _data[\"count\"];\r\n this.office = _data[\"office\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgentItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgentItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agentId\"] = this.agentId;\r\n data[\"agent\"] = this.agent;\r\n data[\"count\"] = this.count;\r\n data[\"office\"] = this.office;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgentItem {\r\n agentId?: string | undefined;\r\n agent?: string | undefined;\r\n count?: number;\r\n office?: string | undefined;\r\n}\r\n\r\nexport class Consumption implements IConsumption {\r\n propertyId?: string | undefined;\r\n year?: number;\r\n month?: number;\r\n amount?: number;\r\n date?: moment.Moment;\r\n startTime?: moment.Moment;\r\n endTime?: moment.Moment;\r\n\r\n constructor(data?: IConsumption) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.propertyId = _data[\"propertyId\"];\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.amount = _data[\"amount\"];\r\n this.date = _data[\"date\"] ? moment(_data[\"date\"].toString()) : undefined;\r\n this.startTime = _data[\"startTime\"] ? moment(_data[\"startTime\"].toString()) : undefined;\r\n this.endTime = _data[\"endTime\"] ? moment(_data[\"endTime\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Consumption {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Consumption();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"propertyId\"] = this.propertyId;\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"amount\"] = this.amount;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString() : undefined;\r\n data[\"endTime\"] = this.endTime ? this.endTime.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConsumption {\r\n propertyId?: string | undefined;\r\n year?: number;\r\n month?: number;\r\n amount?: number;\r\n date?: moment.Moment;\r\n startTime?: moment.Moment;\r\n endTime?: moment.Moment;\r\n}\r\n\r\nexport class FixedPrice implements IFixedPrice {\r\n price?: number;\r\n\r\n constructor(data?: IFixedPrice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.price = _data[\"price\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FixedPrice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FixedPrice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"price\"] = this.price;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFixedPrice {\r\n price?: number;\r\n}\r\n\r\nexport class VariablePrice implements IVariablePrice {\r\n startDate?: moment.Moment;\r\n price?: number;\r\n complete?: boolean;\r\n\r\n constructor(data?: IVariablePrice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.price = _data[\"price\"];\r\n this.complete = _data[\"complete\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VariablePrice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VariablePrice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"price\"] = this.price;\r\n data[\"complete\"] = this.complete;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVariablePrice {\r\n startDate?: moment.Moment;\r\n price?: number;\r\n complete?: boolean;\r\n}\r\n\r\nexport enum EstimatedMonthSource {\r\n HOURS = \"HOURS\",\r\n MONTH = \"MONTH\",\r\n HISTORIC_MONTH = \"HISTORIC_MONTH\",\r\n PLANNED = \"PLANNED\",\r\n CALCULATED = \"CALCULATED\",\r\n}\r\n\r\nexport class EstimatedMonth implements IEstimatedMonth {\r\n currentConsumption?: number;\r\n estimatedConsumption?: number;\r\n currentCost?: number;\r\n estimatedCost?: number;\r\n estimatedPrice?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n deliveryId?: string;\r\n complete?: boolean;\r\n source?: EstimatedMonthSource;\r\n\r\n constructor(data?: IEstimatedMonth) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentConsumption = _data[\"currentConsumption\"];\r\n this.estimatedConsumption = _data[\"estimatedConsumption\"];\r\n this.currentCost = _data[\"currentCost\"];\r\n this.estimatedCost = _data[\"estimatedCost\"];\r\n this.estimatedPrice = _data[\"estimatedPrice\"];\r\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\r\n this.deliveryId = _data[\"deliveryId\"];\r\n this.complete = _data[\"complete\"];\r\n this.source = _data[\"source\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EstimatedMonth {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EstimatedMonth();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentConsumption\"] = this.currentConsumption;\r\n data[\"estimatedConsumption\"] = this.estimatedConsumption;\r\n data[\"currentCost\"] = this.currentCost;\r\n data[\"estimatedCost\"] = this.estimatedCost;\r\n data[\"estimatedPrice\"] = this.estimatedPrice;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"deliveryId\"] = this.deliveryId;\r\n data[\"complete\"] = this.complete;\r\n data[\"source\"] = this.source;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEstimatedMonth {\r\n currentConsumption?: number;\r\n estimatedConsumption?: number;\r\n currentCost?: number;\r\n estimatedCost?: number;\r\n estimatedPrice?: number;\r\n startDate?: moment.Moment;\r\n endDate?: moment.Moment | undefined;\r\n deliveryId?: string;\r\n complete?: boolean;\r\n source?: EstimatedMonthSource;\r\n}\r\n\r\nexport class EstimationItem implements IEstimationItem {\r\n id?: string;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n consumption?: number;\r\n hours?: number;\r\n sortIndex?: number;\r\n icon?: string | undefined;\r\n\r\n constructor(data?: IEstimationItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.consumption = _data[\"consumption\"];\r\n this.hours = _data[\"hours\"];\r\n this.sortIndex = _data[\"sortIndex\"];\r\n this.icon = _data[\"icon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EstimationItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EstimationItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"consumption\"] = this.consumption;\r\n data[\"hours\"] = this.hours;\r\n data[\"sortIndex\"] = this.sortIndex;\r\n data[\"icon\"] = this.icon;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEstimationItem {\r\n id?: string;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n consumption?: number;\r\n hours?: number;\r\n sortIndex?: number;\r\n icon?: string | undefined;\r\n}\r\n\r\nexport enum BillogramStatus {\r\n DRAFT = \"DRAFT\",\r\n UNPAID = \"UNPAID\",\r\n PAID = \"PAID\",\r\n ENDED = \"ENDED\",\r\n SCHEDULED = \"SCHEDULED\",\r\n}\r\n\r\nexport class Billogram implements IBillogram {\r\n id?: string | undefined;\r\n totalSum?: number;\r\n remainingSum?: number;\r\n invoiceDate?: moment.Moment;\r\n url?: string | undefined;\r\n status?: BillogramStatus;\r\n\r\n constructor(data?: IBillogram) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.totalSum = _data[\"totalSum\"];\r\n this.remainingSum = _data[\"remainingSum\"];\r\n this.invoiceDate = _data[\"invoiceDate\"] ? moment(_data[\"invoiceDate\"].toString()) : undefined;\r\n this.url = _data[\"url\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Billogram {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Billogram();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"totalSum\"] = this.totalSum;\r\n data[\"remainingSum\"] = this.remainingSum;\r\n data[\"invoiceDate\"] = this.invoiceDate ? this.invoiceDate.toISOString() : undefined;\r\n data[\"url\"] = this.url;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBillogram {\r\n id?: string | undefined;\r\n totalSum?: number;\r\n remainingSum?: number;\r\n invoiceDate?: moment.Moment;\r\n url?: string | undefined;\r\n status?: BillogramStatus;\r\n}\r\n\r\nexport enum DevicePlatform {\r\n IOS = \"IOS\",\r\n ANDROID = \"ANDROID\",\r\n}\r\n\r\nexport class Device implements IDevice {\r\n id?: string | undefined;\r\n platform?: DevicePlatform;\r\n token?: string | undefined;\r\n\r\n constructor(data?: IDevice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.platform = _data[\"platform\"];\r\n this.token = _data[\"token\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Device {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Device();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"platform\"] = this.platform;\r\n data[\"token\"] = this.token;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDevice {\r\n id?: string | undefined;\r\n platform?: DevicePlatform;\r\n token?: string | undefined;\r\n}\r\n\r\nexport class NotificationRequest implements INotificationRequest {\r\n text?: string | undefined;\r\n title?: string | undefined;\r\n action?: string | undefined;\r\n silent?: boolean;\r\n tag?: string | undefined;\r\n data?: { [key: string]: string; } | undefined;\r\n\r\n constructor(data?: INotificationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.title = _data[\"title\"];\r\n this.action = _data[\"action\"];\r\n this.silent = _data[\"silent\"];\r\n this.tag = _data[\"tag\"];\r\n if (_data[\"data\"]) {\r\n this.data = {} as any;\r\n for (let key in _data[\"data\"]) {\r\n if (_data[\"data\"].hasOwnProperty(key))\r\n (this.data)![key] = _data[\"data\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"title\"] = this.title;\r\n data[\"action\"] = this.action;\r\n data[\"silent\"] = this.silent;\r\n data[\"tag\"] = this.tag;\r\n if (this.data) {\r\n data[\"data\"] = {};\r\n for (let key in this.data) {\r\n if (this.data.hasOwnProperty(key))\r\n (data[\"data\"])[key] = this.data[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationRequest {\r\n text?: string | undefined;\r\n title?: string | undefined;\r\n action?: string | undefined;\r\n silent?: boolean;\r\n tag?: string | undefined;\r\n data?: { [key: string]: string; } | undefined;\r\n}\r\n\r\nexport class RegistrationDescription implements IRegistrationDescription {\r\n eTag?: string | undefined;\r\n expirationTime?: moment.Moment | undefined;\r\n registrationId?: string | undefined;\r\n tags?: string | undefined;\r\n pushVariables?: string | undefined;\r\n\r\n constructor(data?: IRegistrationDescription) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.eTag = _data[\"ETag\"];\r\n this.expirationTime = _data[\"ExpirationTime\"] ? moment(_data[\"ExpirationTime\"].toString()) : undefined;\r\n this.registrationId = _data[\"RegistrationId\"];\r\n this.tags = _data[\"Tags\"];\r\n this.pushVariables = _data[\"PushVariables\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegistrationDescription {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegistrationDescription();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ETag\"] = this.eTag;\r\n data[\"ExpirationTime\"] = this.expirationTime ? this.expirationTime.toISOString() : undefined;\r\n data[\"RegistrationId\"] = this.registrationId;\r\n data[\"Tags\"] = this.tags;\r\n data[\"PushVariables\"] = this.pushVariables;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRegistrationDescription {\r\n eTag?: string | undefined;\r\n expirationTime?: moment.Moment | undefined;\r\n registrationId?: string | undefined;\r\n tags?: string | undefined;\r\n pushVariables?: string | undefined;\r\n}\r\n\r\nexport class VitecOrderTicket implements IVitecOrderTicket {\r\n orderId?: string | undefined;\r\n userId?: string | undefined;\r\n orderUserId?: string | undefined;\r\n targetId?: string | undefined;\r\n targetType?: string | undefined;\r\n tenantId?: string | undefined;\r\n chainId?: string | undefined;\r\n customerId?: string | undefined;\r\n hasExpired?: boolean;\r\n\r\n constructor(data?: IVitecOrderTicket) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.orderId = _data[\"orderId\"];\r\n this.userId = _data[\"userId\"];\r\n this.orderUserId = _data[\"orderUserId\"];\r\n this.targetId = _data[\"targetId\"];\r\n this.targetType = _data[\"targetType\"];\r\n this.tenantId = _data[\"tenantId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.hasExpired = _data[\"hasExpired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VitecOrderTicket {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VitecOrderTicket();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"orderId\"] = this.orderId;\r\n data[\"userId\"] = this.userId;\r\n data[\"orderUserId\"] = this.orderUserId;\r\n data[\"targetId\"] = this.targetId;\r\n data[\"targetType\"] = this.targetType;\r\n data[\"tenantId\"] = this.tenantId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"hasExpired\"] = this.hasExpired;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVitecOrderTicket {\r\n orderId?: string | undefined;\r\n userId?: string | undefined;\r\n orderUserId?: string | undefined;\r\n targetId?: string | undefined;\r\n targetType?: string | undefined;\r\n tenantId?: string | undefined;\r\n chainId?: string | undefined;\r\n customerId?: string | undefined;\r\n hasExpired?: boolean;\r\n}\r\n\r\nexport class VitecUserDbModel implements IVitecUserDbModel {\r\n id?: string;\r\n userId?: string | undefined;\r\n name?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n mobile?: string | undefined;\r\n chainId?: string;\r\n chain?: RealEstateChainModel;\r\n\r\n constructor(data?: IVitecUserDbModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.name = _data[\"name\"];\r\n this.title = _data[\"title\"];\r\n this.email = _data[\"email\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.chain = _data[\"chain\"] ? RealEstateChainModel.fromJS(_data[\"chain\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): VitecUserDbModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VitecUserDbModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"name\"] = this.name;\r\n data[\"title\"] = this.title;\r\n data[\"email\"] = this.email;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVitecUserDbModel {\r\n id?: string;\r\n userId?: string | undefined;\r\n name?: string | undefined;\r\n title?: string | undefined;\r\n email?: string | undefined;\r\n mobile?: string | undefined;\r\n chainId?: string;\r\n chain?: RealEstateChainModel;\r\n}\r\n\r\nexport class VitecOrder implements IVitecOrder {\r\n token?: string | undefined;\r\n customerId?: string | undefined;\r\n ticket?: VitecOrderTicket;\r\n vitecUserId?: string | undefined;\r\n vitecUser?: VitecUserDbModel;\r\n vitecResponsibleUserId?: string | undefined;\r\n vitecResponsibleUser?: VitecUserDbModel;\r\n vitecFileIds?: string[] | undefined;\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n updatedOn?: moment.Moment;\r\n status?: RealEstateOrderStatus;\r\n addOns?: AddOn[] | undefined;\r\n contractMethod?: RealEstateOrderContractMethod;\r\n comment?: string | undefined;\r\n realEstateObjectId?: string | undefined;\r\n realEstateObject?: RealEstateObjectDbModel;\r\n easyFileIds?: string[] | undefined;\r\n easyCaseId?: string | undefined;\r\n rebelOrderId?: number | undefined;\r\n readonly auditEntityId?: string | undefined;\r\n\r\n constructor(data?: IVitecOrder) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.token = _data[\"token\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.ticket = _data[\"ticket\"] ? VitecOrderTicket.fromJS(_data[\"ticket\"]) : undefined;\r\n this.vitecUserId = _data[\"vitecUserId\"];\r\n this.vitecUser = _data[\"vitecUser\"] ? VitecUserDbModel.fromJS(_data[\"vitecUser\"]) : undefined;\r\n this.vitecResponsibleUserId = _data[\"vitecResponsibleUserId\"];\r\n this.vitecResponsibleUser = _data[\"vitecResponsibleUser\"] ? VitecUserDbModel.fromJS(_data[\"vitecResponsibleUser\"]) : undefined;\r\n if (Array.isArray(_data[\"vitecFileIds\"])) {\r\n this.vitecFileIds = [] as any;\r\n for (let item of _data[\"vitecFileIds\"])\r\n this.vitecFileIds!.push(item);\r\n }\r\n this.id = _data[\"id\"];\r\n this.createdOn = _data[\"createdOn\"] ? moment(_data[\"createdOn\"].toString()) : undefined;\r\n this.updatedOn = _data[\"updatedOn\"] ? moment(_data[\"updatedOn\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n if (Array.isArray(_data[\"addOns\"])) {\r\n this.addOns = [] as any;\r\n for (let item of _data[\"addOns\"])\r\n this.addOns!.push(item);\r\n }\r\n this.contractMethod = _data[\"contractMethod\"];\r\n this.comment = _data[\"comment\"];\r\n this.realEstateObjectId = _data[\"realEstateObjectId\"];\r\n this.realEstateObject = _data[\"realEstateObject\"] ? RealEstateObjectDbModel.fromJS(_data[\"realEstateObject\"]) : undefined;\r\n if (Array.isArray(_data[\"easyFileIds\"])) {\r\n this.easyFileIds = [] as any;\r\n for (let item of _data[\"easyFileIds\"])\r\n this.easyFileIds!.push(item);\r\n }\r\n this.easyCaseId = _data[\"easyCaseId\"];\r\n this.rebelOrderId = _data[\"rebelOrderId\"];\r\n (this).auditEntityId = _data[\"auditEntityId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VitecOrder {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VitecOrder();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"token\"] = this.token;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"ticket\"] = this.ticket ? this.ticket.toJSON() : undefined;\r\n data[\"vitecUserId\"] = this.vitecUserId;\r\n data[\"vitecUser\"] = this.vitecUser ? this.vitecUser.toJSON() : undefined;\r\n data[\"vitecResponsibleUserId\"] = this.vitecResponsibleUserId;\r\n data[\"vitecResponsibleUser\"] = this.vitecResponsibleUser ? this.vitecResponsibleUser.toJSON() : undefined;\r\n if (Array.isArray(this.vitecFileIds)) {\r\n data[\"vitecFileIds\"] = [];\r\n for (let item of this.vitecFileIds)\r\n data[\"vitecFileIds\"].push(item);\r\n }\r\n data[\"id\"] = this.id;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n if (Array.isArray(this.addOns)) {\r\n data[\"addOns\"] = [];\r\n for (let item of this.addOns)\r\n data[\"addOns\"].push(item);\r\n }\r\n data[\"contractMethod\"] = this.contractMethod;\r\n data[\"comment\"] = this.comment;\r\n data[\"realEstateObjectId\"] = this.realEstateObjectId;\r\n data[\"realEstateObject\"] = this.realEstateObject ? this.realEstateObject.toJSON() : undefined;\r\n if (Array.isArray(this.easyFileIds)) {\r\n data[\"easyFileIds\"] = [];\r\n for (let item of this.easyFileIds)\r\n data[\"easyFileIds\"].push(item);\r\n }\r\n data[\"easyCaseId\"] = this.easyCaseId;\r\n data[\"rebelOrderId\"] = this.rebelOrderId;\r\n data[\"auditEntityId\"] = this.auditEntityId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVitecOrder {\r\n token?: string | undefined;\r\n customerId?: string | undefined;\r\n ticket?: VitecOrderTicket;\r\n vitecUserId?: string | undefined;\r\n vitecUser?: VitecUserDbModel;\r\n vitecResponsibleUserId?: string | undefined;\r\n vitecResponsibleUser?: VitecUserDbModel;\r\n vitecFileIds?: string[] | undefined;\r\n id?: string;\r\n createdOn?: moment.Moment;\r\n updatedOn?: moment.Moment;\r\n status?: RealEstateOrderStatus;\r\n addOns?: AddOn[] | undefined;\r\n contractMethod?: RealEstateOrderContractMethod;\r\n comment?: string | undefined;\r\n realEstateObjectId?: string | undefined;\r\n realEstateObject?: RealEstateObjectDbModel;\r\n easyFileIds?: string[] | undefined;\r\n easyCaseId?: string | undefined;\r\n rebelOrderId?: number | undefined;\r\n auditEntityId?: string | undefined;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\ndeclare var ClientConfig: Config;","import * as React from \"react\";\r\n\r\ninterface Props {\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\nclass Spinner extends React.PureComponent {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Spinner;\r\n","import * as React from \"react\";\r\nimport { User, Customer, Elavtal, SelfServiceClient } from \"../api/ApiClient\";\r\n\r\nconst context = \"userContext.\";\r\nexport const UserContextContants = {\r\n tokenStorage: context + \"token\",\r\n userStorage: context + \"user\",\r\n customerStorage: context + \"customer\",\r\n elavtalStorage: context + \"elavtal\",\r\n currentElavtalStorage: context + \"currentElavtal\"\r\n};\r\n\r\nexport interface UserContextModel {\r\n token: string;\r\n user: User;\r\n customer: Customer;\r\n elavtal: Elavtal[];\r\n currentElavtal: Elavtal;\r\n\r\n getClient(): SelfServiceClient;\r\n\r\n setToken(token: string): void;\r\n setUser(user: User): void;\r\n setCustomer(customer: Customer): void;\r\n setElavtal(elavtal: Elavtal[]): void;\r\n setCurrentElavtal(elavtal: Elavtal): void;\r\n clear(): void;\r\n}\r\n\r\nexport const UserContext = React.createContext(undefined);\r\n","import Formsy from \"formsy-react\";\r\nimport * as React from \"react\";\r\nimport { isIOS, isMobile } from \"react-device-detect\";\r\nimport {\r\n AuthenticationClient,\r\n CollectStatus,\r\n StatusResponse,\r\n} from \"../api/ApiClient\";\r\nimport Spinner from \"../components/Spinner\";\r\nimport { UserContext } from \"../context/UserContext\";\r\nimport { parseQueryString } from \"../services/QueryString\";\r\n\r\ninterface Props {\r\n signedOut: boolean;\r\n onCompleted: (response: StatusResponse) => void;\r\n}\r\ninterface State {\r\n valid: boolean;\r\n message: string;\r\n posting: boolean;\r\n autoLaunch: boolean;\r\n link?: string;\r\n orderRef: string;\r\n qrCodeBase64?: string;\r\n qrState?: string;\r\n collectStatus?: CollectStatus;\r\n}\r\n\r\nexport class SignIn extends React.Component {\r\n private readonly orderRefSessionStorageKey = \"rebel.orderRefbankid.\";\r\n public readonly state: Readonly = {\r\n valid: false,\r\n message: null,\r\n posting: !!sessionStorage.getItem(this.orderRefSessionStorageKey),\r\n autoLaunch: isMobile,\r\n orderRef: null,\r\n };\r\n\r\n private errorCount = 0;\r\n\r\n private formRef: React.RefObject = React.createRef();\r\n private readonly authenticationClient: AuthenticationClient =\r\n new AuthenticationClient();\r\n\r\n static contextType = UserContext;\r\n context!: React.ContextType;\r\n\r\n private posting: boolean = !!sessionStorage.getItem(\r\n this.orderRefSessionStorageKey\r\n );\r\n\r\n componentDidMount() {\r\n let params = parseQueryString(window.location.search);\r\n\r\n let orderRef =\r\n (params && params.get(\"orderRef\")) ||\r\n sessionStorage.getItem(this.orderRefSessionStorageKey);\r\n\r\n if (orderRef) {\r\n console.debug(\"Found orderRef on mount\", orderRef);\r\n this.posting = true;\r\n this.setState({ posting: true, orderRef });\r\n this.checkStatus(orderRef);\r\n sessionStorage.removeItem(this.orderRefSessionStorageKey);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {isMobile && this.state.autoLaunch && (\r\n
\r\n
\r\n \r\n {!this.state.posting ? (\r\n \r\n {this.state.posting ? \"Loggar in...\" : \"Logga in\"}\r\n \r\n ) : (\r\n \r\n )}\r\n {this.state.link && (\r\n <>\r\n \r\n Öppna BankID\r\n \r\n \r\n )}\r\n {this.state.message ?

{this.state.message}

: null}\r\n
\r\n {!this.state.posting && (\r\n \r\n Logga in från en annan enhet\r\n \r\n )}\r\n
\r\n )}\r\n {!this.state.autoLaunch && (\r\n
\r\n
\r\n \r\n {!this.state.posting ? (\r\n <>\r\n {this.state.qrCodeBase64 ? (\r\n \r\n ) : null}\r\n \r\n ) : (\r\n \r\n )}\r\n {this.state.message ?

{this.state.message}

: null}\r\n {!this.state.posting && !this.state.qrCodeBase64 ? (\r\n \r\n {this.state.collectStatus == CollectStatus.Failed\r\n ? \"Försök igen\"\r\n : \"Starta inloggning\"}\r\n \r\n ) : null}\r\n
\r\n {isMobile && !this.state.posting && (\r\n \r\n Logga in med Mobilt BankID på den här enheten\r\n \r\n )}\r\n
\r\n )}\r\n \r\n );\r\n }\r\n\r\n onValidForm = () => {\r\n this.setState({\r\n valid: true,\r\n });\r\n };\r\n\r\n onInvalidForm = () => {\r\n this.setState({\r\n valid: false,\r\n });\r\n };\r\n\r\n toogleAutoLaunch = () => {\r\n this.setState({ autoLaunch: !this.state.autoLaunch, message: \"\" });\r\n };\r\n\r\n initiate = async () => {\r\n if (this.posting) {\r\n return;\r\n }\r\n this.posting = true;\r\n this.errorCount = 0;\r\n\r\n this.setState({\r\n posting: true,\r\n message: \"Startar BankId-inloggning\",\r\n link: null,\r\n collectStatus: CollectStatus.Pending,\r\n });\r\n try {\r\n let response = await this.authenticationClient.initiate();\r\n console.debug(\"Got initiated response\", response, this.state.autoLaunch);\r\n if (this.state.autoLaunch) {\r\n let link =\r\n (isIOS ? \"https://app.bankid.com/\" : \"bankid:///\") +\r\n \"?autostarttoken=\" +\r\n response.autoStartToken +\r\n \"&redirect=null\";\r\n\r\n if (isIOS) {\r\n sessionStorage.setItem(\r\n this.orderRefSessionStorageKey,\r\n response.orderRef\r\n );\r\n this.setState({ link });\r\n } else {\r\n window.location.href = link;\r\n }\r\n } else {\r\n console.debug(\"Stored qr state\", {\r\n qrCodeBase64: response.qrCodeBase64Encoded,\r\n qrState: response.state,\r\n });\r\n this.setState({\r\n qrCodeBase64: response.qrCodeBase64Encoded,\r\n qrState: response.state,\r\n message: \"Starta BankID-appen\",\r\n posting: false,\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n this.checkStatus(response.orderRef);\r\n }, 500);\r\n } catch (error) {\r\n console.error(\"Signin initiation failed\", error);\r\n this.posting = false;\r\n this.setState({\r\n posting: false,\r\n qrCodeBase64: null,\r\n message: \"Någonting oväntat hände, var vänlig försök igen.\",\r\n link: null,\r\n });\r\n }\r\n };\r\n\r\n checkStatus = async (orderRef: string) => {\r\n try {\r\n let response = await this.authenticationClient.status(\r\n orderRef,\r\n this.state.autoLaunch ? \"\" : this.state.qrState\r\n );\r\n sessionStorage.removeItem(this.orderRefSessionStorageKey);\r\n console.debug(\"Got login status response\", response, orderRef);\r\n\r\n this.setState({ collectStatus: response.status });\r\n switch (response.status) {\r\n case CollectStatus.Pending: {\r\n this.setState({\r\n message: response.message,\r\n qrCodeBase64: response.qrCodeBase64Encoded,\r\n });\r\n setTimeout(() => {\r\n this.checkStatus(orderRef);\r\n }, 2000);\r\n break;\r\n }\r\n case CollectStatus.Failed: {\r\n this.posting = false;\r\n this.setState({\r\n message: response.message,\r\n posting: false,\r\n qrCodeBase64: null,\r\n link: null,\r\n });\r\n break;\r\n }\r\n case CollectStatus.Complete: {\r\n this.props.onCompleted(response);\r\n break;\r\n }\r\n default: {\r\n this.posting = false;\r\n this.setState({\r\n message:\r\n response.message ||\r\n \"Någonting oväntat hände, var vänlig försök igen.\",\r\n posting: false,\r\n qrCodeBase64: null,\r\n link: null,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n if (this.errorCount > 1) {\r\n sessionStorage.removeItem(this.orderRefSessionStorageKey);\r\n console.error(\"Signin status failed\", error);\r\n this.posting = false;\r\n this.setState({\r\n message: \"Någonting oväntat hände, var vänlig försök igen\",\r\n posting: false,\r\n qrCodeBase64: null,\r\n link: null,\r\n });\r\n } else {\r\n this.errorCount++;\r\n console.debug(\"Got error check status\", error, this.errorCount);\r\n setTimeout(() => {\r\n this.checkStatus(orderRef);\r\n }, 2000);\r\n }\r\n }\r\n };\r\n}\r\n","export function parseQueryString(input: string): Map {\r\n let result = new Map();\r\n\r\n if (typeof input !== \"string\") {\r\n return result;\r\n }\r\n\r\n input = input.trim().replace(/^[?#&]/, \"\");\r\n\r\n for (const param of input.split(\"&\")) {\r\n let [key, value] = param.split(\"=\");\r\n\r\n if (key) {\r\n value = value === undefined ? null : decodeURIComponent(value);\r\n result.set(decodeURIComponent(key), value);\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n","import {\r\n AddOn,\r\n AvyInvoiceStatus,\r\n Elavtalsstatus,\r\n InvoiceDeliveryMethod,\r\n InvoiceStatus,\r\n PaymentStatus,\r\n} from \"../api/ApiClient\";\r\n\r\nexport function thousandSeparator(value: number) {\r\n return value.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1 \");\r\n}\r\n\r\nexport const addonToString = (addon: AddOn) => {\r\n switch (addon) {\r\n case AddOn.Electricity:\r\n return \"El\";\r\n case AddOn.Insurance:\r\n return \"Försäkring\";\r\n case AddOn.Mortgage:\r\n return \"Bolån\";\r\n default:\r\n return \"Okänd tilläggsprodukt\";\r\n }\r\n};\r\n\r\nexport const invoiceStatusToString = (status: InvoiceStatus) => {\r\n switch (status) {\r\n case InvoiceStatus.NEW:\r\n return \"Ny\";\r\n case InvoiceStatus.SENDING:\r\n return \"Skickar...\";\r\n case InvoiceStatus.SENT:\r\n return \"Skickad\";\r\n default:\r\n return \"Okänd status\";\r\n }\r\n};\r\n\r\nexport const avyInvoiceStatusToString = (status: AvyInvoiceStatus) => {\r\n switch (status) {\r\n case AvyInvoiceStatus.OK:\r\n return \"Skapad\";\r\n case AvyInvoiceStatus.FAILED:\r\n return \"Fel\";\r\n case AvyInvoiceStatus.MISSING:\r\n return \"Ej skickad\";\r\n case AvyInvoiceStatus.SENDING:\r\n return \"Skickar...\";\r\n default:\r\n return \"Ej skickad\";\r\n }\r\n};\r\n\r\nexport const paymentStatusToString = (status: PaymentStatus): string => {\r\n switch (status) {\r\n case PaymentStatus.UNPAID:\r\n return \"Obetald\";\r\n case PaymentStatus.PAID:\r\n return \"Betald\";\r\n case PaymentStatus.ENDED:\r\n return \"Avslutad\";\r\n case PaymentStatus.CREDITED:\r\n return \"Krediterad\";\r\n case PaymentStatus.DELETED:\r\n return \"Makulerad\";\r\n case PaymentStatus.CONFIRMED_LOSS:\r\n return \"Konstaterad kundförlust\";\r\n default:\r\n return \"Okänd status\";\r\n }\r\n};\r\n\r\nexport const invoiceDeliveryMethodToString = (\r\n method: InvoiceDeliveryMethod\r\n): string => {\r\n switch (method) {\r\n case InvoiceDeliveryMethod.DO_NOT_NOTIFY:\r\n return \"Ingen notifiering\";\r\n case InvoiceDeliveryMethod.EDI:\r\n return \"EDI\";\r\n case InvoiceDeliveryMethod.DYNAMICDISTRIBUTION:\r\n return \"Dynamisk\";\r\n case InvoiceDeliveryMethod.EINVOICE:\r\n return \"E-faktura\";\r\n case InvoiceDeliveryMethod.LETTER:\r\n return \"Brev\";\r\n case InvoiceDeliveryMethod.MAIL:\r\n return \"Epost\";\r\n case InvoiceDeliveryMethod.SMS:\r\n return \"SMS\";\r\n default:\r\n return \"Okänd leveransmetod\";\r\n }\r\n};\r\n\r\nexport const deliveryStatusToString = (status: Elavtalsstatus): string => {\r\n switch (status) {\r\n case Elavtalsstatus.Ny:\r\n return \"Ny\";\r\n case Elavtalsstatus.FullmaktUppskjuten:\r\n return \"Fullmakt uppskjuten\";\r\n case Elavtalsstatus.KlarForFullmakt:\r\n return \"Klar för fullmakt\";\r\n case Elavtalsstatus.KlarForLevbyte:\r\n return \"Klar för leverantörsbyte\";\r\n case Elavtalsstatus.KompletteringPagar:\r\n return \"Komplettering pågår\";\r\n case Elavtalsstatus.FullmaktPagar:\r\n return \"Fullmakt pågår\";\r\n case Elavtalsstatus.LeveransPagar:\r\n return \"Leverans pågår\";\r\n case Elavtalsstatus.LevbytePagar:\r\n return \"Leverantörsbyte pågår\";\r\n case Elavtalsstatus.LevbyteKlart:\r\n return \"Leverantörsbyte klart\";\r\n case Elavtalsstatus.Avbruten:\r\n return \"Avbruten\";\r\n case Elavtalsstatus.KlarForKomplettering:\r\n return \"Klar för komplettering\";\r\n case Elavtalsstatus.KlarForAvtalsService:\r\n return \"Klar för avtalsservice\";\r\n case Elavtalsstatus.AvtalsServicePagar:\r\n return \"Avtalsservice pågår\";\r\n case Elavtalsstatus.KlarForLevFullmakt:\r\n return \"Klar för levfullmakt\";\r\n case Elavtalsstatus.LevFullmaktPagar:\r\n return \"Leverantörsfullmakt pågår\";\r\n case Elavtalsstatus.LeveransAvslutad:\r\n return \"Leverans avslutad\";\r\n default:\r\n return \"Okänd\";\r\n }\r\n};\r\n","import * as React from \"react\";\r\n\r\n\r\n\r\nexport default class ConsumptionComparisonModal extends React.PureComponent {\r\n\r\n\r\n render() {\r\n \r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n

Ett sätt att jämföra din elförbrukning

\r\n

Den normala förbrukningen och elkostnaden beror på många faktorer men en av de viktigaste är om du bor i lägenhet eller villa.

\r\n \r\n

Vad är en normal förbrukning för en lägenhet

\r\n

En normal årlig energiförbrukning för en mindre lägenhet, som en etta eller en mindre tvåa är i genomsnitt 2000 kWh per år och för en större bostad är förbrukningen i genomsnitt 5000 kWh per år.

\r\n \r\n

Vad är en normal förbrukning för en villa

\r\n

En genomsnittlig villa i Sverige förbrukar ungefär 20 000 kWh per år, men detta kan variera beroende på husets storlek, uppvärmningssystem och hushållets vanor. Om du har fjärrvärme eller värmer huset och vattnet på något annat sätt än med el är en normal årlig elförbrukning ca 5000 kWh.

\r\n \r\n

Källa: Konsumenternas Energimarknadsbyrå

\r\n \r\n \r\n \r\n Stäng\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n","import Chart from \"chart.js\";\r\nimport Moment from \"moment\";\r\nimport * as React from \"react\";\r\nimport { UserContext } from \"../context/UserContext\";\r\nimport { thousandSeparator } from \"../services/StringUtil\";\r\nimport ConsumptionComparisonModal from \"./ConsumptionComparison\";\r\n\r\ninterface Props {}\r\n\r\ninterface State {}\r\n\r\nChart.defaults.global.defaultFontFamily = \"'Roboto Slab', sans-serif\";\r\nChart.defaults.global.legend.display = false;\r\n\r\nexport class Consumption extends React.Component {\r\n static contextType = UserContext;\r\n context!: React.ContextType;\r\n\r\n private chartRef: React.RefObject = React.createRef();\r\n private chart: Chart;\r\n\r\n state = {};\r\n\r\n componentDidMount() {\r\n this.updateConsumption();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updateConsumption();\r\n }\r\n\r\n initChart() {\r\n if (this.chart) {\r\n return;\r\n }\r\n\r\n if (!this.chartRef.current) {\r\n return;\r\n }\r\n\r\n const chartContext = this.chartRef.current.getContext(\"2d\");\r\n this.chart = new Chart(chartContext, {\r\n type: \"bar\",\r\n data: {\r\n labels: [\r\n \"Januari\",\r\n \"Februari\",\r\n \"Mars\",\r\n \"April\",\r\n \"Maj\",\r\n \"Juni\",\r\n \"Juli\",\r\n \"Augusti\",\r\n \"September\",\r\n \"Oktober\",\r\n \"November\",\r\n \"December\",\r\n ],\r\n datasets: [\r\n {\r\n label: \"I år\",\r\n backgroundColor: \"#66aa66\",\r\n },\r\n {\r\n label: \"Förra året\",\r\n backgroundColor: \"#dddddd\",\r\n },\r\n ],\r\n },\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n scales: {\r\n xAxes: [\r\n {\r\n ticks: {\r\n fontColor: \"#000000\",\r\n },\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n ticks: {\r\n fontColor: \"#000000\",\r\n min: 0,\r\n max: 5000,\r\n },\r\n },\r\n ],\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n var label = data.datasets[tooltipItem.datasetIndex].label || \"\";\r\n\r\n if (label) {\r\n label += \": \";\r\n }\r\n label += tooltipItem.yLabel + \" kWh\";\r\n return label;\r\n },\r\n },\r\n },\r\n },\r\n });\r\n }\r\n\r\n updateConsumption = async () => {\r\n if (!this.context.currentElavtal) {\r\n return;\r\n }\r\n\r\n this.initChart();\r\n\r\n const client = this.context.getClient();\r\n const consumptions = await client.consumption(\r\n this.context.currentElavtal.property.id,\r\n window.location.href,\r\n this.context.currentElavtal.id\r\n );\r\n console.debug(\"Got consumptions\", consumptions);\r\n let lastYear = Array(12).fill(0);\r\n let max = 0;\r\n consumptions\r\n .filter((consumption) => consumption.year == Moment().year() - 1)\r\n .forEach((consumption) => {\r\n lastYear[consumption.month - 1] = consumption.amount;\r\n max = Math.max(max, consumption.amount);\r\n });\r\n\r\n let thisYear = Array(12).fill(0);\r\n consumptions\r\n .filter((consumption) => consumption.year == Moment().year())\r\n .forEach((consumption) => {\r\n thisYear[consumption.month - 1] = consumption.amount;\r\n max = Math.max(max, consumption.amount);\r\n });\r\n\r\n this.chart.data.datasets[0].data = thisYear;\r\n this.chart.data.datasets[1].data = lastYear;\r\n\r\n const interval = max > 500 ? 1000 : 100;\r\n\r\n // set max value on scale to highest 1000\r\n max = Math.floor(max / interval + 1) * interval;\r\n this.chart.config.options.scales.yAxes[0].ticks.max = max;\r\n this.chart.update();\r\n };\r\n\r\n render() {\r\n return this.context.currentElavtal ? (\r\n
\r\n

Min förbrukning

\r\n {this.context.currentElavtal.property.consumption > 0 && (\r\n

\r\n Din beräknade årsförbrukning är{\" \"}\r\n {thousandSeparator(\r\n this.context.currentElavtal.property.consumption\r\n )}{\" \"}\r\n kWh per år. Se Energimarknadsbyråns information om snittförbrukning{\" \"}\r\n \r\n här.\r\n \r\n

\r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n ) : null;\r\n \r\n }\r\n}\r\n","import { IFormsyDecorator, withFormsy } from \"formsy-react\";\r\nimport * as React from \"react\";\r\n\r\ninterface Props extends IFormsyDecorator {\r\n placeholder?: string;\r\n type?: string;\r\n name: string;\r\n disabled?: boolean;\r\n onValidInput?(value: string): void;\r\n adjustValue?(value: string): string;\r\n multiline?: boolean;\r\n rows?: number;\r\n skipFirstInput: boolean;\r\n min?: string | number;\r\n max?: string | number;\r\n onChange?: (value: string) => void;\r\n}\r\n\r\ninterface State {\r\n firstInput: boolean;\r\n}\r\n\r\nclass Input extends React.Component {\r\n public static defaultProps: Partial = {\r\n type: \"text\",\r\n multiline: false,\r\n };\r\n state = {\r\n firstInput: true,\r\n };\r\n\r\n render() {\r\n const errorMessage =\r\n this.state.firstInput && this.props.skipFirstInput != true\r\n ? \"\"\r\n : this.props.getErrorMessage();\r\n const element = this.props.multiline ? (\r\n \r\n ) : (\r\n \r\n );\r\n return (\r\n \r\n {element}\r\n \r\n {errorMessage}\r\n \r\n \r\n );\r\n }\r\n\r\n handleChange = (\r\n event: React.ChangeEvent\r\n ) => {\r\n let value = event.currentTarget.value;\r\n if (this.props.adjustValue) {\r\n value = this.props.adjustValue(value);\r\n }\r\n this.props.setValue(value);\r\n this.props.onChange?.(value);\r\n if (this.props.onValidInput && this.props.isValidValue(value)) {\r\n this.props.onValidInput(value);\r\n }\r\n };\r\n\r\n public validate = () => {\r\n this.setState({ firstInput: false });\r\n };\r\n\r\n onBlur = () => {\r\n if (this.props.getValue()) {\r\n this.setState({ firstInput: false });\r\n }\r\n };\r\n}\r\n\r\nexport default withFormsy(Input);\r\n","import * as React from \"react\";\r\nimport Input from \"./Input\";\r\n\r\ninterface Props {\r\n value: string;\r\n name: string;\r\n innerRef?: React.Ref;\r\n skipFirstInput: boolean;\r\n validate: boolean;\r\n}\r\n\r\nclass EmailInput extends React.Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default React.forwardRef((props: Props, ref) => (\r\n \r\n));\r\n","import * as React from \"react\";\r\nimport Input from \"./Input\";\r\n\r\ninterface Props {\r\n value: string;\r\n name: string;\r\n innerRef?: React.Ref;\r\n skipFirstInput: boolean;\r\n validate: boolean;\r\n}\r\n\r\nclass PhoneInput extends React.Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n adjustPhone = (phone: string): string => {\r\n // replace +46 with 0\r\n phone = phone.replace(/^(\\+)?46/, \"0\");\r\n // replace all non digits exept for leading +\r\n phone = phone.replace(/(^\\+)|[^0-9]/g, \"$1\");\r\n // add leading 0 if nine digits not starting with 0\r\n if (\r\n phone &&\r\n phone.length == 9 &&\r\n !phone.startsWith(\"0\") &&\r\n !phone.startsWith(\"+\")\r\n ) {\r\n return \"0\" + phone;\r\n }\r\n\r\n return phone;\r\n };\r\n}\r\n\r\nexport default React.forwardRef((props: Props, ref) => (\r\n \r\n));\r\n","import Formsy from \"formsy-react\";\r\nimport * as React from \"react\";\r\nimport { SelfServiceClient } from \"../api/ApiClient\";\r\nimport EmailInput from \"../components/EmailInput\";\r\nimport PhoneInput from \"../components/PhoneInput\";\r\nimport { UserContext } from \"../context/UserContext\";\r\n\r\ninterface Props {}\r\ninterface State {\r\n editable: boolean;\r\n posting: boolean;\r\n valid: boolean;\r\n message: string;\r\n}\r\n\r\nexport class Contact extends React.Component {\r\n private formRef: React.RefObject = React.createRef();\r\n private posting: boolean = false;\r\n\r\n static contextType = UserContext;\r\n context!: React.ContextType;\r\n\r\n private readonly selfServiceClient: SelfServiceClient =\r\n new SelfServiceClient();\r\n\r\n async componentDidMount() {\r\n this.selfServiceClient.setToken(this.context.token);\r\n }\r\n\r\n state = { editable: false, posting: false, valid: true, message: \"\" };\r\n\r\n render() {\r\n return !this.context.customer ? null : (\r\n
\r\n

Mina kontaktuppgifter

\r\n {this.state.editable ? (\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Spara\r\n \r\n \r\n Ångra\r\n \r\n {this.state.message &&

{this.state.message}

}\r\n \r\n
\r\n ) : (\r\n \r\n

\r\n Mobilnummer: {this.context.customer.mobile}\r\n
\r\n Epostadress: {this.context.customer.email}\r\n

\r\n \r\n Ändra\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n onValidForm = () => {\r\n this.setState({\r\n valid: true,\r\n });\r\n };\r\n\r\n onInvalidForm = () => {\r\n this.setState({\r\n valid: false,\r\n });\r\n };\r\n\r\n toogleEdit = () => {\r\n this.setState({ editable: !this.state.editable });\r\n };\r\n\r\n save = async () => {\r\n if (this.posting || !this.state.valid) {\r\n return;\r\n }\r\n\r\n this.setState({ posting: true });\r\n console.debug(\"Saveing customer\", this.formRef.current.getModel());\r\n\r\n let formModel = this.formRef.current.getModel();\r\n let customer = Object.assign({}, this.context.customer);\r\n customer.phone = formModel.phone;\r\n customer.email = formModel.email;\r\n try {\r\n let updatedCustomer = await this.selfServiceClient.updateCustomer(\r\n window.location.href,\r\n customer\r\n );\r\n this.context.setCustomer(updatedCustomer);\r\n this.posting = false;\r\n this.setState({ editable: false, posting: false });\r\n } catch (error) {\r\n console.error(\"Failed to update customer\", error);\r\n this.posting = false;\r\n this.setState({ message: \"Något gick fel\", posting: false });\r\n }\r\n };\r\n}\r\n","export enum FetchStatus {\r\n FETCHING,\r\n IDLE,\r\n ERROR,\r\n DONE\r\n}\r\n\r\n","import * as React from \"react\";\r\nimport { Channel, PriceClient, SpotPrice } from \"../api/ApiClient\";\r\nimport { FetchStatus } from \"../utils/FetchStatus\";\r\n\r\n\r\ninterface State {\r\n prices: SpotPrice[],\r\n status: FetchStatus;\r\n}\r\ninterface Props {\r\n elomrade: number\r\n channel: Channel\r\n}\r\n\r\n\r\nexport default class PriceDetailsModal extends React.PureComponent {\r\n private priceClient: PriceClient = new PriceClient();\r\n\r\n readonly state: State = {\r\n prices: [],\r\n status: FetchStatus.IDLE,\r\n };\r\n \r\n componentDidMount() {\r\n this.fetchPrice();\r\n }\r\n\r\n\r\n render() {\r\n \r\n return (\r\n \r\n
\r\n
\r\n
\r\n

Våra prisdetaljer i ditt elområde -\r\n\r\n {(() => {\r\n switch (this.props.elomrade) {\r\n case 1:\r\n return ' SE1'\r\n case 2:\r\n return ' SE2'\r\n case 3:\r\n return ' SE3'\r\n case 4:\r\n return ' SE4'\r\n default:\r\n return null\r\n }\r\n })()}\r\n\r\n

\r\n \r\n {this.state.prices ?\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PrisdetaljPris öre/kWh
Spotpris\r\n {(() => {\r\n switch (this.props.elomrade) {\r\n case 1:\r\n return (this.state.prices[0]?.priceSE1 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2 })\r\n case 2:\r\n return (this.state.prices[0]?.priceSE2 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n case 3:\r\n return (this.state.prices[0]?.priceSE3 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n case 4:\r\n return (this.state.prices[0]?.priceSE4 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n default:\r\n return null\r\n }\r\n })()}\r\n
Elcertifikat{(this.state.prices[0]?.priceCertificate * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}
Urspungsgarantier{(this.state.prices[0]?.priceEnvironment * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}
Profilkostnader {(() => {\r\n switch (this.props.elomrade) {\r\n case 1:\r\n return (this.state.prices[0]?.priceProfileCostSE1 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n case 2:\r\n return (this.state.prices[0]?.priceProfileCostSE2 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n case 3:\r\n return (this.state.prices[0]?.priceProfileCostSE3 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n case 4:\r\n return (this.state.prices[0]?.priceProfileCostSE4 * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})\r\n default:\r\n return null\r\n }\r\n })()}
Balanskostnader{(this.state.prices[0]?.priceBalanceCost * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}
Elhandelskostnader{(this.state.prices[0]?.priceSupplierCost * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}
Övriga administrativa kostnader{(this.state.prices[0]?.priceAdministrationCost * 100).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}
Total exkl moms\r\n {this.getTotalPriceExVat(this.props.elomrade).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}\r\n
Moms25%
Total inkl moms{(this.getTotalPriceExVat(this.props.elomrade)*1.25).toLocaleString(undefined, {maximumFractionDigits:2, minimumFractionDigits:2})}
\r\n : null }\r\n

\r\n Förklaring av spotpris och övriga prisdetaljer\r\n

\r\n

\r\n För dig med Rörligt avtal är spotpriset månads genomsnitt på elbörsen.\r\n För dig med timpris är spotpriset ditt viktade snitt över månaden baserat på din förbrukning.\r\n

\r\n

Ovan är alltså en nedbrytning av våra prisdetaljer i öre/kWh som gäller från datum {this.state.prices[0]?.fromDate.format(\"L\")}.

\r\n Vad ska vi säga... elbranschen är tråkig. Energimyndigheten har i EIFS 2024:2 beslutat att kunderna ska se de priskomponenter som elpriset består av. Kanske för att göra det mindre tråkigt med el, så håll till godo. Ovan är alltså de olika kostnader och avgifter som vi betalar för att köpa in elen som våra kunder förbrukar. Summerat så blir det också vad våra kunder betalar. Hoppas du blev precis så glad som beslutande organ tänkte att du skulle bli när du såg detta. Och har du någon fråga så är du välkommen att höra av dig till oss!

\r\n \r\n \r\n Stäng\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n fetchPrice = async () => {\r\n console.debug(\"Fetching prices\");\r\n this.setState({ status: FetchStatus.FETCHING });\r\n try {\r\n const prices = await this.priceClient.listLatest(0, this.props.channel);\r\n console.debug(\"Got prices\", prices);\r\n this.setState({ prices, status: FetchStatus.DONE });\r\n } catch (error) {\r\n console.error(\"Failed to fetch prices\", error);\r\n this.setState({ status: FetchStatus.ERROR });\r\n }\r\n };\r\n\r\n getTotalPriceExVat = (elomrade: number) => {\r\n switch (elomrade) {\r\n case 1:\r\n return (this.state.prices[0]?.priceSE1 * 100 +\r\n this.state.prices[0]?.priceCertificate * 100 +\r\n this.state.prices[0]?.priceEnvironment * 100 +\r\n this.state.prices[0]?.priceProfileCostSE1 * 100 +\r\n this.state.prices[0]?.priceBalanceCost * 100 + \r\n this.state.prices[0]?.priceSupplierCost * 100 +\r\n this.state.prices[0]?.priceAdministrationCost * 100)\r\n case 2:\r\n return (this.state.prices[0]?.priceSE2 * 100 +\r\n this.state.prices[0]?.priceCertificate * 100 +\r\n this.state.prices[0]?.priceEnvironment * 100 +\r\n this.state.prices[0]?.priceProfileCostSE2 * 100 +\r\n this.state.prices[0]?.priceBalanceCost * 100 + \r\n this.state.prices[0]?.priceSupplierCost * 100 +\r\n this.state.prices[0]?.priceAdministrationCost * 100)\r\n case 3:\r\n return (this.state.prices[0]?.priceSE3 * 100 +\r\n this.state.prices[0]?.priceCertificate * 100 +\r\n this.state.prices[0]?.priceEnvironment * 100 +\r\n this.state.prices[0]?.priceProfileCostSE3 * 100 +\r\n this.state.prices[0]?.priceBalanceCost * 100 + \r\n this.state.prices[0]?.priceSupplierCost * 100 +\r\n this.state.prices[0]?.priceAdministrationCost * 100)\r\n case 4:\r\n return (this.state.prices[0]?.priceSE4 * 100 +\r\n this.state.prices[0]?.priceCertificate * 100 +\r\n this.state.prices[0]?.priceEnvironment * 100 +\r\n this.state.prices[0]?.priceProfileCostSE4 * 100 +\r\n this.state.prices[0]?.priceBalanceCost * 100 + \r\n this.state.prices[0]?.priceSupplierCost * 100 +\r\n this.state.prices[0]?.priceAdministrationCost * 100)\r\n default:\r\n return 0\r\n }\r\n \r\n };\r\n\r\n}\r\n","import * as React from \"react\";\r\nimport {\r\n ContractDebitType,\r\n Elavtal,\r\n Elavtalsstatus,\r\n PropertyType,\r\n SelfServiceClient, Channel\r\n} from \"../api/ApiClient\";\r\nimport { UserContext } from \"../context/UserContext\";\r\nimport PriceDetails from \"./PriceDetails\";\r\n\r\ninterface Props {}\r\ninterface State {\r\n fixedPrice: number;\r\n elavtalId?: string;\r\n}\r\n\r\nexport class ElavtalContainer extends React.Component {\r\n static contextType = UserContext;\r\n context!: React.ContextType;\r\n\r\n private readonly selfServiceClient: SelfServiceClient =\r\n new SelfServiceClient();\r\n readonly state: State = {\r\n fixedPrice: 0,\r\n elavtalId: null,\r\n };\r\n async componentDidMount() {\r\n this.selfServiceClient.setToken(this.context.token);\r\n if (this.context.currentElavtal != null) {\r\n let Fp = await this.selfServiceClient.fixedPrice(\r\n this.context.currentElavtal.id,\r\n this.context.currentElavtal.property.consumption\r\n );\r\n\r\n this.setState({\r\n fixedPrice: Fp.price,\r\n elavtalId: this.context.currentElavtal.id,\r\n });\r\n }\r\n }\r\n async componentDidUpdate(prevProps: Props, prevState: State) {\r\n if (\r\n this.context.currentElavtal != null &&\r\n (prevState?.elavtalId != this.state.elavtalId ||\r\n prevState?.elavtalId == null)\r\n ) {\r\n let Fp = await this.selfServiceClient.fixedPrice(\r\n this.context.currentElavtal.id,\r\n this.context.currentElavtal.property.consumption\r\n );\r\n\r\n this.setState({\r\n fixedPrice: Fp.price,\r\n elavtalId: this.context.currentElavtal.id,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.context.currentElavtal && (\r\n \r\n

Min bostad

\r\n {this.context.elavtal && this.context.elavtal.length > 1 ? (\r\n
\r\n \r\n {this.context.elavtal.map((elavtal: Elavtal) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n ) : (\r\n

\r\n {this.context.currentElavtal.property.street}\r\n
\r\n {this.context.currentElavtal.property.zipCode}{\" \"}\r\n {this.context.currentElavtal.property.city}\r\n

\r\n )}\r\n\r\n {this.context.currentElavtal &&\r\n this.context.currentElavtal?.elavtalsstatus !=\r\n Elavtalsstatus.Avbruten ? (\r\n <>\r\n

\r\n {this.deliveryContractToString(this.context.currentElavtal)}\r\n

\r\n

\r\n <>\r\n {this.context.currentElavtal.elavtalsstatus ==\r\n Elavtalsstatus.LeveransAvslutad ? (\r\n <>\r\n Ditt avtal avslutades{\" \"}\r\n {this.context.currentElavtal.endDate?.format(\r\n \"YYYY-MM-DD\"\r\n )}\r\n .\r\n \r\n ) : (\r\n <>\r\n {this.context.currentElavtal.property.type ==\r\n PropertyType.CONSUMING\r\n ? \"Du har ett avtal utan bindningstid och uppsägningstid med 100% fossilfri el. Din månadsavgift är \" +\r\n Math.round(this.state.fixedPrice) +\r\n \" kr per månad. \"\r\n : \"Du har ett rörligt timprisavtal avtal utan bindningstid och uppsägningstid. \"}\r\n \r\n )}Se dina prisdetaljer{\" \"}\r\n \r\n här\r\n \r\n {\" \"} och du hittar dina avtalsvillkor {\" \"}\r\n \r\n här.\r\n \r\n \r\n

\r\n

100% FOSSILFRITT

\r\n

\r\n Du har idag el till 100% från sol, vind, kärnkraft och vatten. Vill du ha 100% förnybar el istället så kan du maila oss på{\" \"}\r\n \r\n info@renenkelbilligel.se\r\n {\" \"}\r\n för att beställa tillägget eller om du har några frågor.\r\n

\r\n \r\n ) : null}\r\n

\r\n {this.context.currentElavtal?.elavtalsstatus ==\r\n Elavtalsstatus.LeveransAvslutad\r\n ? \"Har du flyttat?\"\r\n : this.context.currentElavtal?.reasonForTerminationTag\r\n ?.externalId ==\r\n \"internal.reasonForTermination.partOfRentCollectiveMeasurement\"\r\n ? \"Lycka till med flytten\"\r\n : \"Ska du flytta?\"}\r\n

\r\n

\r\n Glöm inte att teckna avtal på din nya adress. Det är snabbt löst,\r\n klicka på knappen nedan, det tar knappt en minut.\r\n

\r\n

\r\n \r\n Teckna avtal\r\n \r\n

\r\n
\r\n )}\r\n \r\n
\r\n );\r\n }\r\n\r\n deliveryContractToString = (delivery?: Elavtal) => {\r\n console.debug(\"deliveryContractToString\", delivery);\r\n if (delivery?.contracts?.length == 1) {\r\n console.debug(\r\n \"deliveryContractToString public name\",\r\n delivery?.contracts[0].contractType?.publicName\r\n );\r\n if (delivery?.contracts[0].contractType?.publicName) {\r\n return delivery?.contracts[0].contractType?.publicName;\r\n }\r\n if (delivery?.property?.type == PropertyType.PRODUCING) {\r\n return \"Produktionsavtal\";\r\n }\r\n if (\r\n delivery?.contracts[0].contractType?.contractDebitType ==\r\n ContractDebitType.HOURLY\r\n ) {\r\n return \"Timprisavtal\";\r\n }\r\n }\r\n return \"Rörligt avtal\";\r\n };\r\n\r\n changeElavtal = async (event: React.ChangeEvent) => {\r\n let elavtal = this.context.elavtal.find(\r\n (elavtal: Elavtal) => elavtal.id == event.target.value\r\n );\r\n if (elavtal) {\r\n this.context.setCurrentElavtal(elavtal);\r\n let Fp = await this.selfServiceClient.fixedPrice(\r\n this.context.currentElavtal.id,\r\n this.context.currentElavtal.property.consumption\r\n );\r\n\r\n this.setState({ fixedPrice: Fp.price });\r\n }\r\n console.debug(\"Change elavtal\", elavtal);\r\n };\r\n}\r\n","import * as React from \"react\";\r\nimport { UserContext } from \"../context/UserContext\";\r\nimport {\r\n Billogram,\r\n BillogramStatus,\r\n StatusResponseStatus\r\n} from \"../api/ApiClient\";\r\nimport { thousandSeparator } from \"../services/StringUtil\";\r\n\r\ninterface Props {}\r\n\r\nenum Status {\r\n IDLE,\r\n FETCHING,\r\n ERROR,\r\n DONE\r\n}\r\n\r\ninterface State {\r\n invoices: Billogram[];\r\n status: Status;\r\n}\r\n\r\nexport class Invoices extends React.Component {\r\n static contextType = UserContext;\r\n context!: React.ContextType;\r\n\r\n private fetchingMore: boolean = false;\r\n private page: number = 1;\r\n\r\n state = {\r\n invoices: [],\r\n status: Status.IDLE\r\n };\r\n\r\n async componentDidMount() {\r\n this.fetchMore();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

Mina fakturor

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.invoices.map((invoice: Billogram) => {\r\n let status: string;\r\n switch (invoice.status) {\r\n case BillogramStatus.PAID:\r\n status = \"Betald\";\r\n break;\r\n case BillogramStatus.UNPAID:\r\n status = \"Obetald\";\r\n break;\r\n case BillogramStatus.ENDED:\r\n status = \"Avslutad\";\r\n break;\r\n case BillogramStatus.SCHEDULED:\r\n status = \"Betalning pågår\";\r\n break;\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
MånadBeloppFakturaStatus
{invoice.invoiceDate.format(\"MMMM\")}{thousandSeparator(invoice.totalSum)} kr\r\n \r\n Öppna i Billogram\r\n \r\n {status}
\r\n
\r\n {this.state.status == Status.FETCHING &&

Hämtar fakturor...

}\r\n {this.state.status == Status.ERROR && (\r\n \r\n

Något gick fel när dina fakturor skulle hämtas

\r\n \r\n Prova igen\r\n \r\n
\r\n )}\r\n {this.state.status == Status.DONE &&\r\n this.state.invoices.length == 0 && (\r\n

Inga fakturor finns än så länge

\r\n )}\r\n {this.state.status != Status.DONE &&\r\n this.state.invoices.length > 0 &&\r\n this.state.status != Status.FETCHING && (\r\n \r\n Hämta fler\r\n \r\n )}\r\n {this.state.status == Status.DONE &&\r\n this.state.invoices.length > 10 &&

Alla fakturor är hämtade

}\r\n
\r\n
\r\n );\r\n }\r\n\r\n fetchMore = async () => {\r\n if (this.fetchingMore) {\r\n return;\r\n }\r\n this.fetchingMore = true;\r\n this.setState({ status: Status.FETCHING });\r\n\r\n try {\r\n let newInvoices = await this.context.getClient().invoices(this.page);\r\n this.fetchingMore = false;\r\n this.page++;\r\n let invoices = this.state.invoices.slice(0);\r\n invoices.push(...newInvoices);\r\n this.setState({\r\n invoices,\r\n status: newInvoices.length < 10 ? Status.DONE : Status.IDLE\r\n });\r\n } catch (error) {\r\n this.fetchingMore = false;\r\n this.setState({ status: Status.ERROR });\r\n console.error(\"Failed to fetch invoices\", error);\r\n }\r\n };\r\n}\r\n","import * as React from \"react\";\r\nimport { SelfServiceClient } from \"../api/ApiClient\";\r\nimport Spinner from \"../components/Spinner\";\r\nimport { UserContext } from \"../context/UserContext\";\r\nimport { Consumption } from \"./Consumption\";\r\nimport { Contact } from \"./Contact\";\r\nimport { ElavtalContainer } from \"./ElavtalContainer\";\r\nimport { Invoices } from \"./Invoices\";\r\n\r\ninterface Props {}\r\n\r\ninterface State {\r\n status: Status;\r\n}\r\n\r\nenum Status {\r\n FETCHING,\r\n ERROR,\r\n DONE,\r\n}\r\n\r\nexport class SelfServiceContainer extends React.Component {\r\n static contextType = UserContext;\r\n context!: React.ContextType;\r\n\r\n private readonly selfServiceClient: SelfServiceClient =\r\n new SelfServiceClient();\r\n\r\n state = {\r\n status:\r\n !this.context || !this.context.customer ? Status.FETCHING : Status.DONE,\r\n };\r\n\r\n async componentDidMount() {\r\n try {\r\n this.selfServiceClient.setToken(this.context.token);\r\n\r\n if (!this.context.customer) {\r\n this.setState({ status: Status.FETCHING });\r\n let customer = await this.selfServiceClient.customer(\r\n window.location.href\r\n );\r\n this.context.setCustomer(customer);\r\n this.setState({ status: Status.DONE });\r\n } else {\r\n this.setState({ status: Status.DONE });\r\n }\r\n\r\n if (true /*!this.context.elavtal || this.context.elavtal.length == 0*/) {\r\n let elavtal = await this.selfServiceClient.elavtal(\r\n window.location.href\r\n );\r\n\r\n if (elavtal) {\r\n this.context.setElavtal(elavtal);\r\n }\r\n }\r\n } catch (error) {\r\n if (error.status == 404) {\r\n console.error(\"Customer not found\", { error });\r\n this.setState({ status: Status.DONE });\r\n } else {\r\n console.error(\"Failed to fetch customer\", { error });\r\n this.setState({ status: Status.ERROR });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.status == Status.ERROR && (\r\n

\r\n Något gick tyvärr fel när vi skulle hämta information om din el.\r\n

\r\n )}\r\n {this.state.status == Status.FETCHING && }\r\n {this.state.status == Status.DONE && !this.context.customer && (\r\n \r\n

Hej

\r\n

\r\n Va kul att du hittat hit. Det verkar som att du inte valt att bli\r\n en Rebel ännu och måste fortsätta tänka på el. Det är snabbt löst,\r\n klicka på knappen nedan, det tar knappt en minut.\r\n

\r\n \r\n Bli en rebel\r\n \r\n
\r\n )}\r\n {this.state.status == Status.DONE && this.context.customer && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","const eventName = \"rebel-session\";\r\n\r\nexport const sessionListener = (callback: (signedIn: boolean) => void) => {\r\n window.addEventListener(\r\n eventName,\r\n (event: CustomEvent) => {\r\n callback(event.detail.signedIn);\r\n },\r\n false\r\n );\r\n};\r\n\r\nexport const emitSessionChange = (signedIn: boolean) => {\r\n var event = new CustomEvent(eventName, {\r\n detail: {\r\n signedIn\r\n }\r\n });\r\n window.dispatchEvent(event);\r\n};\r\n","import * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { SignIn } from \"../authentication/SignIn\";\r\nimport {\r\n UserContext,\r\n UserContextModel,\r\n UserContextContants,\r\n} from \"../context/UserContext\";\r\nimport {\r\n User,\r\n Customer,\r\n Elavtal,\r\n SelfServiceClient,\r\n StatusResponse,\r\n} from \"../api/ApiClient\";\r\nimport { SelfServiceContainer } from \"./SelfServiceContainer\";\r\nimport moment from \"moment\";\r\nimport { sessionListener, emitSessionChange } from \"./SessionListener\";\r\nimport { Config } from \"../api/Config\";\r\nimport { createHashHistory } from \"history\";\r\n\r\ninterface Props {}\r\n\r\ninterface State extends UserContextModel {\r\n signedOut: boolean;\r\n}\r\n\r\nclass SelfServiceApp extends React.Component {\r\n private selfServiceClient = new SelfServiceClient();\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n let elavtal = sessionStorage.getItem(UserContextContants.elavtalStorage)\r\n ? (\r\n JSON.parse(\r\n sessionStorage.getItem(UserContextContants.elavtalStorage)\r\n ) as any[]\r\n ).map((elavtal: any): Elavtal => Elavtal.fromJS(elavtal))\r\n : [];\r\n let currentElavtalId = sessionStorage.getItem(\r\n UserContextContants.currentElavtalStorage\r\n );\r\n let currentElavtal = currentElavtalId\r\n ? elavtal.find((elavtal) => elavtal.id == currentElavtalId)\r\n : undefined;\r\n let token =\r\n sessionStorage.getItem(UserContextContants.tokenStorage) || undefined;\r\n\r\n if (token) {\r\n this.selfServiceClient.setToken(token);\r\n }\r\n\r\n this.state = {\r\n token,\r\n user: sessionStorage.getItem(UserContextContants.userStorage)\r\n ? User.fromJS(\r\n JSON.parse(sessionStorage.getItem(UserContextContants.userStorage))\r\n )\r\n : undefined,\r\n customer: sessionStorage.getItem(UserContextContants.customerStorage)\r\n ? Customer.fromJS(\r\n JSON.parse(\r\n sessionStorage.getItem(UserContextContants.customerStorage)\r\n )\r\n )\r\n : undefined,\r\n elavtal,\r\n currentElavtal,\r\n getClient: this.getClient,\r\n setToken: this.setToken,\r\n setUser: this.setUser,\r\n setCustomer: this.setCustomer,\r\n setElavtal: this.setElavtal,\r\n setCurrentElavtal: this.setCurrentElavtal,\r\n clear: this.clear,\r\n signedOut: false,\r\n };\r\n\r\n sessionListener((signedIn: boolean) => this.sessionUpdate(signedIn));\r\n }\r\n\r\n sessionUpdate = (signedIn: boolean) => {\r\n !signedIn && this.clear();\r\n };\r\n\r\n getClient = () => {\r\n return this.selfServiceClient;\r\n };\r\n\r\n setToken = (token: string) => {\r\n this.setState({\r\n token,\r\n });\r\n\r\n this.selfServiceClient.setToken(token);\r\n sessionStorage.setItem(UserContextContants.tokenStorage, token);\r\n emitSessionChange(!!token);\r\n };\r\n\r\n setUser = (user: User) => {\r\n this.setState({\r\n user,\r\n });\r\n sessionStorage.setItem(\r\n UserContextContants.userStorage,\r\n JSON.stringify(user)\r\n );\r\n };\r\n\r\n setCustomer = (customer: Customer) => {\r\n this.setState({\r\n customer,\r\n });\r\n sessionStorage.setItem(\r\n UserContextContants.customerStorage,\r\n JSON.stringify(customer)\r\n );\r\n };\r\n\r\n setElavtal = (elavtal: Elavtal[]) => {\r\n let currentElavtal = elavtal && elavtal.length > 0 ? elavtal[0] : undefined;\r\n this.setState({\r\n elavtal,\r\n currentElavtal,\r\n });\r\n sessionStorage.setItem(\r\n UserContextContants.elavtalStorage,\r\n JSON.stringify(elavtal)\r\n );\r\n if (currentElavtal) {\r\n sessionStorage.setItem(\r\n UserContextContants.currentElavtalStorage,\r\n currentElavtal.id\r\n );\r\n }\r\n };\r\n\r\n setCurrentElavtal = (currentElavtal: Elavtal) => {\r\n this.setState({\r\n currentElavtal,\r\n });\r\n sessionStorage.setItem(\r\n UserContextContants.currentElavtalStorage,\r\n currentElavtal.id\r\n );\r\n };\r\n\r\n clear = () => {\r\n this.setState({\r\n token: undefined,\r\n user: undefined,\r\n customer: undefined,\r\n elavtal: undefined,\r\n currentElavtal: undefined,\r\n signedOut: true,\r\n });\r\n this.selfServiceClient.setToken(undefined);\r\n sessionStorage.removeItem(UserContextContants.tokenStorage);\r\n sessionStorage.removeItem(UserContextContants.userStorage);\r\n sessionStorage.removeItem(UserContextContants.customerStorage);\r\n sessionStorage.removeItem(UserContextContants.elavtalStorage);\r\n sessionStorage.removeItem(UserContextContants.currentElavtalStorage);\r\n };\r\n\r\n onSignedIn = (response: StatusResponse) => {\r\n this.setToken(response.token);\r\n this.setUser(response.user);\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n

Mina sidor

\r\n

\r\n Här kan du läsa om din el, din förbrukning och allt sånt där tråkigt\r\n som vi försökt få bort från ditt liv.\r\n

\r\n {this.state.token && this.state.user ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nmoment.locale(\"sv\");\r\n\r\ndeclare var ClientConfig: Config;\r\nconst browserHistory = createHashHistory({ basename: \"\" });\r\nReactDOM.render(\r\n ,\r\n document.getElementById(\"self-service-app\")\r\n);\r\n","var map = {\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 61696;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 499;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t499: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [736], () => (__webpack_require__(57147)))\n__webpack_require__.O(undefined, [736], () => (__webpack_require__(26981)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [736], () => (__webpack_require__(99710)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","Channel","RealEstateObjectStatus","Housing","InvoiceDataStatus","ClientBase","defaultUrl","ClientConfig","ApiBaseUrl","options","this","token","headers","Promise","resolve","AuthenticationClient","baseUrl","http","undefined","window","getBaseUrl","signal","url_","replace","options_","method","transformOptions","then","transformedOptions_","fetch","_response","processInitiate","response","status","_headers","forEach","v","k","text","_responseText","resultData200","JSON","parse","jsonParseReviver","BankIdInitResponse","fromJS","throwException","orderRef","qrState","Error","encodeURIComponent","processStatus","StatusResponse","body","stringify","processInitiateSignature","pid","processGenerateToken","TokenResponse","requestToken","processAuthenticateToken","AuthenticationResponse","PriceClient","consumption","channel","processCalculate","PriceResponse","processAverage","AveragePrices","processList","result200","Array","isArray","item","push","SpotPrice","processListLatest","SelfServiceClient","host","processCustomer","Customer","processUpdateCustomer","processElavtal","Elavtal","propertyId","elavtalId","processConsumption","Consumption","deliveryId","startTime","endTime","toISOString","processConsumptions","processFixedPrice","FixedPrice","processContracts","Contract","processEstimatedVariablePrice","VariablePrice","electricityArea","startDate","endDate","monthly","processVariablePrices","fromDate","processEstimateMonth","EstimatedMonth","processEstimationItems","EstimationItem","page","processInvoices","Billogram","processInvoicesV2","Invoice","processRegisterForNotifications","processSendNotification","installationId","processDeleteRegistration","processGetInstallations","RegistrationDescription","InvoiceDeliveryMethod","CompanySettingsBillogramModel","data","property","hasOwnProperty","_data","enabled","username","password","bankGiro","emailOverride","defaultBannerId","itemTitleConsuming","itemTitleProducing","useElectricityCollection","result","init","CompanySettingsCommunicationModel","sendGridApiKey","authenticatedDomains","smsOverride","PropertyType","CompanySettingsInvoicing","invoiceOverdueNotificationDelay","defaultInvoiceDeliveryMethod","CommunicationType","SupplierChangeType","CompanySettingsInvoiceAttachmentFooterRowModel","id","modifiedOn","moment","toString","modifiedBy","createdOn","createdBy","deleted","externalId","companyId","company","CompanyModel","title","sortIndex","propertyType","companySettingsInvoiceAttachmentId","toJSON","CompanySettingsInvoiceAttachmentModel","includeVat","titleConsumtion","titleProduction","propertyInfoTitle","detailedSummery","energySourceImages","footerRows","CompanySettingsCallback","url","entities","CustomerType","PersonalIdType","RecurringPaymentType","CommunicationTemplateModel","salesChannels","SalesChannelModel","type","supplierChangeTypes","smsEnabled","smsTemplate","smsSubject","emailEnabled","emailTemplateId","AccountingDimensionModel","dimensionId","name","PaymentStatus","CustomerModel","firstName","lastName","fullName","customerType","personalIdType","birthDate","additionalPersonalId","street","coAddress","zipCode","city","mobile","phone","email","billogramCustomerId","efaktura_Recipient_Identifier","recurringPaymentType","edi_electronic_id","edi_operator","edi_reference","useInvoiceCollection","invoiceDeliveryMethod","searchData","entityData","entityType","regardingName","ContractPriceType","ContractDebitType","PriceModel","DeliveryMethod","InvoiceStatus","ContractTypeModel","publicName","bindingPeriod","noticePeriod","prices","contractPriceType","contractDebitType","PriceKWh","sE1","sE2","sE3","sE4","certificate","environment","tradeFee","Tag","key","value","contractType","contractTypeId","fixedPriceKWh","fixedPriceMonthly","initialContract","invoiceText","salesChannelId","salesChannel","salesDate","salesPerson","signedFromIp","tags","InvoiceDataRowModel","invoiceDataId","contractId","contract","price","quantity","amount","vatAmount","InvoiceDataModel","invoiceDataStatus","elavtal","rows","invoiceId","invoice","InvoiceModel","amountExkludingVat","amountIncludingVat","rounding","dateOfInvoice","dueDate","finalInvoice","invoicingId","invoiceCreated","EAHousing","customerId","customer","paymentStatus","paymentDescription","recipientUrl","invoiceDatas","invoiceNumber","ocr","reminderFee","interestFee","respiteDate","overdueNotificationSent","deliveryMethod","deliveryRecipient","InvoiceRowModel","heading","description","unit","incomeAccount","vatAccount","invoiceData","accountingObjects","AccountingObjectModel","invoiceItemId","invoicePriceGroupId","articleId","objectId","dimension","deliveries","invoiceRows","channelIndex","communicationTemplates","AutoCompletionTemplate","communicationTemplateId","communicationTemplate","communicationSettings","invoicingSettings","callbackUrl","handleWarrantMove","handleWarrantMoveReplies","handleWarrantNetOwnerReplies","handleWarrantNetOwner","handleWarrantSupplierReplies","autoSendWarrantMail","autoStartChangeProcessOnNewDeliveries","autoStartChangeProcessMinDaysUntilStart","autoStartChangeProcessMaxDaysUntilStart","autoStartChangeProcessMinDaysAfterSales","handleWarrantSupplier","warrantMail","warrantChangedStartDateMail","warrantSender","warrantCompanyName","warrantCompanyLegalName","warrantNetOwnerTemplateId","warrantMoveTemplateId","warrantChangedStartDateTemplateId","warrantSupplierTemplateId","warrantDailyRemainderTemplateId","genericMailTemplateId","useCompletionFlow","completionUrl","sendSmsFrom","sendDeliveryStartSMS","sendDeliveryHasStartedSMS","sendConfirmationSMS","sendElavtalsServiceSMS","sendConfirmationEmail","standardConfirmationMailTemplateId","sendMailFromAdress","sendMailFromName","useEdiel","edielId","useEdiEncryption","balanceResponsibleEdielId","getActorinfoWhenPropertyCreated","minimumAmountToCreateInvoice","useAutomaticCompletion","legalName","billogramSettings","invoiceAttachmentSettingsId","invoiceAttachmentSettings","callbackSettings","autoCompletionTemplates","Quality","Meter","externalMeterId","PropertyModel","InvoiceConsumptionInstallationStatus","InvoiceDatakWhModel","invoiceConsumption","InvoiceConsumptionModel","invoiceConsumptionId","originalInvoiceConsumptionId","priceKWh","supplementCharge","MeasureQuality","QuantityType","Direction","MarketCommunicationErrorCode","quality","endingConsumption","archived","isBilled","isZeroCorrection","meterId","installationStatus","daysWithConsumption","latestPeriodQuantityCreated","MeasureMethod","ObservationLength","SettlementMethod","InstallationStatus","MeterReadingFrequency","MeterInfoOrigin","EdiLogDetail","messageSubType","referenceId","ediLogPostId","ediLogPost","EdiLogPost","messageAttribute","messageId","messageDetailId","aperakStatus","utiltsErrStatus","handled","errorCode","logged","direction","dateOfPreparation","timeOfPreparation","interchangeReference","messageType","senderId","senderEmailAddress","recipientId","recipientEmailAddress","fileName","message","controlStatus","periodQuantitiesPlanned","PeriodQuantityPlannedModel","details","periodStartTime","periodEndTime","resolution","transactionReference","ediLog","PropertyEventType","MeterInfoModel","timeStamp","lineItemReference","meterNumber","meterTimeframe","productCode","constant","measureMethod","observationLength","settlementMethod","numberOfDigits","readingFrequency","origin","PropertyStatus","NetActorType","PropertyEventModel","eventType","timestamp","MissingPeriodModel","Elavtalsstatus","TypedTagType","NetOwner","phoneNumberCustomerSupportMove","prodatCommunicationAddress","prodatSubAddress","prodatInterchangePartyId","utiltsCommunicationAddress","utiltsSubAddress","utiltsInterchangePartyId","warrantEmail","warrantEmailManual","phoneNumberCustomerSupport","digitalIdRequired","AggregatedQuantityModel","planned","numberOfMeasuringPoints","productCharacteristic","productType","identityType","levelOfDetails","businessActivityPhase","netAreaId","netArea","NetArea","code","netOwnerId","netOwner","aggregatedQuantities","ean","publicStreet","lmvNumber","internalPropertyNumber","propertyOwner","housingCooperative","area","housing","meter","meterInfo","propertyEvents","missingPeriods","hasMissingQuantities","lastCheckedForMissingQuantities","connectedConsumingPropertyId","ArticleUnit","TypedTagModel","parentTagId","parentTag","FileModel","contentType","Supplier","ElavtalBillogramExtensionsBanner","bannerId","ElavtalBillogramExtensions","banners","InvoiceDataItemModel","invoiceItem","InvoiceItemModel","ChangeOfMeasuringMethodRequestStatus","ArticleModel","vat","systemArticle","excludeAccountingObjects","article","ContactTypeModel","DeliveryContactModel","delivery","contactTypeId","contactType","InvoicingStatus","AvyInvoiceStatus","RealEstateOrderStatus","AddOn","RealEstateOrderContractMethod","ChangeMeasuringMethodRequest","requestedMeasuringMethod","requestStatus","requestedStartDate","currentFirstName","currentLastName","supplierChangeType","elavtalsstatus","statusDescription","orderId","requiresHourlyMeasuring","hasProductionContract","completionId","stoppedForBillingToDate","reasonForTerminationTagId","reasonForTerminationTag","warrantLink","warrantFileId","warrantFile","previousSupplierId","previousSupplier","billogramExtensions","contracts","invoiceItems","signatureId","contacts","changeMeasuringMethodRequests","InvoiceDataRow","AccountingDimension","AccountingObject","InvoiceRow","InvoiceData","invoiceDataCollectionId","CollectStatus","autoStartToken","qrCodeBase64Encoded","state","Status","ContactChannel","ContactType","RealEstateChannel","AddOnStatus","CompletionType","User","user","BatteryVendor","ChargerVendor","HvacVendor","InverterVendor","MeterVendor","VehicleVendor","VendorType","BatteryBrand","ChargerBrand","HvacBrand","InverterBrand","MeterBrand","VehicleBrand","Intervention_domain","Intervention_resolution_access","Intervention_resolution_agent","MspecsSubscriberStatus","NegotiatePeriod","sentTo","completed","EstimatedMonthSource","consumtion","month","price2000","price5000","price20000","priceSE1","priceSE2","priceSE3","priceSE4","priceCertificate","priceEnvironment","priceProfileCostSE1","priceProfileCostSE2","priceProfileCostSE3","priceProfileCostSE4","priceBalanceCost","priceSupplierCost","priceAdministrationCost","year","date","complete","BillogramStatus","currentConsumption","estimatedConsumption","currentCost","estimatedCost","estimatedPrice","source","hours","icon","DevicePlatform","totalSum","remainingSum","invoiceDate","eTag","expirationTime","registrationId","pushVariables","ApiException","obj","isApiException","Spinner","className","style","width","props","height","React","context","UserContextContants","tokenStorage","userStorage","customerStorage","elavtalStorage","currentElavtalStorage","UserContext","SignIn","valid","posting","sessionStorage","getItem","orderRefSessionStorageKey","autoLaunch","isMobile","setState","async","errorCount","link","collectStatus","Pending","authenticationClient","initiate","console","debug","isIOS","setItem","location","href","qrCodeBase64","setTimeout","checkStatus","error","removeItem","Failed","Complete","onCompleted","params","input","Map","trim","split","decodeURIComponent","set","parseQueryString","search","get","ref","formRef","formNoValidate","noValidate","onSubmit","onValid","onValidForm","onInvalid","onInvalidForm","disabled","onClick","toogleAutoLaunch","src","thousandSeparator","ConsumptionComparisonModal","role","Chart","currentElavtal","initChart","client","getClient","consumptions","lastYear","fill","max","filter","Moment","Math","thisYear","chart","datasets","interval","floor","config","scales","yAxes","ticks","update","updateConsumption","chartRef","current","chartContext","getContext","labels","label","backgroundColor","responsive","maintainAspectRatio","xAxes","fontColor","min","tooltips","callbacks","tooltipItem","datasetIndex","yLabel","Input","firstInput","event","currentTarget","adjustValue","setValue","onChange","onValidInput","isValidValue","getValue","errorMessage","skipFirstInput","getErrorMessage","element","multiline","onBlur","handleChange","placeholder","isValid","withFormsy","EmailInput","required","validate","validations","validationError","innerRef","PhoneInput","length","startsWith","matchRegexp","adjustPhone","FetchStatus","Contact","editable","getModel","formModel","Object","assign","selfServiceClient","updateCustomer","updatedCustomer","setCustomer","setToken","save","toogleEdit","PriceDetailsModal","IDLE","FETCHING","priceClient","listLatest","DONE","ERROR","elomrade","fetchPrice","toLocaleString","maximumFractionDigits","minimumFractionDigits","getTotalPriceExVat","format","ElavtalContainer","fixedPrice","PRODUCING","HOURLY","find","target","setCurrentElavtal","Fp","prevProps","prevState","changeElavtal","map","deliveryContractToString","CONSUMING","round","Invoices","invoices","fetchingMore","newInvoices","slice","fetchMore","PAID","UNPAID","ENDED","SCHEDULED","SelfServiceContainer","setElavtal","eventName","SelfServiceApp","signedIn","clear","CustomEvent","detail","dispatchEvent","signedOut","setUser","callback","currentElavtalId","sessionUpdate","addEventListener","Provider","onSignedIn","createHashHistory","basename","ReactDOM","document","getElementById","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","keys","module","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","g","globalThis","Function","prop","prototype","Symbol","toStringTag","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}