{"version":3,"file":"js/main.ab3a6de3c514b0fe.js","sources":["webpack://@maindesk/builder/./tsc/ContentControl/DialogManager.ts","webpack://@maindesk/builder/./tsc/ContentControl/Manager.ts","webpack://@maindesk/builder/./tsc/GlobalStores/Language.ts","webpack://@maindesk/builder/./tsc/GlobalStores/Lock.ts","webpack://@maindesk/builder/./tsc/GlobalStores/ProfileFromStorage.ts","webpack://@maindesk/builder/./tsc/GlobalStores/Update.ts","webpack://@maindesk/builder/./tsc/RequestHandler.ts","webpack://@maindesk/builder/./tsc/Service/handleErrorResponse.ts","webpack://@maindesk/builder/./tsc/functions/getProjectOrigin.ts","webpack://@maindesk/builder/./tsc/functions/jsonParse.ts","webpack://@maindesk/builder/./tsc/generated.ts","webpack://@maindesk/builder/./tsc/react/MailQueue/Store/MessageStore.ts","webpack://@maindesk/builder/./tsc/legacy/helper_alertify.ts","webpack://@maindesk/builder/./tsc/lib/Alertify.ts","webpack://@maindesk/builder/./tsc/lib/ApiCaller.ts","webpack://@maindesk/builder/./tsc/lib/DateQuirks.ts","webpack://@maindesk/builder/./tsc/lib/FormDataCreator.ts","webpack://@maindesk/builder/./tsc/lib/versionAlert.ts","webpack://@maindesk/builder/./tsc/main.tsx","webpack://@maindesk/builder/./tsc/react/ErrorResponse/Component/ErrorResponse/ErrorResponse.tsx","webpack://@maindesk/builder/./tsc/react/MailQueue/Store/MessageQueueStore.ts","webpack://@maindesk/builder/./tsc/react/Service/ApiService.ts","webpack://@maindesk/builder/./tsc/react/Service/Service.ts","webpack://@maindesk/builder/./tsc/react/Service/SetupService.ts","webpack://@maindesk/builder/./tsc/react/Standard/Paper/Paper.tsx","webpack://@maindesk/builder/./tsc/react/Standard/StandardButton.tsx","webpack://@maindesk/builder/./tsc/react/Svg/InlineSvg.tsx","webpack://@maindesk/builder/./tsc/react/Tab/Lib/WorkingStateContext.ts","webpack://@maindesk/builder/./tsc/react/Svg/LoaderImg/LoaderImg.tsx","webpack://@maindesk/builder/./tsc/react/WorkingOverlay.tsx"],"sourcesContent":["import {Manager} from \"./Manager\";\n\nexport class DialogManager extends Manager {\n private static instance?: DialogManager;\n public override rootId = \"dialogContainers\";\n\n constructor() {\n super();\n if (DialogManager.instance) {\n return DialogManager.instance;\n }\n\n const dialogContainer = document.createElement(\"div\");\n dialogContainer.style.zIndex = \"1000\";\n dialogContainer.id = \"dialogContainers\";\n dialogContainer.style.inset = \"0 0 auto 0\";\n dialogContainer.style.position = \"absolute\";\n document.body.append(dialogContainer);\n DialogManager.instance = this;\n }\n\n public override activateTab(uniqId: string | undefined) {\n super.activateTab(uniqId);\n this.moveTabToEnd(this.indexOf(uniqId));\n }\n}\n","import type {Root} from \"react-dom/client\";\nimport {createRoot} from \"react-dom/client\";\nimport {action, makeObservable, observable} from \"mobx\";\nimport {alertify} from \"../legacy/helper_alertify\";\nimport {translate} from \"../GlobalStores/Language\";\nimport type {IContentWrapper} from \"./IContentWrapper\";\n\nconst langGet = await translate(\"Manager\");\n\nexport abstract class Manager {\n public readonly data: Array<[string, IContentWrapper]> = [];\n public active: string | undefined = undefined;\n public rootId: string = \"\";\n\n protected constructor() {\n makeObservable(this, {\n housekeeping: false,\n getRootNode: false,\n getUniqIdsByIdent: false,\n getWrapper: false,\n indexOf: false,\n rootId: false,\n register: action.bound,\n unregister: action.bound,\n hasEntry: false,\n gotoRight: false,\n gotoLeft: false,\n moveTab: action.bound,\n moveTabToEnd: action.bound,\n activateTab: action.bound,\n activateNextTab: false,\n data: observable,\n active: observable,\n isChanged: false\n });\n }\n\n public register(\n wrapper: IContentWrapper,\n activate = true\n ): {\n baseNode: {container: HTMLDivElement; root: Root};\n } {\n const uniqId = wrapper.getUniqId();\n const container = document.createElement(\"div\");\n container.id = uniqId;\n const baseNode = {container: container, root: createRoot(container)};\n const rootNode = document.getElementById(this.rootId);\n if (rootNode) {\n rootNode.append(container);\n }\n\n this.data.push([uniqId, wrapper]);\n if (activate) {\n this.activateTab(uniqId);\n } else {\n alertify.notify(langGet(\"TabWurdeIm\"));\n }\n\n return {baseNode: baseNode};\n }\n\n public unregister(uniqId: string): boolean {\n const rootNode = document.getElementById(this.rootId);\n if (rootNode) {\n const wrapper = this.getWrapper(uniqId);\n\n if (wrapper) {\n let confirmed = true;\n if (wrapper.isChanged()) {\n confirmed = confirm(wrapper.getCloseConfirmMessage());\n }\n\n if (confirmed) {\n wrapper.unmount();\n this.activateNextTab(uniqId);\n\n const toRemoveIndex = this.indexOf(uniqId);\n\n this.data.splice(toRemoveIndex, 1);\n } else {\n return false;\n }\n }\n\n return true;\n }\n return false;\n }\n\n public hasEntry(uniqId: string) {\n return this.data.some(([curUniqId]) => curUniqId === uniqId);\n }\n\n public gotoRight() {\n const activeIndex = this.indexOf(this.active);\n const rightIndex = activeIndex + 1;\n const newActive = this.data[rightIndex];\n if (newActive) {\n this.activateTab(newActive[0]);\n }\n }\n\n public gotoLeft() {\n const activeIndex = this.indexOf(this.active);\n const leftIndex = activeIndex - 1;\n if (leftIndex >= 0) {\n const newActive = this.data[leftIndex];\n if (newActive) {\n this.activateTab(newActive[0]);\n }\n }\n }\n\n public moveTab(index: number, offset: number) {\n const tabsMaxIndex = this.data.length - 1;\n let indexToReplace = index + offset;\n if (indexToReplace < 0) {\n indexToReplace = 0;\n } else if (indexToReplace > tabsMaxIndex) {\n indexToReplace = tabsMaxIndex;\n }\n\n const positionToMove = this.data[index];\n const toReplace = this.data[indexToReplace];\n if (positionToMove && toReplace) {\n this.data[index] = toReplace;\n this.data[indexToReplace] = positionToMove;\n }\n }\n\n public moveTabToEnd(index: number) {\n const tabsMaxIndex = this.data.length - 1;\n if (index > tabsMaxIndex) {\n index = tabsMaxIndex;\n }\n\n const data = this.data.splice(index, 1);\n this.data.push(...data);\n }\n\n public activateTab(uniqId: string | undefined) {\n this.active = uniqId;\n this.housekeeping();\n }\n\n protected housekeeping() {\n return;\n }\n\n public activateNextTab(closingTabId: string) {\n if (closingTabId !== this.active) {\n // Das Tab, das gerade geschlossen wird, ist nicht das aktive Tab. Nichts zu tun\n return;\n }\n\n const currentTabIndex = this.indexOf(closingTabId);\n const maxIndex = this.data.length - 1;\n const rightIndex = currentTabIndex + 1;\n const leftIndex = currentTabIndex - 1;\n\n let newIndex: number;\n if (leftIndex >= 0) {\n // Linker Index ist gültig → neuer Index\n newIndex = leftIndex;\n } else if (rightIndex <= maxIndex) {\n // Rechter Index ist gültig → neuer Index\n newIndex = rightIndex;\n } else {\n // Kein gültiger Index → Kein aktives Tab\n return this.activateTab(undefined);\n }\n\n const newActive = this.data[newIndex];\n this.activateTab(newActive ? newActive[0] : undefined);\n }\n\n public indexOf(uniqId: string | undefined): number {\n return this.data.findIndex((value) => {\n if (this.active) {\n return value[0] === uniqId;\n }\n return false;\n });\n }\n\n public getUniqIdsByIdent(ident: string): string[] {\n return this.data.reduce((acc, cur) => {\n if (cur[1].getIdent() === ident) {\n acc.push(cur[0]);\n }\n return acc;\n }, []);\n }\n\n public getWrapper(uniqId: string | undefined) {\n const index = this.indexOf(uniqId);\n const data = this.data[index];\n if (data) {\n return data[1];\n }\n return undefined;\n }\n\n public getRootNode() {\n return document.getElementById(this.rootId);\n }\n\n public isChanged(): boolean {\n for (const wrapper of this.data) {\n const changed = wrapper[1].isChanged();\n if (changed) {\n return true;\n }\n }\n return false;\n }\n}\n","import type {LangCategory, LangCategoryContent} from \"../@types/i18next\";\nimport type {LangColumnEntry} from \"../react/Table/Store/TableStore\";\nimport tableNameTranslate from \"../../../../system/lang/tableNameTranslate.json\";\nimport {PHPW} from \"../generated.ts\";\nimport ArticleLanguage = PHPW.Entities.Enum.ArticleLanguage;\n\nexport type TOptions = {[key: string]: string | number | readonly string[] | undefined} | undefined;\n\nexport type TCatContent = (key: LangCategoryContent, options?: TOptions) => string;\n\nexport function getLangFromStorage(): ArticleLanguage {\n const value = localStorage.getItem(\"lang\") || undefined;\n\n switch (value) {\n case \"de\":\n case \"german\": {\n return ArticleLanguage.DE;\n }\n case \"en\":\n case \"english\": {\n return ArticleLanguage.EN;\n }\n default: {\n if (navigator.language.startsWith(\"de\")) {\n return ArticleLanguage.DE;\n }\n if (navigator.language.startsWith(\"en\")) {\n return ArticleLanguage.EN;\n }\n return ArticleLanguage.DE;\n }\n }\n}\n\nexport function setLangToStorage(value: string | undefined) {\n if (value === undefined) {\n return localStorage.removeItem(\"lang\");\n }\n return localStorage.setItem(\"lang\", value);\n}\n\nexport function keyPrefix

(prefix: P, key: T): `${P}${T}` {\n return \"\".concat(String(prefix), String(key)) as `${P}${T}`;\n}\n\nexport type Data = {\n [key: string]: string;\n};\n\nexport type TableData = {\n [key: string]: LangColumnEntry;\n};\n\ntype importReturn = {default: unknown};\n\nexport async function fetchTableData(lang: string, nameSpace: string) {\n const namespace = (tableNameTranslate as {[key: string]: string})[nameSpace] || nameSpace;\n try {\n return ((await import(`../../../../system/lang/${lang}/tables/${namespace}.json`)) as importReturn)\n .default as TableData;\n } catch {\n return ((await import(`../../../../system/lang/de/tables/${namespace}.json`)) as importReturn)\n .default as TableData;\n }\n}\n\nasync function fetchData(lang: ArticleLanguage, nameSpace: string) {\n try {\n return ((await import(`../../../../system/lang/${lang}/${nameSpace}.json`)) as importReturn).default as Data;\n } catch {\n return ((await import(`../../../../system/lang/de/${nameSpace}.json`)) as importReturn).default as Data;\n }\n}\n\nasync function fetchCommon(lang: ArticleLanguage) {\n try {\n return ((await import(`../../../../system/lang/${lang}/common.json`)) as importReturn).default as Data;\n } catch {\n return ((await import(`../../../../system/lang/de/common.json`)) as importReturn).default as Data;\n }\n}\n\nexport function fetchAllData(lang: ArticleLanguage, nameSpace: string): Promise<[Data, Data]> {\n return Promise.all([fetchData(lang, nameSpace), fetchCommon(lang)]);\n}\n\nexport function unpack(data: Data, common: Data, key: string, options?: TOptions): string {\n const value = data[key] || common[key] || \"MISSING:\" + key;\n if (options) {\n return Array.from(Object.entries(options || {})).reduce((acc, [key, value]) => {\n return acc.replaceAll(`{{${key}}}`, String(value));\n }, value);\n }\n\n return value;\n}\n\nexport function unpackTable(data: TableData, key: string): LangColumnEntry {\n return data[key] || {long: \"MISSING:\" + key};\n}\n\nexport async function translate(nameSpace: NS): Promise> {\n const lang = getLangFromStorage();\n const [data, common] = await fetchAllData(lang, nameSpace);\n return function (key: LangCategoryContent, options?: TOptions) {\n return unpack(data, common, key, options);\n };\n}\n","import {types} from \"mobx-state-tree\";\nimport {reaction} from \"mobx\";\nimport {DialogManager} from \"../ContentControl/DialogManager\";\nimport {minuteMilliseconds} from \"../lib/DateQuirks\";\n\nexport const LockStore = types\n .model(\"LockStore\", {\n locked: types.optional(types.boolean, true),\n ttl: types.optional(types.integer, 9999)\n })\n .actions((self) => ({\n setLocked: function (value: boolean = !self.locked) {\n const modalRoot = new DialogManager().getRootNode();\n\n self.locked = value;\n if (modalRoot && value) {\n // Sperren\n modalRoot.style.display = \"none\";\n } else if (modalRoot) {\n // entsperren\n modalRoot.style.display = \"\";\n }\n },\n setTtl: function (value: number) {\n self.ttl = Math.floor(value / 60);\n },\n decreaseTtl: function () {\n self.ttl--;\n }\n }));\n\nexport const Lock = LockStore.create({});\n\nsetInterval(() => {\n Lock.decreaseTtl();\n}, minuteMilliseconds);\n\nreaction(\n () => Lock.ttl,\n (ttl) => {\n if (ttl <= 0) {\n Lock.setLocked(true);\n }\n }\n);\n","import {SetupService} from \"../react/Service/SetupService.ts\";\n\nexport function getProfileFromStorage(): string {\n return localStorage.getItem(\"profile\") || \"root\";\n}\n\nexport function setProfileToStorage(value: string | undefined) {\n if (value === undefined) {\n return localStorage.removeItem(\"profile\");\n }\n\n localStorage.setItem(\"profile\", value);\n}\n\nexport function isTouchBased(): boolean {\n const profile = getProfileFromStorage();\n return profile === \"smartphone\" || profile === \"tablet\";\n}\n\nexport function isSmartphone(): boolean {\n const profile = getProfileFromStorage();\n return profile === \"smartphone\";\n}\n\nexport function isTablet(): boolean {\n const profile = getProfileFromStorage();\n return profile === \"tablet\";\n}\n\nexport async function initProfile() {\n const local = localStorage.getItem(\"profile\");\n if (local) {\n setProfileToStorage(local);\n } else {\n const deviceType = await SetupService.init().getDeviceType();\n\n if (deviceType) {\n if (deviceType.isPhone) {\n setProfileToStorage(\"smartphone\");\n }\n if (deviceType.isTablet) {\n setProfileToStorage(\"tablet\");\n }\n }\n }\n}\n","import {types} from \"mobx-state-tree\";\n\nexport const UpdateStore = types\n .model(\"UpdateStore\", {\n available: types.optional(types.boolean, false)\n })\n .actions((self) => ({\n setAvailable: (value: boolean) => {\n self.available = value;\n }\n }));\n\nexport const Update = UpdateStore.create({});\n","import {Lock} from \"./GlobalStores/Lock\";\nimport type {SendObject} from \"./lib/FormDataCreator\";\nimport {FormDataCreator} from \"./lib/FormDataCreator\";\nimport {versionAlert} from \"./lib/versionAlert\";\nimport type {IErrorResponse} from \"./Service/IErrorResponse\";\nimport {handleErrorResponse} from \"./Service/handleErrorResponse\";\nimport {jsonParse} from \"./functions/jsonParse\";\n\ntype IResponseBody = unknown;\n\ninterface IRequestHandlerResponseBase {\n status: number;\n mimeString: string;\n filename?: string;\n response?: T;\n\n raw: boolean;\n rawResponse?: Blob | File;\n\n text: boolean;\n\n error?: IErrorResponse;\n}\n\nexport interface IRequestHandlerResponseError extends IRequestHandlerResponseBase {\n error: IErrorResponse;\n}\n\ninterface IRequestHandlerResponseTyped\n extends IRequestHandlerResponseBase {\n raw: isRaw;\n\n text: isText;\n\n error?: undefined;\n}\n\ninterface IRequestHandlerResponseRaw extends IRequestHandlerResponseTyped {\n rawResponse: Blob | File;\n}\n\ninterface IRequestHandlerResponseText extends IRequestHandlerResponseTyped {\n response: string;\n}\n\ntype IRequestHandlerResponseInternal = IRequestHandlerResponseTyped;\n\nexport type IRequestHandlerResponse =\n | IRequestHandlerResponseTyped\n | IRequestHandlerResponseText\n | IRequestHandlerResponseRaw;\n\ntype IRequestHandlerInternal = IRequestHandlerResponse | IRequestHandlerResponseError;\n\nexport type IRequestHandlerParams = unknown;\n\nexport type IRequestHandlerBody = unknown;\n\ntype TRequestMethodCorsSafe = \"GET\" | \"HEAD\" | \"POST\";\ntype TRequestMethodCustom = \"ACTION\";\nexport type TRequestMethod = TRequestMethodCorsSafe | \"PATCH\" | \"PUT\" | \"DELETE\" | TRequestMethodCustom;\n\ninterface IRequestData {\n route: string;\n method: TRequestMethod;\n\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n params?: IRequestHandlerParams | undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n body?: IRequestHandlerBody | undefined;\n abortSignal?: AbortSignal | undefined;\n}\n\nexport interface ILegacyCallOptions {\n rawResponse?: boolean;\n disableRetryCache?: boolean;\n lock?: boolean;\n}\n\nexport interface IInternalCallOptions extends ICallOptions {\n route: string | Array;\n method: TRequestMethod;\n}\n\nexport interface ICallOptions {\n params?: IRequestHandlerParams;\n body?: IRequestHandlerBody;\n abortSignal?: AbortSignal;\n rawResponse?: boolean;\n disableRetryCache?: boolean;\n lock?: boolean;\n}\n\nexport class RequestHandler {\n private static retryCache = new Map void>();\n\n public static formatParams(params: IRequestHandlerParams) {\n if (params) {\n let param;\n if (params instanceof FormData) {\n param = new URLSearchParams(params as unknown as Record).toString();\n } else {\n param = new FormDataCreator(params as SendObject).param();\n }\n return \"?\" + param;\n }\n return \"\";\n }\n\n public static reCallCached() {\n RequestHandler.retryCache.forEach(function (value) {\n value();\n });\n RequestHandler.retryCache.clear();\n }\n\n private static prepareRequest(requestData: IRequestData) {\n const header = new Headers();\n header.append(\"X-Requested-With\", \"RequestHandler\");\n if ([\"GET\", \"HEAD\"].includes(requestData.method)) {\n return new Request(requestData.route + RequestHandler.formatParams(requestData.params), {\n headers: header,\n method: requestData.method,\n credentials: \"same-origin\",\n cache: \"no-cache\",\n signal: requestData.abortSignal\n });\n } else {\n if (requestData.body instanceof Blob) {\n // header.append(\"Content-Type\", requestData.body.type);\n } else if (requestData.body instanceof FormData) {\n // header.append(\"Content-Type\", \"multipart/form-data\");\n } else {\n header.append(\"Content-Type\", \"application/json\");\n }\n\n return new Request(requestData.route + RequestHandler.formatParams(requestData.params), {\n body:\n requestData.body instanceof FormData || requestData.body instanceof Blob\n ? requestData.body\n : JSON.stringify(requestData.body, function (_k, v) {\n // eslint-disable-next-line unicorn/no-null,@typescript-eslint/no-unsafe-return\n return v === undefined ? null : v;\n }),\n headers: header,\n method: requestData.method,\n credentials: \"same-origin\",\n cache: \"no-cache\",\n signal: requestData.abortSignal\n });\n }\n }\n\n private static initialResponse(): IRequestHandlerResponseInternal {\n return {\n status: 500,\n mimeString: \"\",\n text: false,\n raw: false\n };\n }\n\n /**\n @throws {IRequestHandlerResponseError}\n @throws {TypeError} von fetch\n @throws {DOMException} von fetch\n */\n private static async handleRequest(\n requestData: IRequestData,\n disableRetryCache?: boolean,\n rawResponse?: boolean,\n lock: boolean = true\n ): Promise> {\n const request = RequestHandler.prepareRequest(requestData);\n const response = await fetch(request);\n return RequestHandler.handleResponse(response.clone(), requestData, disableRetryCache, rawResponse, lock);\n }\n\n /**\n * @throws {IRequestHandlerResponseError}\n */\n private static async handleResponse(\n response: Response,\n requestData: IRequestData,\n disableRetryCache?: boolean,\n rawResponse?: boolean,\n lock: boolean = true\n ): Promise> {\n const ttl = Number(response.headers.get(\"x-cookie-ttl\"));\n if (ttl > 0) {\n Lock.setTtl(ttl);\n }\n const version = response.headers.get(\"x-version\");\n if (version) {\n versionAlert(version);\n }\n\n if (response.status === 401) {\n if (lock) {\n Lock.setLocked(true);\n }\n if (!disableRetryCache) {\n return new Promise(function (resolve, reject) {\n RequestHandler.retryCache.set(requestData, function () {\n RequestHandler.handleRequest(requestData, disableRetryCache, rawResponse)\n .then(resolve)\n .catch(reject);\n });\n });\n }\n } else {\n if (RequestHandler.retryCache.has(requestData)) {\n RequestHandler.retryCache.delete(requestData);\n }\n }\n\n return this.convertResponse(response, requestData, rawResponse);\n }\n\n /**\n * @throws {IRequestHandlerResponseError}\n */\n private static async convertResponse(\n response: Response,\n requestData: IRequestData,\n rawResponse?: boolean\n ): Promise> {\n const apiResponseBase: IRequestHandlerResponseInternal = {\n ...RequestHandler.initialResponse(),\n status: response.status,\n mimeString: response.headers.get(\"Content-Type\") || \"\",\n filename: (response.headers.get(\"Content-Disposition\")?.match(/filename=\"(.+)\"$/i) || [])[1]\n };\n const isError = this.isStatusError(apiResponseBase.status);\n if (isError) {\n rawResponse = undefined;\n }\n\n let apiResponse: IRequestHandlerResponse;\n if (!rawResponse && apiResponseBase.mimeString.startsWith(\"application/json\")) {\n apiResponse = {\n ...apiResponseBase,\n response: jsonParse(await response.text()) as T,\n raw: false,\n text: false\n };\n } else if (!rawResponse && apiResponseBase.mimeString.startsWith(\"text/\")) {\n apiResponse = {\n ...apiResponseBase,\n response: await response.text(),\n text: true,\n raw: false\n };\n } else {\n let blobResponse = await response.blob();\n if (apiResponseBase.filename) {\n blobResponse = new File([blobResponse], apiResponseBase.filename, {type: apiResponseBase.mimeString});\n }\n apiResponse = {\n ...apiResponseBase,\n rawResponse: blobResponse,\n // response: blobResponse,\n raw: true,\n text: false\n };\n }\n if (isError) {\n this.apiResponseToError(apiResponse, requestData);\n }\n return apiResponse;\n }\n\n private static isStatusError(status: number) {\n // status auf die Coderange reduzieren und mit den relevanten Ranges vergleichen\n return [4, 5, 9].includes(Math.trunc(status / 100));\n }\n\n /**\n * @throws {IRequestHandlerResponseError}\n */\n private static apiResponseToError(apiResponse: IRequestHandlerInternal, requestData: IRequestData): never {\n if (apiResponse.raw) {\n apiResponse.error = {message: \"Unknown structure\"};\n } else {\n if (apiResponse.text) {\n apiResponse.error = {message: apiResponse.response || \"\"};\n apiResponse.text = false;\n apiResponse.response = undefined;\n } else {\n apiResponse.error = apiResponse.response as unknown as IErrorResponse;\n apiResponse.response = undefined;\n }\n }\n apiResponse.error.route = requestData.route;\n\n throw apiResponse;\n }\n\n public async legacyCall(\n route: string,\n method: TRequestMethod = \"GET\",\n params?: IRequestHandlerParams,\n body?: IRequestHandlerBody,\n abortSignal?: AbortSignal,\n options?: ILegacyCallOptions\n ): Promise> {\n return this.call({\n ...options,\n route: route,\n method: method,\n params: params,\n body: body,\n abortSignal: abortSignal\n });\n }\n\n /**\n * @throws {IRequestHandlerResponseError}\n * @throws {TypeError} von fetch\n * @throws {DOMException} von fetch\n */\n public async call(options: IInternalCallOptions): Promise> {\n const callOptions: IInternalCallOptions = {\n lock: options.lock === undefined ? true : options.lock,\n ...options\n };\n\n try {\n import(\"./functions/Heart\")\n .then(function (imported) {\n return imported.resetTimer();\n })\n .catch(console.error);\n\n let route: string;\n if (Array.isArray(callOptions.route)) {\n route = callOptions.route.filter((part) => part !== undefined).join(\"/\");\n } else {\n route = callOptions.route;\n }\n\n return await RequestHandler.handleRequest(\n {\n route: route,\n method: callOptions.method,\n params: callOptions.params,\n body: callOptions.body,\n abortSignal: callOptions.abortSignal\n },\n callOptions.disableRetryCache,\n callOptions.rawResponse,\n callOptions.lock\n ).catch((exception: IRequestHandlerInternal | TypeError | DOMException) => {\n // defaulthandling, nur wenn überhaupt ein error da ist\n if (exception && typeof exception === \"object\" && \"error\" in exception && exception.error) {\n const skipDefaultErrorHandling = [404];\n // standardverhalten für disableRetryCache setzen\n if (callOptions.disableRetryCache) {\n skipDefaultErrorHandling.push(401);\n }\n // prüfen ob der status code enthalten ist\n if (!skipDefaultErrorHandling.includes(exception.status)) {\n handleErrorResponse(exception.error);\n }\n }\n\n throw exception;\n });\n } catch (e) {\n if (e && typeof e === \"object\" && \"status\" in e && e?.status === 401) {\n // 401 braucht keinen log\n } // eslint-disable-next-line @typescript-eslint/no-deprecated\n else if (e && e instanceof DOMException && (e.name === \"AbortError\" || e.code === e.ABORT_ERR)) {\n // abortSignal braucht keinen log\n } else {\n console.error(e);\n }\n\n throw e;\n }\n }\n}\n","import {createElement} from \"react\";\nimport {Alertify} from \"../lib/Alertify\";\nimport type {IErrorResponseProps} from \"../react/ErrorResponse/Component/ErrorResponse/ErrorResponse\";\nimport {ErrorResponse} from \"../react/ErrorResponse/Component/ErrorResponse/ErrorResponse\";\nimport {alertify} from \"../legacy/helper_alertify\";\nimport {translate} from \"../GlobalStores/Language\";\nimport type {IErrorResponse, IExceptionFragment} from \"./IErrorResponse\";\n\nconst langGet = await translate(\"handleErrorResponse\");\n\nfunction getDefaultErrorDisplay(): IErrorResponseProps {\n return {\n title: langGet(\"unknown.title\"),\n message: langGet(\"unknown.message\")\n };\n}\n\nfunction nicerErrorFind(latestError: IExceptionFragment, errorDisplay?: IErrorResponseProps): IErrorResponseProps {\n errorDisplay = errorDisplay || getDefaultErrorDisplay();\n errorDisplay.detail = latestError;\n switch (latestError.exception) {\n case String.raw`PHPW\\Exception\\WorkLock`: {\n errorDisplay.title = langGet(\"PHPW/Exception/WorkLock.title\");\n errorDisplay.message = langGet(\"PHPW/Exception-WorkLock.message\");\n break;\n }\n case String.raw`PHPW\\Exception\\ArrayToObjectException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/ArrayToObjectException.title\");\n errorDisplay.message = langGet(\"PHPW/Exception/ArrayToObjectException.message\", {\n exception: latestError.exception,\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Exception\\ChangedSinceOpenException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/ChangedSinceOpenException.title\");\n errorDisplay.message = langGet(\"PHPW/Exception/ChangedSinceOpenException.message\");\n break;\n }\n case String.raw`PHPW\\Exception\\NodeCallerTimeoutException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/NodeCallerTimeoutException.title\");\n errorDisplay.message = langGet(\"PHPW/Exception/NodeCallerTimeoutException.message\", {\n exception: latestError.exception,\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Article\\Exception\\RecursionException`: {\n errorDisplay.title = langGet(\"PHPW/Article/Exception/RecursionException.title\");\n errorDisplay.message = langGet(\"PHPW/Article/Exception/RecursionException.message\", {\n exception: latestError.exception,\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\MailServerTookTooLongException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailServerTookTooLongException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailServerTookTooLongException.message\");\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\MailServerCutConnectionException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailServerCutConnectionException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailServerCutConnectionException.message\");\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\DNSServerProblemException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/DNSServerProblemException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/DNSServerProblemException.message\");\n break;\n }\n case String.raw`PHPW\\Exception\\MailTLSVersionException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailTLSVersionException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailTLSVersionException.message\", {\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\SQL\\Exception\\SQLQueryException`: {\n errorDisplay.title = langGet(\"PHPW/SQL/Exception/SQLQueryException.title\");\n errorDisplay.message = langGet(\"PHPW/SQL/Exception/SQLQueryException.message\", {\n exception: latestError.exception,\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Parcel\\Exception\\ParcelApiException`: {\n {\n errorDisplay.title = langGet(\"PHPW/Parcel/Exception/ParcelApiException.title\");\n errorDisplay.message = langGet(\"PHPW/Parcel/Exception/ParcelApiException.message\", {\n exceptionMessage: latestError.exceptionMessage\n });\n }\n break;\n }\n case String.raw`PHPW\\Parcel\\Exception\\ParcelException`: {\n {\n errorDisplay.title = langGet(\"PHPW/Parcel/Exception/ParcelException.title\");\n errorDisplay.message = langGet(\"PHPW/Parcel/Exception/ParcelException.message\", {\n exception: latestError.exception,\n exceptionMessage: latestError.exceptionMessage\n });\n }\n break;\n }\n case String.raw`PHPW\\Parcel\\Exception\\ParcelInvalidArgumentException`: {\n {\n errorDisplay.title = langGet(\"PHPW/Parcel/Exception/ParcelInvalidArgumentException.title\");\n errorDisplay.message = langGet(\"PHPW/Parcel/Exception/ParcelInvalidArgumentException.message\", {\n exceptionMessage: latestError.exceptionMessage\n });\n }\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\ServerMailNotFoundException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/ServerMailNotFoundException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/ServerMailNotFoundException.message\");\n break;\n }\n case String.raw`PHPW\\ERechnung\\Exception\\ERechnungException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/ERechnungException.title\");\n errorDisplay.message = langGet(\"PHPW/Exception/ERechnungException.message\", {\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Exception\\MailsenderException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/MailsenderException.title\");\n errorDisplay.message = langGet(\"PHPW/Exception/MailsenderException.message\", {\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\MailImapFlagException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailImapFlagException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailImapFlagException.message\");\n errorDisplay.onlyNotify = \"warning\";\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\MailImapSentException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailImapSentException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailImapSentException.message\");\n errorDisplay.onlyNotify = \"warning\";\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\MailNoSenderException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailNoSenderException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailNoSenderException.message\");\n break;\n }\n case String.raw`PHPW\\Mail\\Exception\\MailNoRecipientException`: {\n errorDisplay.title = langGet(\"PHPW/Mail/Exception/MailNoRecipientException.title\");\n errorDisplay.message = langGet(\"PHPW/Mail/Exception/MailNoRecipientException.message\");\n break;\n }\n case String.raw`PHPW\\Process\\Exception\\BookingException`: {\n errorDisplay.title = langGet(\"PHPW/Process/Exception/BookingException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Exception\\DatevImportException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/DatevImportException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Camt\\Exception\\CamtImportException`: {\n errorDisplay.title = langGet(\"PHPW/Camt/Exception/CamtImportException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Exception\\NoBillFoundException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/NoBillFoundException.title\");\n errorDisplay.message = langGet(\"PHPW/Exception/NoBillFoundException.message\");\n break;\n }\n case String.raw`PHPW\\Process\\Exception\\FinalizedException`: {\n errorDisplay.title = langGet(\"PHPW/Process/Exception/FinalizedException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Process\\Exception\\StockException`: {\n errorDisplay.title = langGet(\"PHPW/Process/Exception/StockException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\InvalidStockActionException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/InvalidStockActionException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\AlreadySolvedException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/AlreadySolvedException.title\");\n errorDisplay.message = langGet(\"PHPW/Lager/Exception/AlreadySolvedException.message\", {\n entryId: latestError.exceptionMessage\n });\n errorDisplay.onlyNotify = \"warning\";\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\NoArticleException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/AlreadySolvedException.title\");\n errorDisplay.message = langGet(\"PHPW/Lager/Exception/NoArticleException.message\", {\n entryId: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\NoBatchSupportException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/AlreadySolvedException.title\");\n errorDisplay.message = langGet(\"PHPW/Lager/Exception/NoBatchSupportException.message\", {\n entryId: latestError.exceptionMessage\n });\n errorDisplay.onlyNotify = \"error\";\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\NoDispoPiecesSupportException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/AlreadySolvedException.title\");\n errorDisplay.message = langGet(\"PHPW/Lager/Exception/NoDispoPiecesSupportException.message\", {\n entryId: latestError.exceptionMessage\n });\n errorDisplay.onlyNotify = \"error\";\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\AmountToSerialDiffException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/AlreadySolvedException.title\");\n errorDisplay.message = langGet(\"PHPW/Lager/Exception/AmountToSerialDiffException.message\", {\n entryId: latestError.exceptionMessage\n });\n errorDisplay.onlyNotify = \"error\";\n\n errorDisplay.overrideNotifyAction = async () =>\n (await import(\"../react/Mobile/Inventur/opener/mobileOpenArticle\")).mobileOpenArticleDialog(\n Number(latestError.exceptionMessage)\n );\n break;\n }\n case String.raw`PHPW\\Lager\\Exception\\NonEmptyStockException`: {\n errorDisplay.title = langGet(\"PHPW/Lager/Exception/NonEmptyStockException.title\");\n errorDisplay.message = langGet(\"PHPW/Lager/Exception/NonEmptyStockException.message\", {\n stockName: latestError.exceptionMessage\n });\n break;\n }\n case String.raw`TS\\Error\\MailAttachment\\NotFoundError`: {\n errorDisplay.title = langGet(\"TS/Error/MailAttachment/NotFoundError.title\");\n errorDisplay.message = langGet(\"TS/Error/MailAttachment/NotFoundError.message\", {\n file: latestError.file\n });\n break;\n }\n case String.raw`TS\\Error\\MailAttachment\\NotReadableError`: {\n errorDisplay.title = langGet(\"TS/Error/MailAttachment/NotReadableError.title\");\n errorDisplay.message = langGet(\"TS/Error/MailAttachment/NotReadableError.message\", {\n file: latestError.file\n });\n break;\n }\n case String.raw`TS\\Error\\MailAttachment\\SecurityError`: {\n errorDisplay.title = langGet(\"TS/Error/MailAttachment/SecurityError.title\");\n errorDisplay.message = langGet(\"TS/Error/MailAttachment/SecurityError.message\", {\n file: latestError.file\n });\n break;\n }\n case String.raw`PHPW\\Calendar\\Exception\\TerminException`: {\n errorDisplay.title = \"\";\n errorDisplay.message = langGet(\"PHPW/Calendar/Exception/TerminException\");\n errorDisplay.onlyNotify = \"error\";\n break;\n }\n case String.raw`PHPW\\Exception\\EntityFlushException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/EntityFlushException\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n case String.raw`PHPW\\Exception\\SystemReadOnlyException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/SystemReadOnlyException\");\n errorDisplay.message = langGet(\"PHPW/Exception/SystemReadOnlyException\");\n break;\n }\n case String.raw`PHPW\\Exception\\SystemDisabledException`: {\n errorDisplay.title = langGet(\"PHPW/Exception/SystemDisabledException\");\n errorDisplay.message = langGet(\"PHPW/Exception/SystemDisabledException\");\n break;\n }\n case String.raw`PHPW\\ApiRoutes\\Lib\\Payment\\Exception\\SepaXmlException`: {\n errorDisplay.title = langGet(\"PHPW/ApiRoutes/Lib/Payment/Exception/SepaXmlException.title\");\n errorDisplay.message = latestError.exceptionMessage;\n break;\n }\n default: {\n errorDisplay.title = langGet(\"default.title\");\n errorDisplay.message = langGet(\"default.message\", {\n exception: latestError.exception,\n exceptionMessage: latestError.exceptionMessage\n });\n break;\n }\n }\n return errorDisplay;\n}\n\nfunction asDialog(errorDisplay: IErrorResponseProps) {\n Alertify.alert(errorDisplay.title, createElement(ErrorResponse, errorDisplay));\n}\n\nexport function handleErrorResponse(response: IErrorResponse) {\n const errorDisplay = getDefaultErrorDisplay();\n\n if (response.message) {\n errorDisplay.message = response.message;\n }\n if (response.route) {\n errorDisplay.route = response.route;\n }\n if (response.exception?.length) {\n const latestError = response.exception.at(0);\n if (latestError) {\n errorDisplay.detail = latestError;\n nicerErrorFind(latestError, errorDisplay);\n }\n errorDisplay.chain = response.exception.slice(1).map(function (value) {\n return nicerErrorFind(value);\n });\n }\n\n if (errorDisplay.onlyNotify) {\n alertify.notify(String(`${errorDisplay.title}: ${errorDisplay.message}`), errorDisplay.onlyNotify, () => {\n if (errorDisplay.overrideNotifyAction) {\n errorDisplay.overrideNotifyAction();\n } else {\n asDialog(errorDisplay);\n }\n });\n } else {\n asDialog(errorDisplay);\n }\n}\n","/**\n * Gibt den wahren basispfad zurück oder hängt ihn vor den übergebenen string;\n *\n * @returns string projectOrigin\n */\n\nexport class Location {\n public static getPathname() {\n return window.location.pathname;\n }\n\n public static getOrigin() {\n return window.location.origin;\n }\n}\n\nexport function getProjectOrigin(somepath = \"\") {\n const path = Location.getPathname() + somepath;\n let pathElements = path.split(\"/\");\n const lastIsAlwaysRelevant = pathElements.pop() || \"\";\n pathElements = pathElements.reduce((acc, cur) => {\n if (cur.length > 0) {\n acc.push(cur);\n }\n return acc;\n }, []);\n pathElements.push(lastIsAlwaysRelevant);\n return \"/\" + pathElements.join(\"/\");\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-redundant-type-constituents\nfunction reviver(_key: string, value: any): undefined | any {\n if (value === null) {\n return undefined;\n }\n return value;\n}\n\nexport function jsonParse(json: string): unknown {\n return JSON.parse(json, reviver);\n}\n","export namespace PHPW {\n export enum Permissions {\n \"_Entwickleroptionen\" = 5,\n \"_Farbeinstellungen\" = 6,\n \"_Farbeinstellungen_global_\" = 7,\n \"_Mobile_App_Schnellmenue\" = 10,\n \"_Mobile_App_NeuesFoto\" = 11,\n \"_Lagerverwaltung\" = 18,\n \"_Export_Liste\" = 74,\n \"_Export_AlleSpalten\" = 76,\n \"_Unbekannt_Yellowbox\" = 81,\n \"_Chat\" = 86,\n \"_Notizblock\" = 87,\n \"_Taschenrechner\" = 88,\n \"_Converter\" = 89,\n \"_CurrencyConverter\" = 84,\n \"_Barcode_MDE\" = 90,\n \"Optionen_Benutzerprofil\" = 23,\n \"Optionen_MyMenu_Einstellungen\" = 24,\n \"Optionen_Mailsuche\" = 26,\n \"Optionen_Spamsperreimportieren\" = 28,\n \"Optionen_Aufrufhistorie\" = 29,\n \"Optionen_Aenderungsverlauf\" = 22,\n \"Optionen_Datenimportieren\" = 32,\n \"Optionen_Export\" = 73,\n \"Optionen_AenderungenAufgabe\" = 75,\n \"Optionen_Dashboard\" = 85,\n \"Optionen_Suche\" = 94,\n \"Optionen_PDF_Einstellungen\" = 96,\n \"Administration_Benutzerverwaltung\" = 30,\n \"Administration_Berechtigungen1\" = 31,\n \"Administration_AlsUsereinloggen\" = 33,\n \"Administration_Administration\" = 34,\n \"Administration_Berechtigungen2\" = 35,\n \"Administration_Berechtigungsgruppen\" = 36,\n \"Administration_Loeschliste\" = 68,\n \"Administration_Hilfepflegen\" = 91,\n \"Administration_Backup\" = 93,\n \"Administration_Einstellungen\" = 95,\n \"Administration_Sitzungwiederherstellen\" = 97,\n \"Administration_NeuerLink\" = 98,\n \"Administration_Systemeinstellungen\" = 99,\n \"Administration_Infoboxberechtigungen\" = 551,\n \"Administration_Infodiagrammberechtigungen\" = 553,\n \"Administration_Infotabellenerechtigungen\" = 554,\n \"Administration_MailAccounts\" = 1082,\n \"Administration_Mail_Adressliste_Partial\" = 1083,\n \"Administration_Mailsetup\" = 1170,\n \"Dev_ProcessGroups\" = 99_001,\n \"Administration_Reports\" = 1207,\n \"Artikel_Wareneingang\" = 20,\n \"Artikel_Warenausgang\" = 21,\n \"Artikel_Preislisteimportieren\" = 101,\n \"Artikel_Artikelimportieren\" = 102,\n \"Artikel_ArtikelAufrufhistorie\" = 103,\n \"Artikel_ArtikelAenderungen\" = 104,\n \"Artikel_ArtikelVerknuepfungen\" = 105,\n \"Artikel_Einkaufspreisanzeigen\" = 110,\n \"Artikel_Verkaufspreis1anzeigen\" = 111,\n \"Artikel_Verkaufspreis2anzeigen\" = 112,\n \"Artikel_Verkaufspreis3anzeigen\" = 113,\n \"Artikel_UVPanzeigen\" = 114,\n \"Artikel_Strassenpreisanzeigen\" = 115,\n \"Artikel_Shop_Preisanzeigen\" = 116,\n \"Artikel_NeuerArtikel\" = 120,\n \"Artikel_nurbestehendenlesend\" = 121,\n \"Artikel_Artikel_Ebene1\" = 122,\n \"Artikel_Artikel_Ebene2\" = 123,\n \"Artikel_Artikel_Changelog\" = 124,\n \"Artikel_Bestandspflege\" = 125,\n \"Artikel_nichtvergeben\" = 126,\n \"Artikel_Chargen_Liste\" = 130,\n \"Artikel_Artikel_Liste\" = 140,\n \"Artikel_Artikelloeschen\" = 141,\n \"Artikel_ArtikelDatanorm\" = 142,\n \"Artikel_Bestandsverlauf\" = 145,\n \"Artikel_AllePreismodifikationen\" = 146,\n \"Artikel_Preismodifikationeneditieren\" = 147,\n \"Artikel_Preismodifikationenloeschen\" = 148,\n \"Artikel_Paketliste\" = 150,\n \"Artikel_Artikel_Maskeoeffnen\" = 168,\n \"Artikel_Lohnminutenbearbeiten\" = 169,\n \"Artikel_Shoppreisbearbeiten\" = 170,\n \"Artikel_Artikelbeschreibungbearbeiten\" = 171,\n \"Artikel_Lagerdatenbearbeiten\" = 172,\n \"Artikel_Lieferantenbearbeiten\" = 173,\n \"Artikel_Lagerbestand\" = 181,\n \"Artikel_Lagerbest_manuellesDatum\" = 182,\n \"Artikel_LagerSummenanzeige\" = 183,\n \"Artikel_ReserviertelagerKorrektur\" = 184,\n \"Artikel_ArtikelInventurOnlyOpen\" = 185,\n \"Artikel_ArtikelInventurOnlyOpenAdd\" = 186,\n \"Artikel_ArtikelInventur\" = 187,\n \"Artikel_ArtikelInventurAdd\" = 188,\n \"Artikel_ArtikelInventurCorrection\" = 189,\n \"Artikel_Seriennummer_Liste\" = 190,\n \"Artikel_Seriennummer_Maske\" = 191,\n \"Artikel_Seriennummern_erweitertesEditieren\" = 192,\n \"Artikel_Basic_setup\" = 99_004,\n \"Artikel_Shop_setup\" = 99_005,\n \"Artikel_ExtraFields_setup\" = 99_006,\n \"Kontakte_Kontakteimportieren\" = 201,\n \"Kontakte_contact_import\" = 202,\n \"Kontakte_deny_additional_tabs\" = 210,\n \"Kontakte_NeuerKontakt\" = 220,\n \"Kontakte_Kontaktebearbeiten\" = 221,\n \"Kontakte_AlleKennzeichen\" = 230,\n \"Kontakte_Kennzeichenloeschen\" = 231,\n \"Kontakte_Kennzeichenanlegen_editieren_Textaendern_\" = 232,\n \"Kontakte_Kennzeichenvergeben\" = 233,\n \"Kontakte_Kontakt_Kennzeichen_Aenderungen\" = 235,\n \"Kontakte_AlleKontakte\" = 240,\n \"Kontakte_VertraulicheKontakteanzeigen\" = 241,\n \"Kontakte_Kontaktpersonen_Maske\" = 244,\n \"Kontakte_AllePersonen\" = 245,\n \"Kontakte_PersonLoeschen\" = 246,\n \"Kontakte_NeuePaketeeintragen\" = 251,\n \"Kontakte_NeuePreisanfrageerstellen_einsehen\" = 252,\n \"Kontakte_Bearbeitungshistorie\" = 260,\n \"Kontakte_Loeschliste\" = 270,\n \"Kontakte_Kontaktloeschen\" = 271,\n \"Kontakte_Kontaktloeschen_unwiderruflich_\" = 272,\n \"Kontakte_Dublettenbearbeiten\" = 280,\n \"Kontakte_alleAktivitaeten\" = 290,\n \"Projekte_ProjektSonderberechtigung1\" = 301,\n \"Projekte_ProjektSonderberechtigung2\" = 302,\n \"Projekte_ProjektSonderberechtigung3\" = 303,\n \"Projekte_ProjektSonderberechtigung4\" = 304,\n \"Projekte_ProjektSonderberechtigung5\" = 305,\n \"Projekte_ProjektSonderberechtigung6\" = 306,\n \"Projekte_ProjektSonderberechtigung7\" = 307,\n \"Projekte_ProjektSonderberechtigung8\" = 308,\n \"Projekte_ReiterohneeigeneRechteanzeigen\" = 309,\n \"Projekte_Projekt_Liste_MailanhaengeImport_Dialog\" = 310,\n \"Projekte_Projektloeschen\" = 311,\n \"Projekte_geloeschteProjekteanzeigen\" = 312,\n \"Projekte_Summenanzeige\" = 313,\n \"Projekte_Projektmaske\" = 320,\n \"Projekte_Projektbeschreibungbearbeiten\" = 322,\n \"Projekte_Freitextfelderbearbeiten\" = 323,\n \"Vorgaenge_Preisliste\" = 160,\n \"Vorgaenge_Sendungsnummern_Paketnummer_Liste\" = 470,\n \"Vorgaenge_Sendungsnummer_Paketnummererstellen\" = 471,\n \"Vorgaenge_Charge\" = 401,\n \"Vorgaenge_Vorgangsnamenaendern\" = 402,\n \"Vorgaenge_Positions_Extradaten\" = 409,\n \"Vorgaenge_Positionshistorie\" = 410,\n \"Vorgaenge_SummeninPositionsverlauf\" = 411,\n \"Vorgaenge_PreiseundSeriennummerinPartialanzeigen\" = 412,\n \"Vorgaenge_ArtikelstammdateninVorgangspositioneditierbar\" = 413,\n \"Vorgaenge_finalize\" = 419,\n \"Vorgaenge_NeuerVorgang\" = 420,\n \"Vorgaenge_Rechnungsdatumaendern\" = 421,\n \"Vorgaenge_Brutto_Netto_Switch\" = 422,\n \"Vorgaenge_SpeichernundneuerFreitextartikel\" = 423,\n \"Vorgaenge_FreitextartikelImmerErlauben\" = 424,\n \"Vorgaenge_Kasseoeffnen\" = 430,\n \"Vorgaenge_GAEB_import\" = 436,\n \"Vorgaenge_NeueEingangsrechnung\" = 437,\n \"Vorgaenge_Rechnungskorrektur\" = 438,\n \"Vorgaenge_nureigeneVorgaenge\" = 439,\n \"Vorgaenge_AlleVorgaenge\" = 440,\n \"Vorgaenge_Summenanzeige\" = 441,\n \"Vorgaenge_VertraulicheVorgaenge\" = 442,\n \"Vorgaenge_Vorgangstornieren_Rechnung\" = 443,\n \"Vorgaenge_VorgaengeStatussetzen\" = 444,\n \"Vorgaenge_Margeanzeigen\" = 445,\n \"Vorgaenge_Vorgangersetzen_ueberschreiben_STORNO_Dialog_\" = 446,\n \"Vorgaenge_Vorgangstornieren_Bestellung\" = 447,\n \"Vorgaenge_Vorgangstornieren_Lieferschein\" = 448,\n \"Vorgaenge_Vorgangstornieren_Auftragsbestaetigung\" = 449,\n \"Vorgaenge_ReservierteArtikelListe\" = 450,\n \"Vorgaenge_Vorgangstornieren_Angebot\" = 451,\n \"Vorgaenge_BestellteArtikel_Liste\" = 452,\n \"Vorgaenge_VorgangOneToOneersetzen_ueberschreiben_STORNO_Dialog_\" = 453,\n \"Vorgaenge_VorgangMitAbzug\" = 454,\n \"Vorgaenge_Rueckstandsliste\" = 455,\n \"Vorgaenge_Rueckstand_alt_\" = 456,\n \"Vorgaenge_Controlling\" = 460,\n \"Vorgaenge_processGroup\" = 461,\n \"Vorgaenge_Sammlungspeichern\" = 462,\n \"Vorgaenge_Sammlungladen\" = 463,\n \"Vorgaenge_Sammlungloeschen\" = 464,\n \"Vorgaenge_SammlungEdit\" = 465,\n \"Vorgaenge_Margen_Liste\" = 480,\n \"Vorgaenge_VorgangAuswertungen\" = 481,\n \"Vorgaenge_Shop_Schnittstelle\" = 485,\n \"Vorgaenge_Intervallvorgang_Dauerrechnung\" = 490,\n \"Vorgaenge_WichtigeHinweise\" = 610,\n \"Buchhaltung_Import\" = 501,\n \"Buchhaltung_Kostenstellen\" = 502,\n \"Buchhaltung_Bankverbindungbearbeiten\" = 503,\n \"Buchhaltung_BankUmsaetze\" = 504,\n \"Buchhaltung_ImportAddison\" = 509,\n \"Buchhaltung_Kontenplan\" = 510,\n \"Buchhaltung_Kontoanlegen_bearbeiten_kopieren_Kontenplan_\" = 511,\n \"Buchhaltung_Kontoloeschen_Kontenplan_\" = 512,\n \"Buchhaltung_KontenplanStapeldialog\" = 513,\n \"Buchhaltung_Belegkreise\" = 515,\n \"Buchhaltung_Maske\" = 520,\n \"Buchhaltung_Maskenberechtigung_Stapelbuchen\" = 521,\n \"Buchhaltung_Maskenberechtigung_Direktbuchen\" = 522,\n \"Buchhaltung_ER_Maske\" = 523,\n \"Buchhaltung_Kassenmaske\" = 524,\n \"Buchhaltung_BuchungsTemplate\" = 530,\n \"Buchhaltung_Basic_setup\" = 534,\n \"Buchhaltung_DATEV_setup\" = 535,\n \"Buchhaltung_Liste\" = 540,\n \"Buchhaltung_Journalbuchungenbearbeiten\" = 541,\n \"Buchhaltung_Buchungenloeschen\" = 542,\n \"Buchhaltung_BuchungenKontowechseln\" = 543,\n \"Buchhaltung_VertraulicheBuchungenanzeigen\" = 544,\n \"Buchhaltung_VertraulicheBuchungenButtonanzeigen\" = 545,\n \"Buchhaltung_ListeParams\" = 546,\n \"Buchhaltung_Konten_Abgleich\" = 547,\n \"Buchhaltung_Avis\" = 552,\n \"Buchhaltung_ERB\" = 560,\n \"Buchhaltung_ERBZahlungeingeben\" = 561,\n \"Buchhaltung_ERBVertraulich\" = 563,\n \"Buchhaltung_ARB\" = 580,\n \"Buchhaltung_ARBZahlungeingeben\" = 581,\n \"Buchhaltung_Vergleichsliste\" = 590,\n \"Buchhaltung_IntraHandel\" = 595,\n \"Buchhaltung_Auswertungen\" = 600,\n \"Buchhaltung_Berichte\" = 620,\n \"ERB_SummenanzeigeERB\" = 562,\n \"ARB_SummenanzeigeARB\" = 582,\n \"Auswertungen_Auswertungen2_0\" = 601,\n \"Auswertungen_Geschaeftsleitung_AuswertungenGeschaeftsleitung\" = 602,\n \"Organisation_AlleAufgaben\" = 702,\n \"Organisation_Aufgabenkommentare\" = 730,\n \"Organisation_Aufgaben_Tafel\" = 703,\n \"Organisation_NureigeneAufgaben\" = 739,\n \"Organisation_NeueAufgabe\" = 704,\n \"Organisation_Aufgabenliste_AufErledigtsetzen\" = 705,\n \"Organisation_Aufgabenliste_AufGelesensetzen\" = 709,\n \"Organisation_Aufgabenmaske_vertraulichsetzen\" = 707,\n \"Organisation_Aufgabenmaske_vertraulichoeffnen\" = 706,\n \"Organisation_AufgabenlisteausSichtvon\" = 708,\n \"Organisation_CCSKundenkommunikation\" = 710,\n \"Organisation_Materialverbrauch\" = 711,\n \"Organisation_Zeiterfassungsliste_Arbeitstag\" = 92,\n \"Organisation_Zeiterfassungsliste_Summenanzeige\" = 761,\n \"Organisation_Zeiterfassungsliste_Eintragbearbeiten\" = 763,\n \"Organisation_Zeiterfassung_Dialog\" = 760,\n \"Organisation_Zeiterfassung_Aufgabenkommentaruebertragen\" = 762,\n \"Organisation_Personalplanung_Kalender\" = 780,\n \"Organisation_Personalplanung_Liste\" = 781,\n \"Organisation_Personalplanung_Edit_Level1\" = 782,\n \"Organisation_Personalplanung_Edit_Level2\" = 783,\n \"Organisation_DokuWiki\" = 770,\n \"Termine_Kalender\" = 750,\n \"Termine_alleTermine\" = 740,\n \"Termine_Terminloeschen\" = 741,\n \"Termine_vertraulicheTermine\" = 742,\n \"Termine_vertraulicheTerminesetzen\" = 743,\n \"Termine_GlobalberechtigungfueralleTermine\" = 744,\n \"Termine_Sekretaer\" = 755,\n \"Einkauf_NeueBestellung\" = 820,\n \"Einkauf_Bestell_Liste\" = 840,\n \"SpamSperre_Abrechnung\" = 901,\n \"SpamSperre_Einstellungen\" = 902,\n \"Disposition_GeloeschteDispoanzeigen\" = 1001,\n \"Disposition_Dispoartikelimportieren\" = 1002,\n \"Disposition_DispoVorgaengePlan\" = 1005,\n \"Disposition_DispoartikelReservierungsplan\" = 1010,\n \"Disposition_DispoartikelBelegtplan\" = 1015,\n \"Disposition_Dispoartikel\" = 1020,\n \"Disposition_Dispoartikelfree\" = 1021,\n \"Disposition_DispoartikelKategorie\" = 1025,\n \"Disposition_Dispovorgaenge\" = 1030,\n \"Disposition_DispoPositionen\" = 1035,\n \"Disposition_DispoPositionenbis\" = 1036,\n \"Disposition_BackdatedPosition\" = 1037,\n \"Disposition_unlinkPosition\" = 1038,\n \"Disposition_CheckIn\" = 1040,\n \"Disposition_CheckOut\" = 1050,\n \"Disposition_DispoSNrListe\" = 1060,\n \"Disposition_DispoartikelSNrBelegtplan\" = 1065,\n \"Disposition_Wartungshistorie\" = 1070,\n \"Disposition_Renditeliste\" = 1080,\n \"Disposition_NeuerVorgangDispo\" = 1085,\n \"Disposition_NeuerArtikelDispo\" = 1095,\n \"Mailmanager_VertraulicheMails\" = 2,\n \"Mailmanager_Serienbrief\" = 19,\n \"Mailmanager_VertraulicheE_Mails\" = 1101,\n \"Mailmanager_GlobalberechtigungfueralleE_Mails\" = 1102,\n \"Mailmanager_Geloeschtesichtbar\" = 1103,\n \"Mailmanager_AlleMailsMailadresseninKontaktenundGespraechsverlauf\" = 1104,\n \"Mailmanager_Mailliste\" = 1110,\n \"Mailmanager_Mailloeschen\" = 1111,\n \"Mailmanager_NeueMailundEntwuerfe\" = 1120,\n \"Mailmanager_Newsletter\" = 1125,\n \"Mailmanager_Zusammenhaenge\" = 1130,\n \"Mailmanager_Zusammenhaengeloeschen\" = 1131,\n \"Mailmanager_Zusammenhaengeeditieren\" = 1132,\n \"Mailmanager_Gespraechsverlauf\" = 1140,\n \"Mailmanager_MailAdressliste\" = 1160,\n \"Mailmanager_Mailadressdatenloeschen\" = 1161,\n \"Mailmanager_Maildateneditieren\" = 1162,\n \"Mailmanager_KontaktpersonausMail_Adresse\" = 1164,\n \"Mailmanager_NewsletterAbmeldung\" = 1165,\n \"Mailmanager_Mail_Adressetrash\" = 1166,\n \"Mailmanager_Mail_Adressereaktivieren\" = 1167,\n \"Mailmanager_KontaktausMail_Adressenoeffnen\" = 1168,\n \"Mailmanager_Textbausteineverwalten\" = 1175,\n \"Mailmanager_Textbausteineloeschen\" = 1176,\n \"Mailmanager_Mailanzeigen\" = 1180,\n \"Mailmanager_Dateiverwaltung\" = 1190,\n \"Mailmanager_Anhangloeschen\" = 1191,\n \"Mailmanager_Dateihochladen\" = 1192,\n \"Mailmanager_Dateiendirektherunterladen\" = 1193,\n \"Mailmanager_DMS_AlleNetzwerk_Verzeichnisse\" = 1194,\n \"Mailmanager_DMS_vertraulichsetzen\" = 1195,\n \"Mailmanager_DMS_Verlinkung\" = 1196,\n \"Mailmanager_Briefliste\" = 1310,\n \"Mailmanager_NeuerBrief\" = 1320,\n \"Service_AlleRMAs\" = 495,\n \"Service_RMALoeschen\" = 496,\n \"Service_NeueRMA\" = 1205,\n \"Service_Auftrag_Serviceauftragerstellen\" = 1511,\n \"Service_Auftrag_Anlagenliste\" = 1520,\n \"Service_Auftrag_Anlageanlegen\" = 1521,\n \"Service_Auftrag_PeripherieListe\" = 1540,\n \"Service_Auftrag_AnlassListe\" = 1550,\n \"Service_Auftrag_UrsacheListe\" = 1560,\n \"Gastro_Gastro\" = 1600,\n \"Procurement\" = 99_002,\n \"Subscription\" = 99_003\n }\n export type ExtendedDateTime = string | Date;\n}\nexport namespace PHPW.Api.Bodies {\n export interface StatusSuccess extends PHPW.Api.Lib.DefaultBody {\n status: string;\n }\n export type Model = PHPW.Api.Lib.DefaultBody;\n}\nexport namespace PHPW.Api.Lib {\n export type DefaultBody = object;\n export type DefaultRequestArguments = object;\n export type DefaultRequestParameters = object;\n}\nexport namespace PHPW.Api.Lib.Common {\n export enum StornoPreviousType {\n \"No\" = 0,\n \"Yes\" = 1,\n \"YesNewIteration\" = 2\n }\n export interface ArgumentName extends PHPW.Api.Lib.DefaultRequestArguments {\n name: string;\n }\n export interface ArgumentsArticleIdAndCategoryId extends PHPW.Api.Lib.DefaultRequestArguments {\n articleId: number;\n categoryId: number;\n }\n export interface ArgumentsHash extends PHPW.Api.Lib.DefaultRequestArguments {\n hash: string;\n }\n export interface ArgumentsId extends PHPW.Api.Lib.DefaultRequestArguments {\n id: number;\n }\n export interface ArgumentsIdAndCid extends PHPW.Api.Lib.DefaultRequestArguments {\n id: number;\n cid: number;\n }\n export interface ArgumentsIdAndLangid extends PHPW.Api.Lib.DefaultRequestArguments {\n id: number;\n lang: PHPW.Entities.Enum.ArticleLanguage;\n }\n export interface BodyComment extends PHPW.Api.Bodies.Model {\n comment: string | undefined;\n }\n export interface BodyDelete extends PHPW.Api.Bodies.Model {\n reason: string;\n }\n export interface BodyIds extends PHPW.Api.Bodies.Model {\n ids: number[];\n }\n export interface DateRange {\n from: string;\n till: string;\n }\n export interface ParamsArticleActionStock extends PHPW.Api.Lib.DefaultRequestParameters {\n placeIds: number[];\n typeIds: number[];\n }\n export interface ParamsArticleBuyingprice extends PHPW.Api.Lib.DefaultRequestParameters {\n amount: number;\n contactId: number;\n date: string;\n ignoreDate: boolean;\n }\n export interface ParamsArticleCategoryArticles extends PHPW.Api.Lib.DefaultRequestParameters {\n page: number;\n }\n export interface ParamsArticleSellingprice extends PHPW.Api.Lib.DefaultRequestParameters {\n amount: number;\n contactId: number;\n group: string;\n date: string;\n }\n export interface ParamsArticleSerials extends PHPW.Api.Lib.DefaultRequestParameters {\n extraSerialIds: number[];\n extraSerials: string[];\n extra: {onlyAvailable?: string; onlyDisposition?: string; from?: string; till?: string};\n }\n export interface ParamsDataNormExport extends PHPW.Api.Lib.DefaultRequestParameters {\n useAsId: string;\n langId: number;\n contactId: number;\n }\n export interface ParamsDate extends PHPW.Api.Lib.DefaultRequestParameters {\n date: PHPW.ExtendedDateTime;\n }\n export interface ParamsDateRangeExtra extends PHPW.Api.Lib.DefaultRequestParameters {\n extra: PHPW.Api.Lib.Common.DateRange;\n }\n export interface ParamsDelete extends PHPW.Api.Lib.DefaultRequestParameters {\n delete: boolean;\n note?: string | undefined;\n }\n export interface ParamsId extends PHPW.Api.Lib.DefaultRequestParameters {\n id?: number | undefined;\n }\n export interface ParamsIds extends PHPW.Api.Lib.DefaultRequestParameters {\n ids: number[];\n }\n export interface ParamsInventurActionAdjustAmount extends PHPW.Api.Lib.DefaultRequestParameters {\n id: number;\n extraComment: string | undefined;\n }\n export interface ParamsKasseEAN extends PHPW.Api.Lib.DefaultRequestParameters {\n ean: string;\n }\n export interface ParamsName extends PHPW.Api.Lib.DefaultRequestParameters {\n name: string;\n }\n export interface ParamsProcessCreate extends PHPW.Api.Lib.DefaultRequestParameters {\n ignoreWarning?: boolean | undefined;\n stornoPrevious?: PHPW.Api.Lib.Common.StornoPreviousType | undefined;\n noDocument?: boolean | undefined;\n }\n export interface ParamsRadio extends PHPW.Api.Lib.DefaultRequestParameters {\n id: number;\n radio?: number | undefined;\n }\n export interface ParamsSilent extends PHPW.Api.Lib.DefaultRequestParameters {\n silent: boolean;\n }\n export type UploadedFile = Blob;\n}\nexport namespace PHPW.Api.Responses {\n export interface ActionResponse extends PHPW.Api.Responses.DefaultResponse {\n success: boolean;\n }\n export interface DefaultResponse extends PHPW.Api.Lib.DefaultBody {\n exception?: string | undefined;\n exceptionMessage?: string | undefined;\n }\n export interface FileSaveResponse extends PHPW.Api.Responses.DefaultResponse {\n newId: string | undefined;\n oldId: string | undefined;\n }\n export interface ResultActionEvent extends PHPW.Api.Lib.DefaultBody {\n result: string;\n data: string | number;\n action: string | undefined;\n }\n export interface SaveResponse extends PHPW.Api.Responses.DefaultResponse {\n newId?: number | undefined;\n oldId?: number | undefined;\n }\n export type DeleteResponse = PHPW.Api.Responses.DefaultResponse;\n}\nexport namespace PHPW.Api.Routes.ComboboxModel {\n export interface Article {\n text: string;\n id?: number | undefined;\n number?: string | undefined;\n type?: PHPW.Api.Routes.Lib.Article.Lib.EArticleType | undefined;\n digits?: number | undefined;\n barcode?: string | undefined;\n }\n export interface ArticleBrand {\n id?: number | undefined;\n text: string;\n }\n export interface ArticleCategory {\n id?: number | undefined;\n text: string;\n }\n export interface ArticleCharge {\n id?: number | undefined;\n text: string;\n amount?: number | undefined;\n }\n export interface ArticleSellingPriceGroupName {\n id?: number | undefined;\n text: string;\n }\n export interface ArticleSerial {\n id?: number | undefined;\n text: string;\n }\n export interface Aufgabe {\n id?: number | undefined;\n text: string;\n done?: boolean | undefined;\n project?: number | undefined;\n type?: number | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n }\n export interface Contact {\n id?: number | undefined;\n text: string;\n debitor?: number | undefined;\n kreditor?: number | undefined;\n firma1?: string | undefined;\n ort?: string | undefined;\n plz?: string | undefined;\n preisliste?: PHPW.Api.Routes.ComboboxModel.ArticleSellingPriceGroupName | undefined;\n debitorPaymentId?: number | undefined;\n kreditorPaymentId?: number | undefined;\n ustId?: string | undefined;\n kreditorPaymentDays?: number | undefined;\n debitorPaymentDays?: number | undefined;\n bank?: PHPW.Api.Routes.Lib.Contacts.Model.Bank | undefined;\n }\n export interface ContactAddress {\n id?: number | undefined;\n text: string;\n }\n export interface ContactFlag {\n id?: number | undefined;\n text: string;\n extendedText?: string | undefined;\n }\n export interface ContactLinkReason {\n text: string;\n }\n export interface ContactPerson {\n id?: number | undefined;\n text: string;\n vorname?: string | undefined;\n name?: string | undefined;\n position?: string | undefined;\n }\n export interface Country {\n id?: number | undefined;\n text: string;\n extendedText?: string | undefined;\n }\n export interface KampagneResultType {\n id?: number | undefined;\n name: string;\n text: string;\n }\n export interface Konto {\n name?: string | undefined;\n id?: number | undefined;\n text: string;\n }\n export interface LagerPlatz {\n id?: number | undefined;\n text: string;\n type?: PHPW.Entities.Enum.LagerPlatzTyp;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n }\n export interface LagerPlatzBestandType {\n category?: PHPW.Entities.Enum.StockAmountTypeCategory;\n intern?: boolean;\n extern?: boolean;\n available?: boolean;\n disposition?: boolean;\n id?: number | undefined;\n text: string;\n }\n export interface MailDraft {\n id?: number | undefined;\n text: string;\n }\n export interface MailRelation {\n id?: number | undefined;\n text: string;\n expireAttachments?: number | undefined;\n expireText?: number | undefined;\n }\n export interface ParentProcess {\n id?: number | undefined;\n text: string;\n specList?: PHPW.Entities.Enum.ProcessCategory | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n typeId?: number | undefined;\n }\n export interface Permission {\n id?: number | undefined;\n text: string;\n number?: string | undefined;\n type?: number | undefined;\n critical?: boolean | undefined;\n }\n export interface Process {\n id?: number | undefined;\n text: string;\n documentNumber?: string | undefined;\n commission?: string | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n specList?: PHPW.Entities.Enum.ProcessCategory | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n }\n export interface ProtocolJob {\n id?: number | undefined;\n text: string;\n extendedText?: string | undefined;\n }\n export interface ProtocolProject {\n id?: number | undefined;\n text: string;\n extendedText?: string | undefined;\n }\n export interface ProtocolState {\n id?: number | undefined;\n text: string;\n extendedText?: string | undefined;\n }\n export interface TextBlockTag {\n id?: number | undefined;\n text: string;\n }\n export interface Unit {\n id?: number | undefined;\n text: string;\n long?: string | undefined;\n }\n export interface User {\n id?: number | undefined;\n text: string;\n }\n export interface Vehicle {\n id?: number | undefined;\n text: string;\n }\n export interface Warengruppe {\n id?: number | undefined;\n text: string;\n }\n export interface ZolltarifNummer {\n ztn: string;\n bezeichnung: string;\n articleId: number;\n usage: number;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.ARB.Model {\n export interface ARBedit extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n outstanding?: number | undefined;\n dueDate?: PHPW.ExtendedDateTime | undefined;\n paymentId?: number | undefined;\n number: string;\n contactId?: number | undefined;\n kontoinhaber?: string | undefined;\n iban?: string | undefined;\n bic?: string | undefined;\n bank?: string | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Account {\n export interface GetAccountParams extends PHPW.Api.Lib.DefaultRequestParameters {\n year: number;\n }\n export interface PostAccountParams extends PHPW.Api.Lib.DefaultRequestParameters {\n id: number;\n year: number;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Account.Model {\n export interface DeleteIds extends PHPW.Api.Bodies.Model {\n ids: number[];\n }\n export interface GetAccountSearchParams extends PHPW.Api.Lib.DefaultRequestParameters {\n filters: {[key: string]: string};\n sort?: Array<[string, \"ASC\" | \"DESC\"]> | undefined;\n rowCount?: number;\n offset: number;\n special?: {[key: string]: boolean | number | string | Date | undefined | number[]};\n }\n export interface GetAccountSearchParamsSpecial {\n show_booked: boolean;\n show_customs: boolean;\n year: number;\n }\n export interface Konto extends PHPW.Api.Bodies.Model {\n number: number;\n year: number;\n name?: string | undefined;\n origName?: string | undefined;\n kategorie?: string | undefined;\n origKategorie?: string | undefined;\n unterart?: string | undefined;\n origUnterart?: string | undefined;\n zusatzfunktion?: string | undefined;\n origZusatzfunktion?: string | undefined;\n funktionstyp?: string | undefined;\n origFunktionstyp?: string | undefined;\n funktion?: string | undefined;\n origFunktion?: string | undefined;\n }\n export interface PostAccountIdActionUpdateYearParams extends PHPW.Api.Lib.DefaultRequestParameters {\n sourceYear: number;\n targetYear: number;\n }\n export interface SetStateIds extends PHPW.Api.Bodies.Model {\n ids: number[];\n manuallySet: boolean;\n statusId: PHPW.Entities.Enum.MailStatus;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Article.Lib {\n export enum EArticleType {\n \"PIECE\" = 0,\n \"SERIAL\" = 1,\n \"BATCH\" = 2,\n \"COLLECTION\" = 3\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Article.Model {\n export interface AccessoryLink extends PHPW.Api.Bodies.Model {\n child: PHPW.Api.Routes.ComboboxModel.Article;\n }\n export interface AlternativeLink extends PHPW.Api.Bodies.Model {\n child: PHPW.Api.Routes.ComboboxModel.Article;\n }\n export interface ArgumentsVersion extends PHPW.Api.Lib.DefaultRequestArguments {\n version: string;\n }\n export interface Article extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n lastArrival?: PHPW.ExtendedDateTime | undefined;\n importListe?: string | undefined;\n externeId?: string | undefined;\n barcode?: string | undefined;\n lagerware: boolean;\n bestand: number;\n dispoBestand: number;\n dispoBestandVermietet: number;\n meldebestand?: number | undefined;\n vorbestellt?: number | undefined;\n liefersperre: boolean;\n hersteller?: PHPW.Api.Routes.ComboboxModel.ArticleBrand | undefined;\n artikelnummer: string;\n internInfo?: string | undefined;\n popup?: string | undefined;\n gewicht?: number | undefined;\n length?: number | undefined;\n width?: number | undefined;\n height?: number | undefined;\n storageConditions: string[];\n mwst?: number | undefined;\n buchungsKonto?: number | undefined;\n einheit?: number | undefined;\n vpe?: number | undefined;\n vpeSize?: number | undefined;\n einkaufspreis: number;\n shoppreis?: number | undefined;\n haendlerBestellnummer?: string | undefined;\n warengruppe?: string | undefined;\n uvp: number;\n snPflege: PHPW.Api.Routes.Lib.Article.Lib.EArticleType;\n datei?: string | undefined;\n extra1?: string | undefined;\n extra2?: string | undefined;\n extra3?: string | undefined;\n extra4?: string | undefined;\n extra5?: string | undefined;\n skontierbar: boolean;\n originCountry?: number | undefined;\n zolltarifnr?: string | undefined;\n lohnminuten?: number | undefined;\n calculatedLohnminuten?: number | undefined;\n articleSetType: PHPW.Entities.Enum.ArticleSetType;\n datenblatt?: string | undefined;\n lagerOrt?: string | undefined;\n shops: PHPW.Api.Routes.Lib.Article.Model.ArticleShop[];\n kategorie?: string | undefined;\n datanorm?: PHPW.Api.Routes.Lib.Article.Model.Datanorm | undefined;\n categories: PHPW.Api.Routes.ComboboxModel.ArticleCategory[];\n werbetextKurz?: string | undefined;\n werbetextLang?: string | undefined;\n dispo?: PHPW.Api.Routes.Lib.Article.Model.Dispo | undefined;\n digits?: number | undefined;\n prices: PHPW.Price.Model.PriceGroup[];\n priceContacts: PHPW.Price.Model.PriceContact[];\n einkaufspreise: PHPW.Api.Routes.Lib.Article.Model.Einkaufspreis[];\n extraCost?: number | undefined;\n rabattierbar: boolean;\n images: PHPW.Api.Routes.Lib.Article.Model.ArticleImage[];\n variantParent?: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n variantAttributes: string[];\n hasActiveInventoryStop: boolean;\n languages: PHPW.Api.Routes.Lib.Article.Model.ArticleLanguages;\n }\n export interface ArticleCategory extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n name: string;\n parentId?: number | undefined;\n description: string;\n }\n export interface ArticleCharge extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n articleId: number;\n nummer: string;\n name?: string | undefined;\n bestand?: number | undefined;\n expireDate?: PHPW.ExtendedDateTime | undefined;\n info?: string | undefined;\n dispoBatch?: PHPW.Api.Routes.Lib.Article.Model.DispoBatch | undefined;\n stockPlaces: PHPW.Api.Routes.Lib.Lager.Model.LagerPlatzBestand[];\n }\n export interface ArticleImage {\n hash: string;\n filename: string;\n insertDate: PHPW.ExtendedDateTime | undefined;\n deleted: boolean;\n }\n export interface ArticleLanguage extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n language: PHPW.Entities.Enum.ArticleLanguage;\n artikelbezeichnung?: string | undefined;\n artikeltext?: string | undefined;\n artikellangtext?: string | undefined;\n }\n export interface ArticleLanguages {\n de: PHPW.Api.Routes.Lib.Article.Model.ArticleLanguage;\n en: PHPW.Api.Routes.Lib.Article.Model.ArticleLanguage;\n }\n export interface ArticleSerial extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n articleId?: number | undefined;\n serialNumber: string;\n receiving?: PHPW.ExtendedDateTime | undefined;\n comment?: string | undefined;\n internalInfo?: string | undefined;\n dispoSerial?: PHPW.Api.Routes.Lib.Article.Model.DispoSerial | undefined;\n stockPlaces: PHPW.Api.Routes.Lib.Lager.Model.LagerPlatzBestand[];\n }\n export interface ArticleShop extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n shopId: number;\n shopRef: string;\n }\n export interface ArticleShopUpload extends PHPW.Api.Bodies.Model {\n shopId: number;\n articleId: number;\n }\n export interface CheckArticlenumberBody extends PHPW.Api.Bodies.Model {\n articleNumber: string;\n articleId?: number | undefined;\n }\n export interface CostPriceCorrection extends PHPW.Api.Bodies.Model {\n ids: number[];\n priceType: number;\n name?: string | undefined;\n changeAll?: boolean | undefined;\n costPriceAction?: number | undefined;\n isRef: boolean;\n value?: number;\n isMoney: boolean;\n salePriceAction?: number | undefined;\n priceDate: PHPW.ExtendedDateTime;\n }\n export interface CostPriceCorrectionInfo {\n articleId?: number | undefined;\n articleNumber: string;\n noActiveCostPrice: boolean;\n hasEmptyCostPrice: boolean;\n hasEmptyPriceCorrection: boolean;\n noActiveSalePrice: boolean;\n hasEmptySalePrice: boolean;\n }\n export interface CostPriceCorrectionResponse extends PHPW.Api.Responses.ActionResponse {\n infos: PHPW.Api.Routes.Lib.Article.Model.CostPriceCorrectionInfo[];\n }\n export interface CountData extends PHPW.Api.Bodies.Model {\n count?: number;\n data: PHPW.Api.Routes.Lib.Kasse.Model.KasseArticle[];\n }\n export interface Datanorm {\n id?: number | undefined;\n shortDescription1?: string | undefined;\n shortDescription2?: string | undefined;\n longTextblock?: string | undefined;\n }\n export interface Dispo {\n id?: number | undefined;\n artikelnummer?: string | undefined;\n artikelbezeichnung?: string | undefined;\n verpackungsumfang?: string | undefined;\n artikeltext?: string | undefined;\n basePrice?: number | undefined;\n priceMode: PHPW.Entities.Enum.PriceMode;\n prices: PHPW.Api.Routes.Lib.Article.Model.DispoPrice[];\n globalPrices: PHPW.Api.Routes.Lib.Article.Model.DispoPriceGlobal[];\n }\n export interface DispoBatch {\n id?: number | undefined;\n inventarNr?: string | undefined;\n ean?: string | undefined;\n ekAnschaffung?: number | undefined;\n info?: string | undefined;\n internalInfo?: string | undefined;\n operationTime?: number | undefined;\n timeSpanAssignments: Array<{from: string; till: string; dpa_id: number; pp_id: number; amount: number}>;\n }\n export interface DispoPrice {\n id?: number | undefined;\n abTage: number;\n proTag: number;\n operator: string;\n deleted: boolean;\n }\n export interface DispoPriceGlobal {\n id?: number | undefined;\n abTage: number;\n percent: number;\n operator: string;\n deleted: boolean;\n }\n export interface DispoSerial {\n id?: number | undefined;\n inventarNr?: string | undefined;\n mietcode?: string | undefined;\n ekAnschaffung?: number | undefined;\n info?: string | undefined;\n internalInfo?: string | undefined;\n operationTime?: number | undefined;\n timeSpanAssignments: Array<{from: string; till: string; ppg_id: number}>;\n }\n export interface DmsToArticle extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n public: boolean;\n }\n export interface Einkaufspreis {\n id?: number | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n price: number;\n prcnt1: number[];\n name: string;\n minAmount: number;\n deleted: boolean;\n start?: PHPW.ExtendedDateTime | undefined;\n stop?: PHPW.ExtendedDateTime | undefined;\n }\n export interface ExportRun extends PHPW.Api.Bodies.Model {\n ids: number[];\n }\n export interface GetArticleActionStockResponse extends PHPW.Api.Bodies.Model {\n pieces: PHPW.Api.Routes.Lib.Lager.Model.LagerPlatzBestand[];\n serials: PHPW.Api.Routes.Lib.Lager.Model.LagerPlatzBestand[];\n batches: PHPW.Api.Routes.Lib.Lager.Model.LagerPlatzBestand[];\n }\n export interface GetArticleIdStockResponse extends PHPW.Api.Bodies.Model {\n type_id: number;\n name: string;\n category: string;\n available: boolean;\n disposition: boolean;\n typ: number;\n bestand: number;\n }\n export interface ImportDryrun extends PHPW.Api.Bodies.Model {\n type?: string | undefined;\n settings: PHPW.Data.Io.Import.Article.Model.ImportSettings;\n }\n export interface ParamsImportExample extends PHPW.Api.Lib.DefaultRequestParameters {\n name: string;\n }\n export interface PostArticleActionStorageCorrectionResponse extends PHPW.Api.Responses.DefaultResponse {\n success: boolean;\n errorCollection: string[];\n }\n export interface PostArticleForInventurResponse extends PHPW.Api.Responses.DefaultResponse {\n openIds: number[];\n savedIdCount: number;\n findProblems?: number[] | undefined;\n persistProblems?: number[] | undefined;\n }\n export interface PostInventurArticleSolveBody extends PHPW.Api.Bodies.Model {\n info: string;\n }\n export interface SetArticleLink extends PHPW.Api.Bodies.Model {\n child: PHPW.Api.Routes.ComboboxModel.Article;\n amount: number;\n }\n export interface ShopUpload extends PHPW.Api.Bodies.Model {\n shopId: number;\n categoryId: number;\n }\n export interface Wareneingang extends PHPW.Api.Bodies.Model {\n targetPlace?: PHPW.Api.Routes.ComboboxModel.LagerPlatz | undefined;\n noOrder: boolean;\n lieferant?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n process?: PHPW.Api.Routes.ComboboxModel.Process | undefined;\n lieferscheinNr?: string | undefined;\n kommission?: string | undefined;\n kommentar?: string | undefined;\n amount?: number | undefined;\n serials: PHPW.Api.Routes.Lib.Article.Model.WareneingangSerialOrCharge[];\n }\n export interface WareneingangSerialOrCharge {\n amount?: number | undefined;\n snr?: string | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Article.Params {\n export interface ParamsArticleCharges extends PHPW.Api.Lib.DefaultRequestParameters {\n extraBatchIds: string[];\n extra: string[];\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Aufgabe.Model {\n export enum EAufgabeLinkTypes {\n \"Process\" = \"Process\",\n \"BookingIncomingBill\" = \"BookingIncomingBill\",\n \"ParentAufgabe\" = \"ParentAufgabe\",\n \"Aufgabe\" = \"Aufgabe\",\n \"Mail\" = \"Mail\",\n \"Mailentwurf\" = \"Mailentwurf\",\n \"Contact\" = \"Contact\",\n \"ContactPerson\" = \"ContactPerson\",\n \"Artikel\" = \"Artikel\",\n \"Article\" = \"Article\",\n \"RMA\" = \"RMA\",\n \"Project\" = \"Project\",\n \"Termin\" = \"Termin\"\n }\n export enum SubtaskType {\n \"Default\" = \"default\",\n \"Task\" = \"aufgabe\"\n }\n export interface ArgumentsAufgabeArticlePosition extends PHPW.Api.Lib.DefaultRequestArguments {\n id: number;\n article_id: number;\n }\n export interface Aufgabe extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n hashId?: string | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n shortname?: string | undefined;\n summary?: string | undefined;\n email?: string | undefined;\n deadline?: PHPW.ExtendedDateTime | undefined;\n tags?: undefined | string[];\n private: boolean;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n creatorId?: number | undefined;\n timeNeeded?: number | undefined;\n typeId?: number | undefined;\n stateId?: number | undefined;\n priorityId?: number | undefined;\n categoryId?: number | undefined;\n guid?: string | undefined;\n links: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeLink[];\n userData: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeUserLink[];\n fileCount: number;\n timeCount: number;\n rma?: PHPW.Api.Routes.Lib.Rma.Model.Rma | undefined;\n subtasks: PHPW.Api.Routes.Lib.Aufgabe.Model.Subtask[];\n }\n export interface AufgabeActionToPrivate extends PHPW.Api.Bodies.Model {\n id?: number;\n }\n export interface AufgabeCcsComment {\n type: PHPW.Entities.Enum.AufgabeCommentType.Ccs;\n id?: number | undefined;\n time: PHPW.ExtendedDateTime;\n text: string;\n name: string;\n tag: PHPW.Entities.Enum.AufgabeCommentTag;\n cId?: number | undefined;\n }\n export interface AufgabeChange {\n type: PHPW.Entities.Enum.AufgabeCommentType.Auto;\n id?: number | undefined;\n time: PHPW.ExtendedDateTime;\n creator?: number | undefined;\n tag: PHPW.Entities.Enum.AufgabeCommentTag;\n autoComment: undefined | PHPW.Api.Routes.Lib.Aufgabe.Model.AutoCommmentStruct[];\n autoCommentText: string | undefined;\n }\n export interface AufgabeComment extends PHPW.Api.Bodies.Model {\n type: PHPW.Entities.Enum.AufgabeCommentType.Comment;\n id?: number | undefined;\n time: PHPW.ExtendedDateTime;\n text: string;\n creatorId?: number | undefined;\n toComment?: number | undefined;\n tag: PHPW.Entities.Enum.AufgabeCommentTag;\n toUser: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeCommentToUser[];\n }\n export interface AufgabeCommentId extends PHPW.Api.Bodies.Model {\n type?: number | undefined;\n read?: boolean | undefined;\n commentTag?: number | undefined;\n }\n export interface AufgabeCommentToUser {\n userId: number;\n typeId: number;\n closed?: PHPW.ExtendedDateTime | undefined;\n userKuerzel?: string | undefined;\n }\n export interface AufgabeIdComment extends PHPW.Api.Bodies.Model {\n type: string;\n aufgabeComment?: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeComment | undefined;\n aufgabeCcsComment?: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeCcsComment | undefined;\n }\n export interface AufgabeLink extends PHPW.Api.Bodies.Model {\n destinationId: number;\n destinationType: PHPW.Api.Routes.Lib.Aufgabe.Model.EAufgabeLinkTypes;\n description?: string | undefined;\n extendedDescription?: string | undefined;\n new?: boolean;\n deleted?: boolean;\n }\n export interface AufgabePosition extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n aufgabe?: PHPW.Api.Routes.ComboboxModel.Aufgabe | undefined;\n article?: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n serials: PHPW.Api.Routes.ComboboxModel.ArticleSerial[];\n amount: number;\n charges: PHPW.Api.Routes.ComboboxModel.ArticleCharge[];\n addToStock: boolean;\n stockPlace?: PHPW.Api.Routes.ComboboxModel.LagerPlatz | undefined;\n stockType?: PHPW.Api.Routes.ComboboxModel.LagerPlatzBestandType | undefined;\n }\n export interface AufgabePriority extends PHPW.Api.Bodies.Model {\n id: number;\n text: string;\n color: string;\n orderBy: number;\n }\n export interface AufgabeTemplateToAufgabeV1 {\n shortname?: string | undefined;\n summary?: string | undefined;\n email?: string | undefined;\n deadline?: PHPW.ExtendedDateTime | undefined;\n tags?: string[];\n private: boolean;\n creatorId?: number | undefined;\n timeNeeded?: number | undefined;\n typeId?: number | undefined;\n stateId?: number | undefined;\n priorityId?: number | undefined;\n categoryId?: number | undefined;\n userData: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeUserLink[];\n subtasks: PHPW.Api.Routes.Lib.Aufgabe.Model.Subtask[];\n }\n export interface AufgabeToUser extends PHPW.Api.Bodies.Model {\n user_id: number | undefined;\n scheduledDate: PHPW.ExtendedDateTime | undefined;\n }\n export interface AufgabeUserLink {\n userId: number;\n scheduledDate?: PHPW.ExtendedDateTime | undefined;\n new: boolean;\n deleted: boolean;\n changed: boolean;\n sticky: boolean;\n admin: boolean;\n }\n export interface AutoCommmentStruct {\n type: \"user\" | \"status\" | \"priority\" | \"tag\" | \"link\" | \"category\";\n action: \"add\" | \"change\" | \"remove\" | \"readerChange\" | \"stickyChange\";\n scheduledDate?: string | undefined;\n id?: string | number | undefined;\n link?: string | undefined;\n linkData?: PHPW.Aufgabe.Model.AufgabeLink | undefined;\n name?: string | undefined;\n text?: string | undefined;\n readerOnly: boolean;\n sticky: boolean;\n }\n export interface Microtask extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n done?: boolean | undefined;\n summary?: string | undefined;\n notes?: string | undefined;\n insertUser?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n }\n export interface ParamsAufgabeActionSetRadios extends PHPW.Api.Lib.DefaultRequestParameters {\n id: number;\n radio: number | undefined;\n }\n export interface ParamsAufgabeLink extends PHPW.Api.Lib.DefaultRequestParameters {\n destinationType: PHPW.Api.Routes.Lib.Aufgabe.Model.EAufgabeLinkTypes;\n destinationId: number;\n }\n export interface Subtask {\n type: PHPW.Api.Routes.Lib.Aufgabe.Model.SubtaskType;\n aufgabe: PHPW.Api.Routes.Lib.Aufgabe.Model.SubtaskAufgabe | undefined;\n microtask: PHPW.Api.Routes.Lib.Aufgabe.Model.Microtask | undefined;\n orderIndex?: number | undefined;\n id: number | undefined;\n }\n export interface SubtaskAufgabe extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n shortname?: string | undefined;\n summary?: string | undefined;\n deadline?: PHPW.ExtendedDateTime | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n timeNeeded?: number | undefined;\n stateId?: number | undefined;\n typeId?: number | undefined;\n priorityId?: number | undefined;\n categoryId?: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.BankStatementEntry.Model {\n export interface BankStatement extends PHPW.Api.Bodies.Model {\n identification: string;\n electronicSequenceNumber?: number | undefined;\n legalSequenceNumber?: number | undefined;\n creationDateTime?: PHPW.ExtendedDateTime | undefined;\n type?: string | undefined;\n currency?: string | undefined;\n }\n export interface BankStatementEntry extends PHPW.Api.Bodies.Model {\n id: number;\n bankStatement: PHPW.Api.Routes.Lib.BankStatementEntry.Model.BankStatement;\n entryReference?: string;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n amount?: number;\n bookingDate?: PHPW.ExtendedDateTime;\n valueDate?: PHPW.ExtendedDateTime;\n endToEndIdentification?: string | undefined;\n partyName?: string | undefined;\n partyIban?: string | undefined;\n partyBic?: string | undefined;\n remittanceInformation?: string | undefined;\n typeDomain?: PHPW.Camt.Enum.TypeDomain;\n typeFamily?: PHPW.Camt.Enum.TypeFamily;\n typeSubFamily?: PHPW.Camt.Enum.TypeSubFamily;\n relevantIncomingInvoices: PHPW.Camt.DTO.ConnectRow[];\n relevantOutgoingInvoices: PHPW.Camt.DTO.ConnectRow[];\n relevantBookings: PHPW.Camt.DTO.ConnectRow[];\n bookings: PHPW.Camt.DTO.ConnectRow[];\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Board.Model {\n export interface Board extends PHPW.Api.Bodies.Model {\n lanes: PHPW.Api.Routes.Lib.Board.Model.Lane[];\n }\n export interface BoardIdMoveElement extends PHPW.Api.Bodies.Model {\n aufgabeId: number;\n destLaneId: number;\n }\n export interface BoardRequest extends PHPW.Api.Bodies.Model {\n typeId: number;\n filterString: string | undefined;\n }\n export interface Element extends PHPW.Api.Bodies.Model {\n id: number;\n shortname: string;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n aufgabePriority: number;\n scheduledDate?: PHPW.ExtendedDateTime | undefined;\n summary: string;\n mailCount: number;\n taskCount: number;\n fileCount: number;\n }\n export interface Lane extends PHPW.Api.Bodies.Model {\n id: number;\n name: string;\n color: string;\n elements: PHPW.Api.Routes.Lib.Board.Model.Element[];\n }\n export interface ParamsBoardId extends PHPW.Api.Lib.DefaultRequestParameters {\n filter: string;\n userIds: undefined | number[];\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Booking.Model {\n export interface AccountOverride {\n account: number;\n accountOverride: number;\n }\n export interface ArgumentsHide extends PHPW.Api.Lib.DefaultRequestArguments {\n hide: 0 | 1;\n }\n export interface ArgumentsSollHaben extends PHPW.Api.Lib.DefaultRequestArguments {\n soll: number;\n haben: number;\n }\n export interface Booking extends PHPW.Api.Bodies.Model {\n belegdatum: PHPW.ExtendedDateTime;\n sollHaben: PHPW.Api.Routes.Lib.Booking.Model.BookingElement[];\n belegnummerKreisId?: number | undefined;\n belegnummer?: string | undefined;\n beleginfo?: string | undefined;\n comment?: string | undefined;\n kostenstelle?: number | undefined;\n gesellschafter?: number | undefined;\n leistungsdatum?: PHPW.ExtendedDateTime | undefined;\n ustId?: string | undefined;\n erBooking?: PHPW.Api.Routes.Lib.Booking.Model.BookingIncoming | undefined;\n nummer?: string | undefined;\n arbNumber?: number | undefined;\n erbNumber?: number | undefined;\n euTaxFactor?: number | undefined;\n bankStatementEntries: number[];\n proformaPayment?: PHPW.Api.Routes.Lib.Booking.Model.ProformaPayment | undefined;\n }\n export interface BookingActionChangeCostcenter extends PHPW.Api.Bodies.Model {\n id: number;\n costcenterId: number;\n }\n export interface BookingActionChangeGesellschafter extends PHPW.Api.Bodies.Model {\n id: number;\n gesellschafterId: number;\n }\n export interface BookingActionErbDeleteexport extends PHPW.Api.Bodies.Model {\n ids: number[];\n }\n export interface BookingActionRebook extends PHPW.Api.Bodies.Model {\n id: number;\n }\n export interface BookingActionSetState extends PHPW.Api.Bodies.Model {\n comment: string;\n state: number;\n }\n export interface BookingActionToJournal extends PHPW.Api.Bodies.Model {\n id: number;\n }\n export interface BookingActionToPrivate extends PHPW.Api.Bodies.Model {\n id: number;\n }\n export interface BookingCostCenter extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n short?: string | undefined;\n name: string;\n }\n export interface BookingDocumentCircuit extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n short?: string | undefined;\n name: string;\n }\n export interface BookingElement {\n id?: number | undefined;\n text?: string | undefined;\n soll?: number | undefined;\n haben?: number | undefined;\n amount: number;\n taxkey: number | undefined;\n taxFactor?: number | undefined;\n taxkeyGroup?: number | undefined;\n amountSkonto?: number | undefined;\n }\n export interface BookingIncoming extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n type: PHPW.Entities.Enum.BookingIncomingBillType;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n lieferant?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n number?: string | undefined;\n date?: PHPW.ExtendedDateTime | undefined;\n kurztext?: string | undefined;\n amount?: number | undefined;\n tax?: number | undefined;\n amount_tax?: number | undefined;\n amount_netto?: number | undefined;\n matureDate?: PHPW.ExtendedDateTime | undefined;\n paymentId?: number | undefined;\n skonto?: number | undefined;\n skontoMatureDate?: PHPW.ExtendedDateTime | undefined;\n bank?: string | undefined;\n kontoinhaber?: string | undefined;\n iban?: string | undefined;\n bic?: string | undefined;\n isPrivate: boolean;\n tasks: PHPW.Api.Routes.ComboboxModel.Aufgabe[];\n files: PHPW.Api.Routes.Lib.Files.Model.File[];\n status: number | undefined;\n comment: string | undefined;\n positions: PHPW.Api.Routes.Lib.Booking.Model.BookingIncomingPosition[];\n bookingId: number | undefined;\n }\n export interface BookingIncomingPosition {\n id?: number | undefined;\n position: number;\n article?: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n bezeichnung: string;\n amount: number;\n price: number;\n taxId?: number | undefined;\n lieferscheinNummer?: string | undefined;\n unitId?: number | undefined;\n country?: number | undefined;\n weight?: number | undefined;\n intraHandel?: PHPW.Api.Routes.Lib.Booking.Model.IntraHandel | undefined;\n intraHandelType: number;\n articleSerials: PHPW.Api.Routes.ComboboxModel.ArticleSerial[];\n }\n export interface BookingPreview {\n soll: PHPW.Api.Routes.Lib.Booking.Model.BookingPreviewElement[];\n haben: PHPW.Api.Routes.Lib.Booking.Model.BookingPreviewElement[];\n }\n export interface BookingPreviewElement {\n account: number;\n amount: number;\n ustPos?: number | undefined;\n }\n export interface BookingSingle extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n amount?: number | undefined;\n soll?: number | undefined;\n haben?: number | undefined;\n ustpos?: number | undefined;\n }\n export interface ChangeKonto extends PHPW.Api.Bodies.Model {\n oldKonto: number;\n newKonto: number;\n ids: number[];\n }\n export interface ChangeLeistungsDatum extends PHPW.Api.Bodies.Model {\n selected_ids: number[];\n date: string;\n action: number;\n }\n export interface ChangeTaxDate extends PHPW.Api.Bodies.Model {\n selected_ids: number[];\n date: string;\n action: number;\n }\n export interface ChangeTaxKey extends PHPW.Api.Bodies.Model {\n selected_ids: number[];\n tax_key: string;\n }\n export interface DatevImportRun extends PHPW.Api.Bodies.Model {\n documentCircuit?: number | undefined;\n accountOverride: PHPW.Api.Routes.Lib.Booking.Model.AccountOverride[];\n }\n export interface FindRelated extends PHPW.Api.Bodies.Model {\n start: PHPW.ExtendedDateTime;\n ende: PHPW.ExtendedDateTime;\n min: PHPW.ExtendedDateTime;\n max: PHPW.ExtendedDateTime;\n srckto: string;\n action: number;\n get: string;\n }\n export interface FindRelatedResponse extends PHPW.Api.Responses.DefaultResponse {\n ids: number[];\n }\n export interface IntraHandel {\n id?: number | undefined;\n positionId: number;\n verkehrsRichtung: string;\n bezugsZeitraum: number;\n kaufArt: string;\n verkehrsZweig: string;\n versenderLand: string;\n bestimmungsRegion: string;\n bestimmungsLand: string;\n ursprungsLand: string;\n ursprungsRegion?: string | undefined;\n zollTarifNummer: string;\n warenBezeichnung: string;\n masse: number;\n besondereEinheit: string;\n rechnungsWert: number;\n statistischerWert: number;\n jahr: number;\n }\n export interface InvoiceNumber extends PHPW.Api.Bodies.Model {\n invoice: string;\n }\n export interface ParamsBookingActionDatevExport extends PHPW.Api.Lib.DefaultRequestParameters {\n ids: string[];\n timeframe: string;\n year: string | undefined;\n overrideLeistungsDatum: string | undefined;\n belegbilder: boolean;\n ignoreUstId: string | undefined;\n belegfeldOneIsRechnungsnummer: string | undefined;\n }\n export interface ParamsBookingActionInstatXmlExport extends PHPW.Api.Lib.DefaultRequestParameters {\n year: string;\n timeframe: string;\n materialNumber?: string | undefined;\n makeTest: boolean;\n }\n export interface ParamsBookingPreset extends PHPW.Api.Lib.DefaultRequestParameters {\n processId: number | undefined;\n incomingBillId: number | undefined;\n proformaPaymentId: number | undefined;\n bankStatementEntryId: number | undefined;\n }\n export interface ParamsBookingTemplate extends PHPW.Api.Lib.DefaultRequestParameters {\n id: number;\n name: string;\n nextDate: string;\n }\n export interface ParamsDeleteBookingFileLinkId extends PHPW.Api.Lib.DefaultRequestParameters {\n erbIds: number[];\n }\n export interface ParamsTaxkeySollHaben extends PHPW.Api.Lib.DefaultRequestParameters {\n date: PHPW.ExtendedDateTime;\n skonto: boolean;\n oss: boolean;\n tkGroup?: number;\n }\n export interface PostBookingActionConvertXlsxSepaBody extends PHPW.Api.Lib.DefaultBody {\n bankId: number;\n }\n export interface PostBookingActionVisualizeERechnungBody extends PHPW.Api.Lib.DefaultBody {\n hash?: string | undefined;\n }\n export interface PostBookingArbActionDeleteExport extends PHPW.Api.Bodies.Model {\n ids: number[];\n }\n export interface ProformaPayment extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n proforma?: PHPW.Api.Routes.ComboboxModel.Process | undefined;\n invoice?: PHPW.Api.Routes.ComboboxModel.Process[] | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n booking_id?: number | undefined;\n bankId?: number | undefined;\n date?: PHPW.ExtendedDateTime | undefined;\n amount?: number | undefined;\n comment?: string | undefined;\n }\n export interface ProformaPaymentComment extends PHPW.Api.Bodies.Model {\n id: number;\n comment: string;\n }\n export interface ProformaPaymentToBooking extends PHPW.Api.Bodies.Model {\n id: number;\n booking_ids: number[];\n }\n export interface ProformaPaymentToPaymentBooking extends PHPW.Api.Bodies.Model {\n id: number;\n booking_ids: number[];\n }\n export interface ReconcileProforma extends PHPW.Api.Bodies.Model {\n invoicePaymentBad: number[];\n invoicePaymentGood: number[];\n notConnected: number[];\n proforma: PHPW.Api.Routes.Lib.Booking.Model.ReconcileProformaElement[];\n }\n export interface ReconcileProformaElement extends PHPW.Api.Bodies.Model {\n proformaPaymentBad: number[];\n proformaPaymentGood: number[];\n }\n export interface ReconcileProformaSetting extends PHPW.Api.Bodies.Model {\n proformaVon: PHPW.ExtendedDateTime;\n proformaBis: PHPW.ExtendedDateTime;\n rechnungVon: PHPW.ExtendedDateTime;\n rechnungBis: PHPW.ExtendedDateTime;\n }\n export interface ResponseBookingPreview extends PHPW.Api.Responses.DefaultResponse {\n sets: PHPW.Api.Routes.Lib.Booking.Model.BookingPreview[];\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Calendar.Model {\n export interface CalendarObject extends PHPW.Api.Bodies.Model {\n id?: string | number | undefined;\n calendarData: string;\n uri?: string | undefined;\n calendarId?: number | undefined;\n lastModified?: PHPW.ExtendedDateTime | undefined;\n etag?: string | undefined;\n size?: number | undefined;\n componentType?: string | undefined;\n firstOccurence?: PHPW.ExtendedDateTime | undefined;\n lastOccurence?: PHPW.ExtendedDateTime | undefined;\n uid?: string | undefined;\n users: PHPW.Api.Routes.ComboboxModel.User[];\n aufgaben: PHPW.Api.Routes.ComboboxModel.Aufgabe[];\n contacts: PHPW.Api.Routes.ComboboxModel.Contact[];\n }\n export interface OverviewCalendar extends PHPW.Api.Bodies.Model {\n day0: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n day1: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n day2: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n day3: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n day4: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n day5: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n day6: PHPW.Api.Routes.Lib.Calendar.Model.OverviewDay;\n }\n export interface OverviewDay {\n date: PHPW.ExtendedDateTime;\n personal: PHPW.Api.Routes.Lib.Calendar.Model.OverviewEvent[];\n termine: PHPW.Api.Routes.Lib.Calendar.Model.OverviewEvent[];\n events: PHPW.Api.Routes.Lib.Calendar.Model.OverviewEvent[];\n aufgaben: PHPW.Api.Routes.Lib.Calendar.Model.OverviewEvent[];\n dispo: PHPW.Api.Routes.Lib.Calendar.Model.OverviewEvent[];\n vehicles: PHPW.Api.Routes.Lib.Calendar.Model.OverviewEvent[];\n }\n export interface OverviewEvent {\n name: string;\n color: string | undefined;\n }\n export interface ParamsGetCalendar extends PHPW.Api.Lib.DefaultRequestParameters {\n startDate: PHPW.ExtendedDateTime;\n endDate: PHPW.ExtendedDateTime;\n userId?: number | undefined;\n specialFilter?: PHPW.Api.Routes.Lib.Calendar.Model.ParamsGetCalendarSpecialFilter | undefined;\n }\n export interface ParamsGetCalendarSpecialFilter {\n public?: boolean | undefined;\n private?: boolean | undefined;\n attendance?: boolean | undefined;\n holidays?: boolean | undefined;\n staff?: boolean | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Chat.Model {\n export interface ActionReadRequest extends PHPW.Api.Bodies.Model {\n room: string;\n messageId: number;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Config.Model {\n export interface ArgumentProfile extends PHPW.Api.Lib.DefaultRequestArguments {\n profile: string;\n }\n export interface Config extends PHPW.Api.Bodies.Model {\n Amount_Decimals: number;\n Company_Country: number;\n Company_Name: string;\n Default_Bank: number | undefined;\n List_Limit: number;\n isdemo: boolean;\n standardTemplate: string | undefined;\n wiki_path: string;\n ER_Text: string;\n Kassen_Konto: number | undefined;\n KreditorRange: string;\n DebitorRange: string;\n Booking_Calc_Basedate: string | undefined;\n VK1_Multiplier: number;\n VK2_Multiplier: number;\n VK3_Multiplier: number;\n Always_PriceGroupInfo: boolean;\n Default_Einheit: number | undefined;\n DispositionShowTime: boolean;\n Angebot_Zeit: number;\n default_end_time: string;\n default_start_time: string;\n Default_Account: number | undefined;\n Default_Account_TaxFree: number | undefined;\n Default_Account_TaxFree_EG_Leistung: number | undefined;\n Default_Account_TaxFree_Drittland_Lieferung: number | undefined;\n Default_Account_TaxFree_Drittland_Leistung: number | undefined;\n Default_Account_TaxFree_Bauleistung: number | undefined;\n Default_Account_TaxFree_Seeschiffe: number | undefined;\n Default_Account_TaxFree_Dreiecksgeschaeft: number | undefined;\n Stock_Receipt_NoOrder: boolean;\n Kontenrahmen: string;\n Booking_Modus: string | undefined;\n MailFindIgnore: string | undefined;\n }\n export interface DeleteConfigParams extends PHPW.Api.Lib.DefaultRequestParameters {\n profile: string;\n }\n export interface ParamsProfile extends PHPW.Api.Lib.DefaultRequestParameters {\n profile: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.ContactPerson.Model {\n export interface ContactPerson extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n insertDate: PHPW.ExtendedDateTime | undefined;\n insertUser: number | undefined;\n updateDate: PHPW.ExtendedDateTime | undefined;\n updateUser: number | undefined;\n trashDate: PHPW.ExtendedDateTime | undefined;\n trashUser: number | undefined;\n name: string | undefined;\n vorname: string | undefined;\n anrede: string | undefined;\n geschlecht: string | undefined;\n geburtstag: PHPW.ExtendedDateTime | undefined;\n infotext1: string | undefined;\n infotext2: string | undefined;\n position: string | undefined;\n newsletter: boolean;\n flag: string | undefined;\n briefanrede: string | undefined;\n duForm: boolean;\n emails: PHPW.Api.Routes.Lib.ContactPerson.Model.Email[];\n phoneNumbers: PHPW.Api.Routes.Lib.Contacts.Model.PhoneNumber[];\n contacts: PHPW.Api.Routes.Lib.ContactPerson.Model.ContactPersonToContact[];\n }\n export interface ContactPersonToContact {\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n jobPosition: string | undefined;\n }\n export interface Email {\n address: string | undefined;\n id: number | undefined;\n name: string | undefined;\n noNewsDate: PHPW.ExtendedDateTime | undefined;\n typeId: PHPW.Entities.Enum.ContactMailAddressType | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Contacts {\n export interface CheckShortnameBody extends PHPW.Api.Bodies.Model {\n shortname: string;\n contactId: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Contacts.CheckVat.Model {\n export interface CheckVatServiceResponse extends PHPW.Api.Responses.DefaultResponse {\n countryCode: string;\n vatNumber: string;\n requestDate: PHPW.ExtendedDateTime;\n valid: boolean;\n name: string;\n address: string;\n requestIdentifier?: string | undefined;\n success: boolean;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Contacts.Model {\n export interface Address {\n guid: string;\n firma1?: string | undefined;\n firma2?: string | undefined;\n firma3?: string | undefined;\n street?: string | undefined;\n ort?: string | undefined;\n postcode?: string | undefined;\n countryId?: number | undefined;\n designation?: string | undefined;\n briefanrede?: string | undefined;\n invoiceType: boolean;\n deliveryType: boolean;\n }\n export interface Bank {\n inhaber: string | undefined;\n bank: string | undefined;\n IBAN: string | undefined;\n BIC: string | undefined;\n mandRef: string | undefined;\n guid: string;\n mandStartDate: PHPW.ExtendedDateTime | undefined;\n }\n export interface CheckDebitorKreditorBody extends PHPW.Api.Bodies.Model {\n id: number;\n contactId?: number | undefined;\n }\n export interface Contact extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n lieferstop: boolean;\n kurzname?: string | undefined;\n kundennummer?: number | undefined;\n bank: PHPW.Api.Routes.Lib.Contacts.Model.Bank[];\n fibuKonto?: number | undefined;\n website?: string | undefined;\n ustFrei: PHPW.Entities.Enum.ProcessTaxBehaviour;\n ustId?: string | undefined;\n taxId?: string | undefined;\n zahlungsart?: number | undefined;\n zahlungsziel?: number | undefined;\n vertraulich: boolean;\n kreditlimit?: number | undefined;\n ownSupplierNumber?: string | undefined;\n ownCustomerNumber?: string | undefined;\n businessRelation: PHPW.Entities.Enum.BusinessRelation;\n erechnungType: PHPW.Entities.Enum.ERechnungType;\n brutto: boolean;\n lieferUstFrei: PHPW.Entities.Enum.ProcessTaxBehaviour;\n lieferZahlungsart?: number | undefined;\n lieferZahlungsziel?: number | undefined;\n extra1: string | undefined;\n extra2?: string | undefined;\n extra3?: string | undefined;\n extra4?: string | undefined;\n extra5?: string | undefined;\n extra6?: string | undefined;\n extra7?: string | undefined;\n extra8?: string | undefined;\n extra9?: string | undefined;\n extra10?: string | undefined;\n infotext1?: string | undefined;\n infotext2?: string | undefined;\n infotext3?: string | undefined;\n importIdent?: string | undefined;\n aktionsInfo?: string | undefined;\n guid?: string | undefined;\n preisliste?: PHPW.Api.Routes.ComboboxModel.ArticleSellingPriceGroupName | undefined;\n keyAccountManager: PHPW.Api.Routes.ComboboxModel.User[];\n primaryInvoiceAddress: string | number | undefined;\n primaryDeliveryAddress: string | number | undefined;\n addresses: PHPW.Api.Routes.Lib.Contacts.Model.Address[];\n flags: PHPW.Api.Routes.ComboboxModel.ContactFlag[];\n emails: PHPW.Api.Routes.Lib.Contacts.Model.Email[];\n emailDomains: PHPW.Api.Routes.Lib.Contacts.Model.EmailDomain[];\n phoneNumbers: PHPW.Api.Routes.Lib.Contacts.Model.PhoneNumber[];\n }\n export interface ContactLink extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n disabled: boolean;\n baseContact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n reason: string | undefined;\n }\n export interface Email {\n address?: string | undefined;\n id?: number | undefined;\n name?: string | undefined;\n noNewsDate: PHPW.ExtendedDateTime | undefined;\n typeId: PHPW.Entities.Enum.ContactMailAddressType | undefined;\n }\n export interface EmailDomain {\n domain?: string | undefined;\n id?: number | undefined;\n }\n export interface ImportDryrun extends PHPW.Api.Bodies.Model {\n type?: string | undefined;\n settings: PHPW.Data.Io.Import.Contact.Model.ImportSettings;\n }\n export interface PhoneNumber {\n number?: string | undefined;\n dashOffset?: number | undefined;\n comment?: string | undefined;\n typeId?: PHPW.Entities.Enum.PhoneNumberType | undefined;\n id?: number | undefined;\n }\n export interface ValidateVatRequestParameters extends PHPW.Api.Lib.DefaultRequestParameters {\n vatNumber: string;\n iso_3166_2?: string | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Demand.Model {\n export interface Demand extends PHPW.Api.Bodies.Model {\n id: number;\n count: number;\n unit: PHPW.Api.Routes.ComboboxModel.Unit;\n user: PHPW.Api.Routes.ComboboxModel.User;\n article: PHPW.Api.Routes.ComboboxModel.Article;\n state: PHPW.Api.Routes.Lib.Demand.Model.DemandState;\n reason: string;\n }\n export interface DemandState extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n text: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Disposition.Model {\n export interface DispoPriceGlobalList extends PHPW.Api.Bodies.Model {\n globalPrices: PHPW.Api.Routes.Lib.Article.Model.DispoPriceGlobal[];\n }\n export interface DispoProcessCalendarPosition {\n id?: number | undefined;\n invoiceStart?: PHPW.ExtendedDateTime | undefined;\n invoiceEnd?: PHPW.ExtendedDateTime | undefined;\n startDate?: PHPW.ExtendedDateTime | undefined;\n endDate?: PHPW.ExtendedDateTime | undefined;\n fullday?: boolean | undefined;\n name: string;\n color?: string | undefined;\n anzahl?: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Dms.Model {\n export interface GetDmsSearchParams extends PHPW.Api.Lib.DefaultRequestParameters {\n filters: {[key: string]: string};\n sort?: Array<[string, \"ASC\" | \"DESC\"]> | undefined;\n rowCount?: number;\n offset: number;\n special?: {[key: string]: boolean | number | string | Date | undefined | number[]};\n }\n export interface GetDmsSearchParamsSpecial {\n pathId: number;\n subpath: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Document.Model {\n export interface AvisResponse extends PHPW.Api.Bodies.Model {\n mailInfos: PHPW.Api.Routes.Lib.Document.Model.MailInfo[];\n count: number;\n }\n export interface ERBBlockzahlungAvisResponse extends PHPW.Api.Responses.DefaultResponse {\n avisResponse: PHPW.Api.Routes.Lib.Document.Model.AvisResponse;\n skippedEntries: string[];\n }\n export interface GetDocumentERBBlockzahlungenAvisRequestBody extends PHPW.Api.Bodies.Model {\n elements: PHPW.Api.Routes.Lib.Document.Model.GetDocumentERBBlockzahlungenAvisRequestBodyElement[];\n }\n export interface GetDocumentERBBlockzahlungenAvisRequestBodyElement {\n bill_id: number;\n invoiceDate: PHPW.ExtendedDateTime;\n bill_number: string;\n date: PHPW.ExtendedDateTime;\n ausgleichBetrag: number;\n amount: number;\n skontoDate: PHPW.ExtendedDateTime | undefined;\n skontoAmount: number;\n contact: number;\n account: number;\n }\n export interface MahnungParams extends PHPW.Api.Lib.DefaultRequestParameters {\n ids: number[];\n mType: number;\n templateId: number;\n days: number;\n }\n export interface MailInfo {\n hash: string;\n contact: number;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Files.Model {\n export interface File extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n storeDate: PHPW.ExtendedDateTime | undefined;\n filename: string;\n size: number;\n mimeType: string;\n hash: string;\n sha512: string;\n comment: string | undefined;\n shortInfo: string | undefined;\n expireDate: PHPW.ExtendedDateTime | undefined;\n typeId: number | undefined;\n private: boolean | undefined;\n }\n export interface FileInRelationTo extends PHPW.Api.Bodies.Model {\n public?: boolean;\n filename?: string | undefined;\n priority?: number;\n articleImage?: boolean;\n subId?: number | undefined;\n linkReason?: string | undefined;\n }\n export interface FilesHashLinkParams extends PHPW.Api.Lib.DefaultRequestParameters {\n targetId: number | undefined;\n targetType: string | undefined;\n }\n export interface GetFilesBundleDownloadParams extends PHPW.Api.Lib.DefaultRequestParameters {\n hash: string[];\n }\n export interface GetFilesHashRelationParams extends PHPW.Api.Lib.DefaultRequestParameters {\n article?: number | undefined;\n contact?: number | undefined;\n aufgabe?: number | undefined;\n articleSerial?: number | undefined;\n dispoArticleSerial?: number | undefined;\n project?: number | undefined;\n erb?: number | undefined;\n }\n export interface PostActionSetFileNameModel extends PHPW.Api.Bodies.Model {\n hash: string | undefined;\n filename: string;\n }\n export interface UploadFile extends PHPW.Api.Bodies.Model {\n info: string | undefined;\n comment: string | undefined;\n expireDate?: PHPW.ExtendedDateTime | undefined;\n private: boolean;\n typeId?: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Kasse.Model {\n export interface KasseArticle extends PHPW.Api.Bodies.Model {\n articleId: number | undefined;\n bezeichnung: string;\n price: number;\n taxId: number;\n hash: string;\n }\n export interface KassePlatz extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n name: string;\n printerId: string;\n barcodeConnected: boolean;\n displayConnected: boolean;\n kassenladeConnected: boolean;\n selectedPrinterType: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Lager.Model {\n export interface LagerPlatzBestand {\n id: number | undefined;\n article: PHPW.Api.Routes.ComboboxModel.Article;\n place: PHPW.Api.Routes.ComboboxModel.LagerPlatz;\n type: PHPW.Api.Routes.ComboboxModel.LagerPlatzBestandType;\n stock: number;\n charge: PHPW.Api.Routes.ComboboxModel.ArticleCharge | undefined;\n serial: PHPW.Api.Routes.ComboboxModel.ArticleSerial | undefined;\n }\n export interface Lagerplatz extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n name: string | undefined;\n type?: PHPW.Entities.Enum.LagerPlatzTyp;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n minAmount?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n }\n export interface StockArrivalResult extends PHPW.Api.Bodies.Model {\n invalidArticles: PHPW.Api.Routes.ComboboxModel.Article[];\n collectionArticles: PHPW.Api.Routes.ComboboxModel.Article[];\n noInfos: PHPW.Api.Routes.ComboboxModel.Article[];\n findPersistExceptions: PHPW.Api.Routes.ComboboxModel.Article[];\n findPersistExceptionInfos: string[];\n stockActionExceptions: PHPW.Api.Routes.ComboboxModel.Article[];\n stockActionExceptionInfos: string[];\n successes: PHPW.Api.Routes.ComboboxModel.Article[];\n fails: PHPW.Api.Routes.ComboboxModel.Article[];\n }\n export interface StorageStockArrival extends PHPW.Api.Bodies.Model {\n targetPlace?: PHPW.Api.Routes.ComboboxModel.LagerPlatz | undefined;\n stockArrivals: PHPW.Api.Routes.Lib.Lager.Model.StorageStockArrivalArticle[];\n }\n export interface StorageStockArrivalArticle extends PHPW.Api.Bodies.Model {\n article: PHPW.Api.Routes.ComboboxModel.Article;\n noOrder: boolean;\n lieferant?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n process?: PHPW.Api.Routes.ComboboxModel.Process | undefined;\n lieferscheinNr?: string | undefined;\n kommission?: string | undefined;\n kommentar?: string | undefined;\n amount?: number | undefined;\n serials: PHPW.Api.Routes.Lib.Article.Model.WareneingangSerialOrCharge[];\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Mail.Model {\n export interface GetMailIdParams extends PHPW.Api.Lib.Common.ParamsSilent {\n forceFetch?: boolean | undefined;\n }\n export interface GetMailTemplatesResponse extends PHPW.Api.Responses.DefaultResponse {\n templates: {[key: string]: string};\n }\n export interface Mail extends PHPW.Api.Responses.DefaultResponse {\n id: number | undefined;\n from: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n to: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n cc: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n bcc: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n replyTo: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n deliveredTo: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n envelopeTo: PHPW.Api.Routes.Lib.Mail.Model.MailAddress[];\n hasExternalImages: boolean;\n date: PHPW.ExtendedDateTime | undefined;\n subject: string;\n statusId: PHPW.Entities.Enum.MailStatus;\n prio: number;\n shortinfo: string | undefined;\n comment: string | undefined;\n message: string | undefined;\n header: string | undefined;\n tasks: PHPW.Api.Routes.ComboboxModel.Aufgabe[];\n expireDays: number | undefined;\n relations: PHPW.Api.Routes.ComboboxModel.MailRelation[];\n attachments: PHPW.Api.Routes.Lib.Files.Model.File[];\n messageId: string;\n isPrivate: boolean;\n timings: {\n connectionDown?: number;\n connectionUp?: number;\n fetch?: number;\n fullFunction?: number;\n parse?: number;\n };\n }\n export interface MailAddress {\n id: number | undefined;\n name: string | undefined;\n address: string;\n contacts: Array<{id: number; kurzname: string; text: string}>;\n }\n export interface MailAddressEdit extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string | undefined;\n address: string;\n frequence: number | undefined;\n nonewsDate: PHPW.ExtendedDateTime | undefined;\n trash: boolean;\n }\n export interface MailAddressLinkContact extends PHPW.Api.Lib.DefaultBody {\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n contactPerson: PHPW.Api.Routes.ComboboxModel.ContactPerson | undefined;\n }\n export interface MailDraft extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUserId?: number | undefined;\n lastUpdate?: PHPW.ExtendedDateTime | undefined;\n lastUpdateUserId?: number | undefined;\n trash?: boolean | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUserId?: number | undefined;\n trashNote?: string | undefined;\n name?: string | undefined;\n subject: string;\n content: string;\n to: string[];\n cc: string[];\n bcc: string[];\n attachments: PHPW.Api.Routes.Lib.Mail.Model.Send.Attachment[];\n }\n export interface MailNewsletter extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUserId?: number | undefined;\n lastUpdate?: PHPW.ExtendedDateTime | undefined;\n lastUpdateUserId?: number | undefined;\n trash?: boolean | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUserId?: number | undefined;\n trashNote?: string | undefined;\n uuid?: string | undefined;\n uuidDate?: PHPW.ExtendedDateTime | undefined;\n subject: string;\n content: string;\n priority: number;\n size?: number | undefined;\n from: PHPW.Api.Routes.Lib.Mail.Model.Send.Address;\n reply: PHPW.Api.Routes.Lib.Mail.Model.Send.Address;\n flags: PHPW.Api.Routes.ComboboxModel.ContactFlag[];\n attachments: PHPW.Api.Routes.Lib.Mail.Model.Send.Attachment[];\n }\n export interface MailRelation extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n short: string | undefined;\n long: string | undefined;\n expireText: number | undefined;\n expireAttachments: number | undefined;\n }\n export interface PostActionNewsletterSubscribeBody extends PHPW.Api.Lib.DefaultBody {\n addressen: string;\n }\n export interface PostMailAddressResponse extends PHPW.Api.Lib.DefaultBody {\n notifications: [\"mailAddressDeleted\", \"mailAddressUndeleted\", \"mailNonewsDateRemove\", \"mailNonewsDateAdd\"];\n }\n export interface PostMailIdActionSetstateParams extends PHPW.Api.Lib.DefaultRequestParameters {\n manuallySet: boolean;\n statusId: PHPW.Entities.Enum.MailStatus;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Mail.Model.Send {\n export interface Address {\n address: string;\n name: string | undefined;\n }\n export interface Attachment {\n data?: string | undefined;\n hash?: string | undefined;\n filename?: string | undefined;\n }\n export interface Mail extends PHPW.Api.Lib.DefaultBody {\n priority: number;\n from: PHPW.Api.Routes.Lib.Mail.Model.Send.Address;\n to: string[];\n cc: string[];\n bcc: string[];\n inReplyTo: string | undefined;\n subject: string;\n content: string;\n attachments: PHPW.Api.Routes.Lib.Mail.Model.Send.Attachment[];\n tasks: PHPW.Api.Routes.ComboboxModel.Aufgabe[];\n shortinfo: string | undefined;\n comment: string | undefined;\n expireDays: number | undefined;\n relations: PHPW.Api.Routes.ComboboxModel.MailRelation[];\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Mail.Response {\n export interface CollectedAddressees extends PHPW.Api.Responses.DefaultResponse {\n count: number;\n unSend: number | undefined;\n uuid: string | undefined;\n uuidDate: PHPW.ExtendedDateTime | undefined;\n }\n export interface NewsletterSend extends PHPW.Api.Responses.DefaultResponse {\n uuid: string | undefined;\n uuidDate: PHPW.ExtendedDateTime | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Oauth.Model {\n export interface GetOauthUrlParameters extends PHPW.Api.Lib.DefaultRequestParameters {\n provider: PHPW.Oauth.OauthProvider;\n mailAccountId?: number | undefined;\n shopId?: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Parcel.Model {\n export interface Address {\n firma1?: string | undefined;\n firma2?: string | undefined;\n firma3?: string | undefined;\n countryId?: number | undefined;\n ort?: string | undefined;\n plz?: string | undefined;\n strasse?: string | undefined;\n phone?: string | undefined;\n email?: string | undefined;\n }\n export interface Package {\n weight?: number | undefined;\n length?: number | undefined;\n width?: number | undefined;\n height?: number | undefined;\n type?: string | undefined;\n }\n export interface Parcel extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n to: PHPW.Api.Routes.Lib.Parcel.Model.Address;\n package: PHPW.Api.Routes.Lib.Parcel.Model.Package;\n reference_number?: string | undefined;\n labelUrl?: string | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n process?: PHPW.Api.Routes.ComboboxModel.Process | undefined;\n providerId?: string | undefined;\n providerDisplayName?: string | undefined;\n carrierId?: string | undefined;\n carrierDisplayName?: string | undefined;\n serviceId?: string | number | undefined;\n serviceDisplayName?: string | undefined;\n pickupTime?: PHPW.ExtendedDateTime | undefined;\n price?: number | undefined;\n }\n export interface PreviewResponse extends PHPW.Api.Bodies.Model {\n labelUrl: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Payment.Model {\n export interface DocumentCircuit {\n label: string;\n value: string;\n }\n export interface FastPayment extends PHPW.Api.Bodies.Model {\n bill_id: number;\n nummer: string | undefined;\n date: PHPW.ExtendedDateTime | undefined;\n totalAmount: number;\n amount: number;\n bank_id: number | undefined;\n skontoAmount: number;\n paymentDate: PHPW.ExtendedDateTime;\n paymentAmount: number;\n proformaPayment?: PHPW.Api.Routes.Lib.Payment.Model.ProformaInvoiceDetails | undefined;\n balance: number;\n creditSettlement: number;\n transactionFee: number;\n reminderFee: number;\n isAbschlag: boolean | undefined;\n }\n export interface Payment {\n bill_id: number | undefined;\n date?: PHPW.ExtendedDateTime | undefined;\n skontoAmount?: number | undefined;\n amount: number | undefined;\n transactionFee: number | undefined;\n reminderFee: number | undefined;\n account: number;\n }\n export interface PaymentDefault extends PHPW.Api.Bodies.Model {\n date: PHPW.ExtendedDateTime;\n bankKonto?: number | undefined;\n belegkreis?: number | undefined;\n }\n export interface PaymentListOverView extends PHPW.Api.Bodies.Model {\n paymentList: PHPW.Api.Routes.Lib.Payment.Model.Payment[];\n active: number;\n date: PHPW.ExtendedDateTime;\n belegInfo: string;\n belegkreis: number;\n bank_id: number;\n done: number;\n executionDate: PHPW.ExtendedDateTime;\n sepaCollectionDate: PHPW.ExtendedDateTime | undefined;\n sepaSeparate: boolean;\n }\n export interface PaymentView {\n bill_id: number | undefined;\n date: PHPW.ExtendedDateTime | undefined;\n skontoDate?: PHPW.ExtendedDateTime | undefined;\n contact?: number | undefined;\n shortname?: string | undefined;\n bill_number?: string | undefined;\n skontoAmount?: number | undefined;\n amount: number;\n account: number;\n openAmount: number;\n totalAmount: number;\n ausgleichBetrag: number;\n invoiceDate: PHPW.ExtendedDateTime;\n skontoToleranz: PHPW.ExtendedDateTime;\n origSkonto: number;\n matureDate: PHPW.ExtendedDateTime;\n sepaB2B?: boolean | undefined;\n transactionFee: number | undefined;\n reminderFee: number;\n }\n export interface ProformaInvoiceDetails extends PHPW.Api.Bodies.Model {\n text: string;\n id: number | undefined;\n proformaPayment: PHPW.Api.Routes.Lib.Booking.Model.ProformaPayment | undefined;\n }\n export interface SepaExportInfo extends PHPW.Api.Bodies.Model {\n file_id?: number | undefined;\n errors: string[];\n avisDemands: PHPW.Api.Routes.Lib.Payment.Model.SepaPaymentInfo[];\n emptyBook: PHPW.Api.Routes.Lib.Payment.Model.SepaPaymentInfo[];\n }\n export interface SepaPaymentInfo {\n rgNumbers: string[];\n amount: number;\n iban: string;\n name: string;\n inhaber: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Preload.Lib {\n export interface Account extends PHPW.Api.Lib.DefaultBody {\n id: number;\n number: number;\n name: string;\n lastYear: number | undefined;\n }\n export interface ArticleUnit extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n trash: boolean;\n short: string;\n long: string;\n unecerec20: string | undefined;\n }\n export interface BookingIncomingBillsStatus extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n color: string;\n }\n export interface CostCenter extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n short: string;\n }\n export interface DispoProcessStatus extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n color: string;\n viewstate: number;\n }\n export interface DispoStatus extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n color: string;\n }\n export interface DocumentCircuit extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n short: string;\n }\n export interface Gesellschafter extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n }\n export interface OrderPayment extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string | undefined;\n }\n export interface ProcessStatus extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n name: string;\n color: string;\n }\n export interface ProcessTemplate extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n template: string;\n templateGroupId: number | undefined;\n version: PHPW.Entities.Enum.ProcessTemplateType;\n }\n export interface ProcessType extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n trash: boolean;\n name: string;\n short: string;\n useEk: boolean;\n category: PHPW.Process.Model.ProcessTypeCategory | undefined;\n useRelPayText: boolean;\n template: number | undefined;\n documentSettings: PHPW.Document.Model.ProcessSettings;\n }\n export interface ProjectStatus extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n text: string;\n }\n export interface Stock extends PHPW.Api.Lib.DefaultBody {\n id: string;\n name: string;\n }\n export interface User extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n vorname: string;\n name: string;\n kuerzel: string;\n trashed: boolean;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Preload.Model {\n export interface UneceRec20 {\n code: string;\n name: string;\n }\n export interface Untdid1001 {\n code: number;\n name: string;\n description: string;\n }\n export interface Untdid4461 {\n code: string;\n name: string;\n description: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Process.Model {\n export enum PositionAvailability {\n \"FULLY_AVAILABLE\" = 1,\n \"PARTIALLY_AVAILABLE\" = 2,\n \"IN_FUTURE_AVAILABLE\" = 3,\n \"NOT_AVAILABLE\" = 4,\n \"NO_ARTICLE\" = 5,\n \"NOT_STOCKABLE\" = 6,\n \"ERROR\" = 7\n }\n export interface Address {\n firma1?: string | undefined;\n firma2?: string | undefined;\n firma3?: string | undefined;\n countryId?: number | undefined;\n ort?: string | undefined;\n plz?: string | undefined;\n strasse?: string | undefined;\n }\n export interface Article {\n id?: number | undefined;\n snPflege: PHPW.Api.Routes.Lib.Article.Lib.EArticleType;\n vpeSize: number;\n gewicht?: number | undefined;\n skontierbar: boolean;\n trash: boolean;\n calculatedLohnminuten?: number | undefined;\n extraCost?: number | undefined;\n extraCostTax?: number | undefined;\n prices: PHPW.Price.Model.PriceGroup[];\n priceContacts: PHPW.Price.Model.PriceContact[];\n images: PHPW.Api.Routes.Lib.Article.Model.ArticleImage[];\n }\n export interface BodySetAmountOutstanding extends PHPW.Api.Lib.DefaultBody {\n amountOutstanding?: number | undefined;\n comment?: string | undefined;\n }\n export interface CollectionPosition {\n id?: number | undefined;\n index?: number | undefined;\n amount: number;\n unitId?: number | undefined;\n article?: PHPW.Api.Routes.Lib.Process.Model.Article | undefined;\n articleNumber?: string | undefined;\n customerArticleNumber?: string | undefined;\n customerProcessNumber?: string | undefined;\n cashback?: number | undefined;\n freightCharge: number;\n calculationText?: string | undefined;\n freightChargePerUnit: boolean;\n name?: string | undefined;\n brand?: string | undefined;\n description?: string | undefined;\n taxId?: number | undefined;\n posiTyp: PHPW.Process.Model.ProcessPositionType;\n ekPreis: PHPW.Process.Model.PositionPreis;\n vkPreis: PHPW.Process.Model.PositionPreis;\n }\n export interface DocumentActionResponse extends PHPW.Api.Responses.ActionResponse {\n documentHash: string | undefined;\n }\n export interface ParamsGetPosition extends PHPW.Api.Lib.DefaultRequestParameters {\n selfParentLinkAsNew?: boolean | undefined;\n }\n export interface ParentPositionInfo {\n id?: number | undefined;\n processId?: number | undefined;\n contactId?: number | undefined;\n specList: PHPW.Entities.Enum.ProcessCategory;\n positionPosition: string;\n processNumber?: string | undefined;\n processDate?: PHPW.ExtendedDateTime | undefined;\n }\n export interface Payment extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n name: string;\n target?: number | undefined;\n targetWeekdays: number[];\n text: string;\n textEn: string;\n relativeText: string;\n relativeTextEn: string;\n requireKundennummer?: boolean;\n selectable?: boolean;\n showBankOnDocument: boolean;\n bankId?: number | undefined;\n skontoTarget?: number | undefined;\n defaultSkonto?: number | undefined;\n startNextMonth?: boolean;\n orderby?: number | undefined;\n untdid4461: string;\n default?: boolean;\n }\n export interface Position extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n processId?: number | undefined;\n customPosText?: string | undefined;\n amount: number;\n countOutstanding?: number | undefined;\n unitId?: number | undefined;\n article?: PHPW.Api.Routes.Lib.Process.Model.Article | undefined;\n articleNumber?: string | undefined;\n customerArticleNumber?: string | undefined;\n customerProcessNumber?: string | undefined;\n cashback?: number | undefined;\n freightCharge: number;\n calculationText?: string | undefined;\n freightChargePerUnit: boolean;\n name?: string | undefined;\n brand?: string | undefined;\n description?: string | undefined;\n taxId?: number | undefined;\n chargen: PHPW.Api.Routes.Lib.Process.Model.PositionCharge[];\n serialNumbers: PHPW.Api.Routes.Lib.Process.Model.PositionSerial[];\n posiTyp: PHPW.Process.Model.ProcessPositionType;\n parentPositionInfo?: PHPW.Api.Routes.Lib.Process.Model.ParentPositionInfo | undefined;\n shippingPlan?: PHPW.Api.Routes.Lib.Process.Model.PositionShippingPlan | undefined;\n dispoPosition?: PHPW.Api.Routes.Lib.Process.Model.PositionDispo | undefined;\n ekPreis: PHPW.Process.Model.PositionPreis;\n vkPreis: PHPW.Process.Model.PositionPreis;\n positionGroupId?: number | undefined;\n positionGroup?: PHPW.Api.Routes.Lib.Process.Model.PositionGroup | undefined;\n subscription?: PHPW.Api.Routes.Lib.Subscription.Model.Subscription | undefined;\n subscriptionCoveredUntilDate?: PHPW.ExtendedDateTime | undefined;\n }\n export interface PositionCharge {\n batch: PHPW.Api.Routes.ComboboxModel.ArticleCharge;\n amount: number;\n }\n export interface PositionDispo {\n billingFrom?: PHPW.ExtendedDateTime | undefined;\n billingTo?: PHPW.ExtendedDateTime | undefined;\n billingCount: number;\n from?: PHPW.ExtendedDateTime | undefined;\n to?: PHPW.ExtendedDateTime | undefined;\n customDayPrice?: number | undefined;\n id?: number | undefined;\n billingType: PHPW.Entities.Enum.DispoBillingType;\n }\n export interface PositionGroup extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n deliverable: boolean;\n fulfillmentDelivery: PHPW.Entities.Enum.FulfillmentState;\n fulfillmentInvoice: PHPW.Entities.Enum.FulfillmentState;\n }\n export interface PositionSerial {\n serial?: PHPW.Api.Routes.ComboboxModel.ArticleSerial | undefined;\n serialNo: string;\n showInfo: boolean;\n infoText?: string | undefined;\n }\n export interface PositionShippingPlan {\n shippingDate?: PHPW.ExtendedDateTime | undefined;\n shippingDateType?: PHPW.Entities.Enum.ProcessPositionShippingDateType | undefined;\n shippingType?: PHPW.Entities.Enum.ProcessPositionShippingType | undefined;\n }\n export interface Process extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n parentProcess?: PHPW.Api.Routes.ComboboxModel.ParentProcess | undefined;\n typeId?: number | undefined;\n positions: PHPW.Api.Routes.Lib.Process.Model.Position[];\n shippingDate?: string | undefined;\n deliveryAddress?: PHPW.Api.Routes.Lib.Process.Model.Address | undefined;\n deliveryAddressEqualsToInvoice: boolean;\n invoiceAddress: PHPW.Api.Routes.Lib.Process.Model.Address;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n createDate?: PHPW.ExtendedDateTime | undefined;\n createUser?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n isPrivate?: boolean;\n invoiceDate?: PHPW.ExtendedDateTime | undefined;\n shortName: string;\n besteller?: string | undefined;\n emails: string[];\n invoiceEmails: string[];\n buyerReference?: string | undefined;\n projectReference?: string | undefined;\n contractReference?: string | undefined;\n purchaseOrderReference?: string | undefined;\n tenderOrLotReference?: string | undefined;\n ownSupplierNumber?: string | undefined;\n ownCustomerNumber?: string | undefined;\n customerAccountId?: number | undefined;\n accountId?: number | undefined;\n tasks: PHPW.Api.Routes.ComboboxModel.Aufgabe[];\n taxFree: PHPW.Entities.Enum.ProcessTaxBehaviour;\n taxId?: string | undefined;\n rmaId?: number | undefined;\n documentNumber?: string | undefined;\n templateId?: number | undefined;\n correctionReason?: string | undefined;\n angebotGueltigkeit?: number | undefined;\n prepayment: number;\n language: PHPW.Entities.Enum.ArticleLanguage;\n paymentId?: number | undefined;\n cashback?: number | undefined;\n discount?: number | undefined;\n bankId?: number | undefined;\n paymentPeriod?: number | undefined;\n cashbackPeriod?: number | undefined;\n paymentText?: string | undefined;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n contactPerson?: PHPW.Api.Routes.ComboboxModel.ContactPerson | undefined;\n deductIds: number[];\n documentSettings?: PHPW.Document.Model.ProcessSettings | undefined;\n specList: PHPW.Entities.Enum.ProcessCategory;\n documentHash?: string | undefined;\n xmlHash?: string | undefined;\n cancelDocumentHash?: string | undefined;\n agreement?: string | undefined;\n extras?: PHPW.Api.Routes.Lib.Process.Model.ProcessExtras | undefined;\n amountBrutto?: number | undefined;\n amountNetto?: number | undefined;\n cashReceived?: number | undefined;\n cashPaymentType?: number | undefined;\n comment?: string | undefined;\n groupId?: number | undefined;\n }\n export interface ProcessCheck extends PHPW.Api.Lib.DefaultBody {\n positions: PHPW.Api.Routes.Lib.Process.Model.ProcessCheckPosition[];\n typeId?: number | undefined;\n contactId?: number | undefined;\n parentProcessId?: number | undefined;\n isFinalOf: number[];\n discount: number | undefined;\n prepayment: number;\n taxBehaviour: PHPW.Entities.Enum.ProcessTaxBehaviour;\n language: PHPW.Entities.Enum.ArticleLanguage;\n }\n export interface ProcessCheckPosition {\n type: PHPW.Process.Model.ProcessPositionType;\n amount: number;\n ekPreis: PHPW.Process.Model.PositionPreis;\n vkPreis: PHPW.Process.Model.PositionPreis;\n taxId: number;\n articleId?: number | undefined;\n subscriptionId?: number | undefined;\n priceList?: string | undefined;\n dispoFrom?: PHPW.ExtendedDateTime | undefined;\n dispoTo?: PHPW.ExtendedDateTime | undefined;\n }\n export interface ProcessCheckResponse extends PHPW.Api.Responses.DefaultResponse {\n positions: PHPW.Api.Routes.Lib.Process.Model.ProcessCheckResponsePosition[];\n sumOfInvoiceLineNetAmount: number;\n sumOfAllowancesOnDocumentLevel_discount: number;\n sumOfAllowancesOnDocumentLevel_prepayment: number;\n sumOfChargesOnDocumentLevel: number;\n invoiceTotalAmountWithoutVat: number;\n vatBreakdown: PHPW.Api.Routes.Lib.Process.Model.ProcessCheckResponseVat[];\n invoiceTotalAmountWithVat: number;\n paidAmount: number;\n amountDueForPayment: number;\n }\n export interface ProcessCheckResponsePosition {\n discounts: number[];\n sellingPrice?: number | undefined;\n sellingPriceList?: PHPW.Api.Routes.ComboboxModel.ArticleSellingPriceGroupName | undefined;\n sellingPriceContactContact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n buyingPrice?: number | undefined;\n availability: PHPW.Api.Routes.Lib.Process.Model.ProcessCheckResponsePositionAvailability;\n brand: string | undefined;\n name: string | undefined;\n text: string | undefined;\n }\n export interface ProcessCheckResponsePositionAvailability {\n stock: number;\n availability: PHPW.Api.Routes.Lib.Process.Model.PositionAvailability;\n details: {[key: number]: number};\n }\n export interface ProcessCheckResponseVat extends PHPW.Api.Responses.DefaultResponse {\n taxableAmount: number;\n taxAmount: number;\n rate: number;\n }\n export interface ProcessCollection extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n name?: string | undefined;\n positions: PHPW.Api.Routes.Lib.Process.Model.CollectionPosition[];\n }\n export interface ProcessCreateResponse extends PHPW.Api.Responses.SaveResponse {\n documentHash: string | undefined;\n }\n export interface ProcessExtras extends PHPW.Api.Bodies.Model {\n date1?: PHPW.ExtendedDateTime | undefined;\n number1?: number | undefined;\n text1?: string | undefined;\n date2?: PHPW.ExtendedDateTime | undefined;\n number2?: number | undefined;\n text2?: string | undefined;\n text3?: string | undefined;\n text4?: string | undefined;\n }\n export interface ProcessGroupData extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n insertDate: PHPW.ExtendedDateTime;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n comment?: string | undefined;\n deliveryAddresses: PHPW.Api.Routes.Lib.Process.Model.Address[];\n invoiceAddresses: PHPW.Api.Routes.Lib.Process.Model.Address[];\n offer: PHPW.Api.Routes.Lib.Process.Model.Process[];\n confirmation: PHPW.Api.Routes.Lib.Process.Model.Process[];\n invoice: PHPW.Api.Routes.Lib.Process.Model.Process[];\n delivery: PHPW.Api.Routes.Lib.Process.Model.Process[];\n ungrouped: PHPW.Api.Routes.Lib.Process.Model.Process[];\n }\n export interface ProcessGroupPositionGroupMerge extends PHPW.Api.Lib.DefaultBody {\n ids: number[];\n }\n export interface ProcessGroupSaveData extends PHPW.Api.Lib.DefaultBody {\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n comment?: string | undefined;\n selected: {[key: string]: boolean};\n }\n export interface ProcessGroupUnfinishedPositionsParams extends PHPW.Api.Lib.DefaultRequestParameters {\n targetArcType: PHPW.Process.Model.ProcessTypeArcType | undefined;\n }\n export interface ProcessLinked extends PHPW.Api.Bodies.Model {\n hasParent: boolean;\n hasChildren: boolean;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Protocol.Model {\n export interface Protocol extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n aufgabe: PHPW.Api.Routes.ComboboxModel.Aufgabe | undefined;\n information: string | undefined;\n startTime: PHPW.ExtendedDateTime | undefined;\n endTime: PHPW.ExtendedDateTime | undefined;\n job: PHPW.Api.Routes.ComboboxModel.ProtocolJob | undefined;\n article: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n project: PHPW.Api.Routes.ComboboxModel.ProtocolProject | undefined;\n user: PHPW.Api.Routes.ComboboxModel.User | undefined;\n }\n export interface ProtocolBatchEdit extends PHPW.Api.Lib.DefaultBody {\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n contactActive: boolean;\n job: PHPW.Api.Routes.ComboboxModel.ProtocolJob | undefined;\n jobActive: boolean;\n project: PHPW.Api.Routes.ComboboxModel.ProtocolProject | undefined;\n projectActive: boolean;\n task: PHPW.Api.Routes.ComboboxModel.Aufgabe | undefined;\n taskActive: boolean;\n article: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n articleActive: boolean;\n }\n export interface ProtocolConcat extends PHPW.Api.Lib.DefaultBody {\n information: string;\n }\n export interface ProtocolDay extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n date: PHPW.ExtendedDateTime;\n user: PHPW.Api.Routes.ComboboxModel.User | undefined;\n start: PHPW.ExtendedDateTime | undefined;\n end: PHPW.ExtendedDateTime | undefined;\n flag: string | undefined;\n protocol: PHPW.Api.Routes.Lib.Protocol.Model.ProtocolEvent[];\n }\n export interface ProtocolEvent {\n id: number | undefined;\n aufgabe: PHPW.Api.Routes.ComboboxModel.Aufgabe | undefined;\n information: string | undefined;\n start: PHPW.ExtendedDateTime | undefined;\n end: PHPW.ExtendedDateTime | undefined;\n job: string | undefined;\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n project: string | undefined;\n }\n export interface ProtocolSetState extends PHPW.Api.Lib.DefaultBody {\n protocolState: PHPW.Api.Routes.ComboboxModel.ProtocolState | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Report.Model {\n export enum ExportType {\n \"pdf\" = \"pdf\",\n \"xlsx\" = \"xlsx\",\n \"csv\" = \"csv\",\n \"xml\" = \"xml\"\n }\n export interface CommonRequestParameters extends PHPW.Api.Routes.Lib.Report.Model.CommonRequestParameters2 {\n start: PHPW.ExtendedDateTime;\n end: PHPW.ExtendedDateTime;\n }\n export interface CommonRequestParameters2 extends PHPW.Api.Lib.DefaultRequestParameters {\n exportType: PHPW.Api.Routes.Lib.Report.Model.ExportType;\n }\n export interface GetCategoriesResponse extends PHPW.Api.Bodies.Model {\n categories: {[key: string]: string};\n }\n export interface GetReportUstvaYearArguments extends PHPW.Api.Lib.DefaultRequestArguments {\n year: number;\n }\n export interface GetReportUstvaYearParameters extends PHPW.Api.Lib.DefaultRequestParameters {\n start: PHPW.ExtendedDateTime;\n end: PHPW.ExtendedDateTime;\n outputFormat: string;\n key_10: boolean;\n key_22: boolean;\n key_23: boolean;\n key_26: boolean;\n key_29: boolean;\n }\n export interface KontenAnzeigeSetting extends PHPW.Api.Lib.DefaultBody {\n dateStart: PHPW.ExtendedDateTime;\n dateEnd: PHPW.ExtendedDateTime;\n exportType: PHPW.Api.Routes.Lib.Report.Model.ExportType;\n chart: boolean;\n accounts: PHPW.Api.Routes.ComboboxModel.Konto[];\n }\n export interface KontoCategoryRange {\n name: string;\n start: number;\n end: number;\n accounts: PHPW.Booking.Kontenplan.Model.InitialKonto[];\n }\n export interface ProcessOverview2 extends PHPW.Api.Lib.DefaultBody {\n dateStart: PHPW.ExtendedDateTime;\n dateEnd: PHPW.ExtendedDateTime;\n timeframe: string;\n processType: string | undefined;\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n user: PHPW.Api.Routes.ComboboxModel.User | undefined;\n }\n export interface SummenSaldenRequestParameters extends PHPW.Api.Routes.Lib.Report.Model.CommonRequestParameters {\n hideNullSaldo?: boolean;\n hideNotBooked?: boolean;\n categoryShowList: string[];\n ignoreEbWertForSaldo?: boolean;\n minusNegieren?: boolean;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Rma.Model {\n export interface Rma {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertBy?: number | undefined;\n lastUpdate?: PHPW.ExtendedDateTime | undefined;\n lastUpdateUser?: number | undefined;\n firma1?: string | undefined;\n strasse?: string | undefined;\n plz?: string | undefined;\n ort?: string | undefined;\n ansprechpartner?: string | undefined;\n telefon?: PHPW.Api.Routes.Lib.Contacts.Model.PhoneNumber | undefined;\n fax?: PHPW.Api.Routes.Lib.Contacts.Model.PhoneNumber | undefined;\n email?: string | undefined;\n marke?: string | undefined;\n typ?: string | undefined;\n lieferzustand?: string | undefined;\n lieferumfang?: string | undefined;\n serial?: string | undefined;\n fehlerangabe?: string | undefined;\n etLieferant?: string | undefined;\n etInfos?: string | undefined;\n webRmaNr?: string | undefined;\n webfileId?: string | undefined;\n eigFehlerangabe?: string | undefined;\n zeitaufwand?: number | undefined;\n tatsLeistung?: string | undefined;\n measurementIn?: PHPW.Api.Routes.Lib.Rma.Model.RmaMessung | undefined;\n measurementOut?: PHPW.Api.Routes.Lib.Rma.Model.RmaMessung | undefined;\n extRepNr?: string | undefined;\n }\n export interface RmaLamp {\n id?: number | undefined;\n lampenStundenAkt?: number | undefined;\n }\n export interface RmaLumen {\n id?: number | undefined;\n obenLinks?: number | undefined;\n obenMitte?: number | undefined;\n obenRechts?: number | undefined;\n mitteLinks?: number | undefined;\n mitte?: number | undefined;\n mitteRechts?: number | undefined;\n untenLinks?: number | undefined;\n untenMitte?: number | undefined;\n untenRechts?: number | undefined;\n }\n export interface RmaMessung {\n id?: number | undefined;\n lampenStundenMax?: number | undefined;\n timestamp?: PHPW.ExtendedDateTime | undefined;\n screenSizeH?: number | undefined;\n screenSizeB?: number | undefined;\n lensType?: string | undefined;\n lampe: PHPW.Api.Routes.Lib.Rma.Model.RmaLamp[];\n lumen?: PHPW.Api.Routes.Lib.Rma.Model.RmaLumen | undefined;\n filter?: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Setup.Model {\n export interface AufgabeStatus {\n id?: number | undefined;\n typeId?: number | undefined;\n text: string;\n color: string;\n orderBy?: number | undefined;\n done: boolean;\n autoMailStateId?: PHPW.Entities.Enum.MailStatus | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: PHPW.Api.Routes.ComboboxModel.User | undefined;\n trashNote?: string | undefined;\n }\n export interface AufgabeTyp {\n id?: number | undefined;\n orderBy?: number | undefined;\n text?: string | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: PHPW.Api.Routes.ComboboxModel.User | undefined;\n trashNote?: string | undefined;\n }\n export interface Bank extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n bankName: string;\n inhaber: string;\n iban: string;\n bic: string;\n short: string;\n orderBy: number;\n active: boolean;\n buhaKonto?: PHPW.Api.Routes.ComboboxModel.Konto | undefined;\n umbuchungsKonto?: PHPW.Api.Routes.ComboboxModel.Konto | undefined;\n arDocumentCircuit?: number | undefined;\n erDocumentCircuit?: number | undefined;\n }\n export interface DeviceType extends PHPW.Api.Bodies.Model {\n isPhone: boolean;\n isTablet: boolean;\n }\n export interface ImapMailbox extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n mial_id?: number | undefined;\n uidvalidity?: string | undefined;\n name?: string | undefined;\n specialUse?: string | undefined;\n deleted_on_server: boolean;\n disabled: boolean;\n modseq?: number | undefined;\n }\n export interface MailAccount extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n emails: string[];\n inuse: boolean;\n provider: PHPW.Oauth.OauthProvider | undefined;\n hasOauthAccessToken: boolean;\n comment?: string | undefined;\n imap: PHPW.Api.Routes.Lib.Setup.Model.MailAccountServer;\n smtp: PHPW.Api.Routes.Lib.Setup.Model.MailAccountServer;\n }\n export interface MailAccountServer {\n host: string | undefined;\n port: number | undefined;\n username: string | undefined;\n password: string | undefined;\n hasPassword: boolean;\n encryption: PHPW.Entities.Enum.MailAccountEncryption | undefined;\n notValidateCert: boolean;\n }\n export interface Payment extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n name: string;\n target: number | undefined;\n targetWeekdays: number[];\n text: string;\n textEn: string;\n relativeText: string;\n relativeTextEn: string;\n requireKundennummer: boolean;\n selectable: boolean;\n showBankOnDocument: boolean;\n bankId: number | undefined;\n skontoTarget: number | undefined;\n defaultSkonto: number | undefined;\n startNextMonth: boolean;\n orderby: number | undefined;\n untdid4461: string;\n sepaB2B: boolean;\n default: boolean;\n }\n export interface Shop {\n id?: number | undefined;\n name?: string | undefined;\n active: boolean;\n typeId: PHPW.Entities.Enum.ShopType;\n hostname?: string | undefined;\n apikey?: string | undefined;\n apisecret?: string | undefined;\n }\n export interface Tax {\n id?: number | undefined;\n name: string;\n satz: number;\n isDefault: boolean;\n isOSS: boolean;\n countryId?: number | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Staff.Model {\n export interface GetStaffCalendarRequestParams extends PHPW.Api.Lib.DefaultRequestParameters {\n date: PHPW.ExtendedDateTime;\n days: number;\n status: number[];\n }\n export interface StaffCalendarRow extends PHPW.Api.Lib.DefaultBody {\n userId?: number | undefined;\n selected: boolean;\n id?: number | undefined;\n name: string;\n positions: PHPW.Api.Routes.Lib.Disposition.Model.DispoProcessCalendarPosition[];\n commission: string;\n }\n export interface StaffEvent extends PHPW.Api.Lib.DefaultBody {\n id?: number | undefined;\n statusId?: number | undefined;\n name?: string | undefined;\n start: PHPW.ExtendedDateTime | undefined;\n end: PHPW.ExtendedDateTime | undefined;\n fullday: boolean;\n user?: PHPW.Api.Routes.ComboboxModel.User | undefined;\n approved: boolean;\n approvedUser?: PHPW.Api.Routes.ComboboxModel.User | undefined;\n approvedDate?: PHPW.ExtendedDateTime | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Subscription.Model {\n export interface Subscription extends PHPW.Api.Bodies.Model {\n contact: PHPW.Api.Routes.ComboboxModel.Contact;\n start: PHPW.ExtendedDateTime | undefined;\n startBilling?: PHPW.ExtendedDateTime | undefined;\n billingInterval: string;\n initialDuration: string;\n durationExtension: string;\n end?: PHPW.ExtendedDateTime | undefined;\n endFinal?: PHPW.ExtendedDateTime | undefined;\n amount: number;\n price: number;\n priceInterval?: string | undefined;\n priceFuture?: number | undefined;\n priceFutureActivation?: PHPW.ExtendedDateTime | undefined;\n discountFactorRelativ?: number | undefined;\n discountFactorRelativDeactivation?: PHPW.ExtendedDateTime | undefined;\n article: PHPW.Api.Routes.ComboboxModel.Article;\n articleBrand?: string | undefined;\n articleNumber: string;\n articleName: string;\n articleText: string;\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n insertUser?: number | undefined;\n updateDate?: PHPW.ExtendedDateTime | undefined;\n updateUser?: number | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashUser?: number | undefined;\n trashNote?: string | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Suggest.Model {\n export enum EGetSuggestIntrahandelZtn_BezeichnungArguments {\n \"Ztn\" = \"ztn\",\n \"Bez\" = \"bezeichnung\"\n }\n export interface ArgumentsAId extends PHPW.Api.Routes.Lib.Suggest.Model.ArgumentsAufId {\n aId: number | undefined;\n }\n export interface ArgumentsAufId extends PHPW.Api.Lib.DefaultRequestArguments {\n aufId: number;\n }\n export interface ArgumentsContactId extends PHPW.Api.Lib.DefaultRequestArguments {\n contact_id?: number | undefined;\n }\n export interface FilterParams extends PHPW.Api.Lib.DefaultRequestParameters {\n filter: string | undefined;\n }\n export interface GetSuggestArticleStockPlacesParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n stockTypeIds?: number[] | undefined;\n placeTypes?: number[] | undefined;\n intern?: boolean | undefined;\n extern?: boolean | undefined;\n available?: boolean | undefined;\n disposition?: boolean | undefined;\n onlyInStock?: boolean | undefined;\n }\n export interface GetSuggestArticleStockTypesParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n placeIds?: number[] | undefined;\n placeTypes?: number[] | undefined;\n intern?: boolean | undefined;\n extern?: boolean | undefined;\n available?: boolean | undefined;\n disposition?: boolean | undefined;\n onlyInStock?: boolean | undefined;\n }\n export interface GetSuggestArticlesIdChargeParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n onlyInStock?: boolean | undefined;\n }\n export interface GetSuggestArticlesIdSerialParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n onlyInStock?: boolean | undefined;\n notInEr?: boolean | undefined;\n }\n export interface GetSuggestArticlesParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n lang: PHPW.Entities.Enum.ArticleLanguage;\n protocol: boolean;\n }\n export interface GetSuggestIntrahandelZtn_BezeichnungArguments extends PHPW.Api.Lib.DefaultRequestArguments {\n type: PHPW.Api.Routes.Lib.Suggest.Model.EGetSuggestIntrahandelZtn_BezeichnungArguments;\n articleId: number | undefined;\n }\n export interface GetSuggestIntrahandelZtn_BezeichnungParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n extra: string | undefined;\n }\n export interface GetSuggestKontoParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n year?: number | undefined;\n }\n export interface GetSuggestProcessesParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n processTypeCategory?: undefined | PHPW.Process.Model.ProcessTypeCategory[];\n articleIds?: undefined | number[];\n }\n export interface GetSuggestStockPlacesParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n types: number[];\n }\n export interface GetSuggestStockTypesParams extends PHPW.Api.Routes.Lib.Suggest.Model.FilterParams {\n intern?: boolean | undefined;\n extern?: boolean | undefined;\n available?: boolean | undefined;\n disposition?: boolean | undefined;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Table.Model {\n export interface ArgumentsProfile extends PHPW.Api.Lib.DefaultRequestArguments {\n profile: string;\n }\n export interface CountResponse extends PHPW.Api.Bodies.Model {\n success: boolean;\n count: number;\n }\n export interface DeleteTableNameSavedidsIdArguments extends PHPW.Api.Lib.DefaultRequestArguments {\n id: number;\n name: string;\n }\n export interface GetTableNameProfileProfileArguments extends PHPW.Api.Lib.DefaultRequestArguments {\n name: string;\n profile: string;\n }\n export interface GetTableNameProfileProfileParams extends PHPW.Api.Lib.DefaultRequestParameters {\n ignoreUser?: boolean | undefined;\n }\n export interface Profile extends PHPW.Api.Bodies.Model {\n columns: PHPW.Table.Profile.Model.Column[];\n }\n export interface SavedIds extends PHPW.Api.Bodies.Model {\n name: string;\n id: number | undefined;\n date: PHPW.ExtendedDateTime | undefined;\n savedIds: number[];\n user: PHPW.Api.Routes.Lib.User.Model.User | undefined;\n }\n export interface SavedSearch extends PHPW.Api.Bodies.Model {\n tableName: string;\n name: string;\n id?: number | undefined;\n sort: Array<{[key: string]: \"asc\" | \"desc\"}> | undefined;\n values: undefined | {[key: string]: string};\n }\n export interface SearchResponse extends PHPW.Api.Bodies.Model {\n success: boolean;\n rows: Array<{[key: string]: unknown}>;\n }\n export interface TableArguments extends PHPW.Api.Lib.DefaultRequestArguments {\n name: string;\n }\n export interface TableParameters extends PHPW.Api.Lib.DefaultRequestParameters {\n exportAllColumns?: boolean;\n rowCount: number;\n offset: number;\n sort?: Array<[string, \"ASC\" | \"DESC\"]> | undefined;\n special: {[key: string]: undefined | boolean | PHPW.ExtendedDateTime | number | number[] | string};\n filters: {[key: string]: string};\n columns: string[];\n type?: string | undefined;\n }\n export interface TableSearchCountResponse extends PHPW.Api.Responses.DefaultResponse {\n success: boolean;\n count: number;\n rows: Array<{[key: string]: string | number | boolean}>;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Tax.Model {\n export interface Tax extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n name: string;\n satz: number;\n isDefault: boolean;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n trashNote?: string | undefined;\n country?: PHPW.Api.Routes.ComboboxModel.Country | undefined;\n trashUser?: number | undefined;\n }\n export interface TaxSchema extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n name: string;\n countryId?: number | undefined;\n standardTaxRate: PHPW.Api.Routes.Lib.Setup.Model.Tax;\n reducedTaxRate: PHPW.Api.Routes.Lib.Setup.Model.Tax;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Textvorlage.Model {\n export interface GetTextvorlageParams extends PHPW.Api.Lib.DefaultRequestParameters {\n silent: boolean;\n name: string;\n }\n export interface TextBlock extends PHPW.Api.Lib.DefaultBody {\n id: number | undefined;\n insertDate: PHPW.ExtendedDateTime | undefined;\n insertUserId: number | undefined;\n lastUpdate: PHPW.ExtendedDateTime | undefined;\n lastUpdateUserId: number | undefined;\n trash: boolean | undefined;\n trashDate: PHPW.ExtendedDateTime | undefined;\n trashUserId: number | undefined;\n trashNote: string | undefined;\n name: string;\n subject: string;\n content: string;\n attachments: PHPW.Api.Routes.Lib.Mail.Model.Send.Attachment[];\n categories: PHPW.Api.Routes.ComboboxModel.TextBlockTag[];\n }\n export interface TextBlockChange extends PHPW.Api.Lib.DefaultBody {\n category: PHPW.Api.Routes.ComboboxModel.TextBlockTag[];\n categoryActive: boolean;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Ticket.Model {\n export interface Ticket extends PHPW.Api.Responses.DefaultResponse {\n bereich: string | undefined;\n kategorie: string | undefined;\n text: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.User.Model {\n export enum PhoneType {\n \"snom\" = \"snom\",\n \"ami\" = \"ami\",\n \"tellink\" = \"telLink\"\n }\n export interface AccountEmail extends PHPW.Api.Bodies.Model {\n email: string;\n name?: string | undefined;\n byGlobalPerm?: boolean;\n }\n export interface AuthenticationExtensionsClientInputs {\n appid?: string | undefined;\n credProps?: boolean | undefined;\n hmacCreateSecret?: boolean | undefined;\n minPinLength?: boolean | undefined;\n }\n export interface AuthenticationPublicKeyCredential extends PHPW.Api.Routes.Lib.User.Model.PublicKeyCredential {\n response: PHPW.Api.Routes.Lib.User.Model.AuthenticatorResponse;\n }\n export interface AuthenticatorAssertionResponse {\n clientDataJSON: string;\n authenticatorData: string;\n signature: string;\n userHandle: string | null;\n }\n export interface AuthenticatorAttestationResponse {\n clientDataJSON: string;\n attestationObject: string;\n transports: Array;\n }\n export interface AuthenticatorResponse {\n clientDataJSON: string;\n }\n export interface AuthenticatorSelectionCriteria {\n authenticatorAttachment?: AuthenticatorAttachment;\n requireResidentKey?: boolean | undefined;\n residentKey?: ResidentKeyRequirement;\n userVerification?: UserVerificationRequirement;\n }\n export interface CredPropsAuthenticationExtensionsClientOutputs {\n rk: boolean;\n }\n export interface Credential {\n id: string;\n type: string;\n }\n export interface CredentialCreateOptions extends PHPW.Api.Bodies.Model {\n sessionId: string;\n publicKey: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialCreationOptions;\n }\n export interface CredentialRequestOptions extends PHPW.Api.Bodies.Model {\n sessionId: string;\n mediation: CredentialMediationRequirement;\n publicKey: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialRequestOptions;\n }\n export interface DeleteUserEmailLinkArguments extends PHPW.Api.Lib.Common.ArgumentsId {\n miea_id: number;\n }\n export interface GetTwoFactor extends PHPW.Api.Bodies.Model {\n qrCode: string;\n active: boolean;\n }\n export interface GetUserEmailAddressArguments extends PHPW.Api.Lib.DefaultRequestArguments {\n id: number;\n miea_id: number;\n }\n export interface GlobalStoreUser extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n vorname: string;\n name: string;\n username: string;\n email: string;\n kuerzel: string;\n signature: string;\n phoneTypes: PHPW.Api.Routes.Lib.User.Model.PhoneType[];\n }\n export interface InAccount extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n host?: string | undefined;\n username?: string | undefined;\n inUse?: boolean;\n emails?: string[];\n default: boolean;\n deleted?: boolean;\n byGlobalPerm?: boolean;\n }\n export interface Marker extends PHPW.Api.Lib.DefaultBody {\n aufgabe_unread: number;\n aufgabe_due: number;\n mail_unread: number;\n mail_unworked: number;\n termin_today: number;\n termin_reminder: number;\n }\n export interface Message extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n time: PHPW.ExtendedDateTime;\n type: string;\n color: string;\n creatorId: number | undefined;\n priorityId: number | undefined;\n headline: string;\n message: string;\n aufgabeId: number | undefined;\n }\n export interface PostTwoFactor extends PHPW.Api.Bodies.Model {\n active: boolean;\n totp: string | undefined;\n }\n export interface PostUserIdPasswordRequestBody extends PHPW.Api.Lib.DefaultBody {\n oldPw: string;\n newPw: string;\n }\n export interface PostUserLoginAsParams extends PHPW.Api.Lib.DefaultRequestParameters {\n uId: number;\n }\n export interface PostUserLoginRequestBody extends PHPW.Api.Lib.DefaultBody {\n lang?: string | undefined;\n username: string;\n password?: string | undefined;\n totp?: string | undefined;\n profile?: string | undefined;\n cp?: string | undefined;\n }\n export interface PostUserLoginResponseBody extends PHPW.Api.Lib.DefaultBody {\n message: string | undefined;\n result: number | undefined;\n action: string | undefined;\n }\n export interface PostUserResponse extends PHPW.Api.Responses.SaveResponse {\n newPw: string | undefined;\n }\n export interface PostUserWebauthnCheckCredentialsRequest extends PHPW.Api.Bodies.Model {\n publicKey: PublicKeyCredentialRequestOptions;\n }\n export interface PublicKeyCredential extends PHPW.Api.Bodies.Model {\n id: string;\n type: PublicKeyCredentialType;\n rawId: string;\n authenticatorAttachment?: AuthenticatorAttachment | null;\n }\n export interface PublicKeyCredentialCreationOptions {\n attestation?: AttestationConveyancePreference;\n authenticatorSelection?: PHPW.Api.Routes.Lib.User.Model.AuthenticatorSelectionCriteria | undefined;\n challenge: string;\n excludeCredentials: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialDescriptor[];\n extensions: PHPW.Api.Routes.Lib.User.Model.AuthenticationExtensionsClientInputs;\n pubKeyCredParams: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialParameters[];\n rp: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialRpEntity;\n timeout: number | undefined;\n user: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialUserEntity;\n }\n export interface PublicKeyCredentialDescriptor {\n id: string;\n transports?: AuthenticatorTransport[];\n type: PublicKeyCredentialType;\n }\n export interface PublicKeyCredentialParameters {\n alg: number;\n type: PublicKeyCredentialType;\n }\n export interface PublicKeyCredentialRequestOptions extends PHPW.Api.Bodies.Model {\n allowCredentials?: PHPW.Api.Routes.Lib.User.Model.PublicKeyCredentialDescriptor[] | undefined;\n challenge: string;\n extensions?: PHPW.Api.Routes.Lib.User.Model.AuthenticationExtensionsClientInputs | undefined;\n rpId?: string | undefined;\n timeout?: number | undefined;\n userVerification: UserVerificationRequirement;\n }\n export interface PublicKeyCredentialRpEntity {\n id: string | undefined;\n name: string;\n }\n export interface PublicKeyCredentialUserEntity {\n displayName: string;\n id: string;\n name: string;\n }\n export interface PublicKeyCredentialWithAssertion extends PHPW.Api.Routes.Lib.User.Model.PublicKeyCredential {\n sessionId: string;\n response: PHPW.Api.Routes.Lib.User.Model.AuthenticatorAssertionResponse;\n clientExtensionResults: PHPW.Api.Routes.Lib.User.Model.SimpleClientExtensionResults;\n }\n export interface PublicKeyCredentialWithAttestation extends PHPW.Api.Routes.Lib.User.Model.PublicKeyCredential {\n sessionId: string;\n response: PHPW.Api.Routes.Lib.User.Model.AuthenticatorAttestationResponse;\n clientExtensionResults: PHPW.Api.Routes.Lib.User.Model.SimpleClientExtensionResults;\n }\n export interface PushSubscription extends PHPW.Api.Bodies.Model {\n endpoint?: string | undefined;\n keys?: Record;\n }\n export interface PushSubscriptionKeys {\n p256dh: string | undefined;\n auth: string | undefined;\n }\n export interface SimpleClientExtensionResults {\n appid?: boolean | undefined;\n appidExclude?: boolean | undefined;\n credProps?: PHPW.Api.Routes.Lib.User.Model.CredPropsAuthenticationExtensionsClientOutputs | undefined;\n }\n export interface User extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n insertDate?: PHPW.ExtendedDateTime | undefined;\n trashDate?: PHPW.ExtendedDateTime | undefined;\n username: string;\n name: string;\n vorname: string;\n kuerzel: string;\n group?: number | undefined;\n visibility?: number | undefined;\n expiration?: PHPW.ExtendedDateTime | undefined;\n email: string;\n phone: string;\n mobile: string;\n hash?: string | undefined;\n amiChannel?: string | undefined;\n amiContext?: string | undefined;\n snomIp?: string | undefined;\n authorizationLevel: number;\n externalLoginAllowed?: boolean;\n additionalPermissions: PHPW.Api.Routes.ComboboxModel.Permission[];\n infotext?: string | undefined;\n signature: string;\n imapAccounts: PHPW.Api.Routes.Lib.User.Model.InAccount[];\n accountEmails: PHPW.Api.Routes.Lib.User.Model.AccountEmail[];\n }\n export interface UserEmailInfo extends PHPW.Api.Bodies.Model {\n imapAccounts: PHPW.Api.Routes.Lib.User.Model.InAccount[];\n accountEmails: PHPW.Api.Routes.Lib.User.Model.AccountEmail[];\n }\n export interface UserNote extends PHPW.Api.Bodies.Model {\n note: string;\n }\n}\nexport namespace PHPW.Api.Routes.Lib.Users.Model {\n export interface CollectionUser extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n username: string;\n trash: boolean;\n kuerzel: string;\n vorname: string;\n name: string;\n hash: string;\n authorizationLevel: number;\n pbxExtension: string | undefined;\n }\n export interface UserGroups extends PHPW.Api.Bodies.Model {\n groups: PHPW.User.Model.UserGroup[];\n }\n}\nexport namespace PHPW.Article.Model {\n export interface ArticleChange extends PHPW.Api.Bodies.Model {\n categories: PHPW.Api.Routes.ComboboxModel.ArticleCategory[];\n categoriesActive: boolean;\n mwst?: number | undefined;\n mwstActive: boolean;\n einheit?: number | undefined;\n einheitActive: boolean;\n originCountry?: number | undefined;\n originCountryActive: boolean;\n snPflege?: PHPW.Api.Routes.Lib.Article.Lib.EArticleType | undefined;\n snPflegeActive: boolean;\n hersteller?: PHPW.Api.Routes.ComboboxModel.ArticleBrand | undefined;\n herstellerActive: boolean;\n lagerort?: string | undefined;\n lagerortActive: boolean;\n warengruppe?: string | undefined;\n warengruppeActive: boolean;\n skontierbar: boolean;\n skontierbarActive: boolean;\n rabattierbar: boolean;\n rabattierbarActive: boolean;\n liefersperre?: boolean | undefined;\n liefersperreActive: boolean;\n zolltarifnummerActive: boolean;\n zolltarifnummer?: string | undefined;\n }\n export interface ArticleEinkaufspreis extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n aId: number;\n cId: number | undefined;\n start: PHPW.ExtendedDateTime | undefined;\n stop: PHPW.ExtendedDateTime | undefined;\n price: number;\n rabatt: number;\n minAmount: number;\n comment: string;\n }\n export interface InventurArticle extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n articleId?: number | undefined;\n articleNumber?: string | undefined;\n articleManufacturer?: string | undefined;\n articleName?: string | undefined;\n comment?: string | undefined;\n articleType: PHPW.Api.Routes.Lib.Article.Lib.EArticleType;\n elements: PHPW.Article.Model.InventurArticleAmount[];\n }\n export interface InventurArticleAmount {\n id?: number | undefined;\n lagerplatz: PHPW.Api.Routes.ComboboxModel.LagerPlatz;\n lagerPlatzBestandType?: PHPW.Api.Routes.ComboboxModel.LagerPlatzBestandType | undefined;\n soll?: number | undefined;\n ist?: number | undefined;\n snr?: string[] | undefined;\n }\n export interface InventurLagerplatz extends PHPW.Api.Bodies.Model {\n id: number;\n text: string;\n type: PHPW.Entities.Enum.LagerPlatzTyp;\n articles: PHPW.Article.Model.InventurLagerplatzArticles[];\n }\n export interface InventurLagerplatzArticles extends PHPW.Api.Bodies.Model {\n article?: string | undefined;\n article_id: number | undefined;\n articleType: PHPW.Api.Routes.Lib.Article.Lib.EArticleType | undefined;\n soll: number;\n ist: number;\n snr: string[];\n id: number | undefined;\n inventurArticleId: number | undefined;\n }\n}\nexport namespace PHPW.Aufgabe.Model {\n export interface AufgabeCategory {\n id: number;\n text: string;\n trashDate?: undefined | PHPW.ExtendedDateTime;\n }\n export interface AufgabeChange extends PHPW.Api.Bodies.Model {\n category: string[];\n categoryActive: boolean;\n typeId?: number | undefined;\n typeActive: boolean;\n stateId?: number | undefined;\n stateActive: boolean;\n priorityId?: number | undefined;\n priorityActive: boolean;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n contactActive: boolean;\n projectId?: number | undefined;\n projectActive: boolean;\n planDate?: PHPW.ExtendedDateTime | undefined;\n planDateActive: boolean;\n deadline?: PHPW.ExtendedDateTime | undefined;\n deadlineActive: boolean;\n userData: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeUserLink[];\n }\n export interface AufgabeLink {\n description: string;\n extendedDescription: string;\n destinationType: string;\n destinationId: number;\n }\n export interface AufgabeTag {\n id: number;\n text: string;\n }\n export interface AufgabeTemplate extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n version: string;\n name: string;\n data: PHPW.Api.Routes.Lib.Aufgabe.Model.AufgabeTemplateToAufgabeV1;\n }\n}\nexport namespace PHPW.Booking.EuroFXRefService.Model {\n export interface ExchangeRateResult extends PHPW.Api.Bodies.Model {\n time: string;\n rates: PHPW.Booking.EuroFXRefService.Model.ExchangeRates;\n }\n export interface ExchangeRates {\n USD: number;\n JPY: number;\n BGN: number;\n CZK: number;\n DKK: number;\n GBP: number;\n HUF: number;\n PLN: number;\n RON: number;\n SEK: number;\n CHF: number;\n ISK: number;\n NOK: number;\n HRK: number;\n RUB: number;\n TRY: number;\n AUD: number;\n BRL: number;\n CAD: number;\n CNY: number;\n HKD: number;\n IDR: number;\n ILS: number;\n INR: number;\n KRW: number;\n MXN: number;\n MYR: number;\n NZD: number;\n PHP: number;\n SGD: number;\n THB: number;\n ZAR: number;\n }\n}\nexport namespace PHPW.Booking.Kontenplan.Model {\n export interface InitialKonto extends PHPW.Api.Bodies.Model {\n funktionstyp: string | undefined;\n funktion: string | undefined;\n zusatzfunktion: string | undefined;\n name: string;\n abschlusszweck: string | undefined;\n category: string | undefined;\n subcategory: string | undefined;\n bilanzPosten: string | undefined;\n guvPosten: string | undefined;\n individual: boolean;\n number: number;\n }\n}\nexport namespace PHPW.Booking.Model {\n export interface BookingTaxkey {\n number: number;\n name: string;\n gruppe: number;\n description: string;\n steuersatz: number | undefined;\n oss: boolean;\n zm: undefined | \"D\" | \"L\" | \"S\";\n ustva: Array<{bemessungsgrundlage?: number; vorsteuer?: number; steuer?: number}>;\n funktion: {[key: number]: string};\n }\n export interface DatevImportHeaderInfo extends PHPW.Api.Bodies.Model {\n kennzeichen: string;\n versionsnummer: string;\n formatkategorie: string;\n formatname: string;\n formatversion: string;\n sachkontenlaenge: string;\n buchungstyp: string;\n rechnungslegungszweck: string | undefined;\n wkz: string | undefined;\n sachkontenrahmen: string | undefined;\n erzeugtAm: PHPW.ExtendedDateTime | undefined;\n exportiertVon: string;\n importiertVon: string;\n beraternummer: string;\n mandantennummer: string;\n wjBeginn: PHPW.ExtendedDateTime;\n datumVon: PHPW.ExtendedDateTime | undefined;\n datumBis: PHPW.ExtendedDateTime | undefined;\n bezeichnung: string;\n diktatkuerzel: string | undefined;\n festschreibung: string | undefined;\n derivatskennzeichen: string | undefined;\n }\n export interface DatevImportInfo extends PHPW.Api.Bodies.Model {\n count: number;\n newCount: number;\n updateCount: number;\n searchFilter: string | undefined;\n missingAccounts: number[];\n }\n}\nexport namespace PHPW.Camt.DTO {\n export enum BookingType {\n \"Incoming\" = \"INC\",\n \"Outgoing\" = \"OUT\",\n \"Unknown\" = \"UNK\"\n }\n export enum RowType {\n \"Incoming\" = \"INC\",\n \"Outgoing\" = \"OUT\"\n }\n export interface BookingDTO {\n id: number;\n text: string;\n amount: number;\n documentNumber: number;\n }\n export interface ConnectRow extends PHPW.Api.Bodies.Model {\n rowType: PHPW.Camt.DTO.RowType | undefined;\n invoiceId: number | undefined;\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n invoiceDate: PHPW.ExtendedDateTime | undefined;\n invoiceNumber: string | undefined;\n invoiceAmount: number | undefined;\n invoiceAmountSkonto: number | undefined;\n bookingId: number | undefined;\n bookingDate: PHPW.ExtendedDateTime | undefined;\n bookingNumber: string | undefined;\n bookingAmount: number | undefined;\n }\n export interface InvoiceDTO {\n id: number;\n number: string;\n amount: number;\n }\n}\nexport namespace PHPW.Camt.Enum {\n export enum TypeDomain {\n \"ACMT\" = \"ACMT\",\n \"CAMT\" = \"CAMT\",\n \"LDAS\" = \"LDAS\",\n \"PMNT\" = \"PMNT\",\n \"XTND\" = \"XTND\"\n }\n export enum TypeFamily {\n \"MCOP\" = \"MCOP\",\n \"MDOP\" = \"MDOP\",\n \"OPCL\" = \"OPCL\",\n \"CNTR\" = \"CNTR\",\n \"CCRD\" = \"CCRD\",\n \"ICDT\" = \"ICDT\",\n \"ICCN\" = \"ICCN\",\n \"ICHQ\" = \"ICHQ\",\n \"IDDT\" = \"IDDT\",\n \"RCDT\" = \"RCDT\",\n \"RCCN\" = \"RCCN\",\n \"RCHQ\" = \"RCHQ\",\n \"RRCT\" = \"RRCT\",\n \"RDDT\" = \"RDDT\",\n \"NTAV\" = \"NTAV\",\n \"FTLN\" = \"FTLN\"\n }\n export enum TypeSubFamily {\n \"OTHR\" = \"OTHR\",\n \"CHRG\" = \"CHRG\",\n \"ACCC\" = \"ACCC\",\n \"BCDP\" = \"BCDP\",\n \"CDPT\" = \"CDPT\",\n \"BCWD\" = \"BCWD\",\n \"CWDL\" = \"CWDL\",\n \"BOOK\" = \"BOOK\",\n \"ICCT\" = \"ICCT\",\n \"ESCT\" = \"ESCT\",\n \"RPCR\" = \"RPCR\",\n \"SDVA\" = \"SDVA\",\n \"STDO\" = \"STDO\",\n \"XBCT\" = \"XBCT\",\n \"CCHQ\" = \"CCHQ\",\n \"BBDD\" = \"BBDD\",\n \"ESDD\" = \"ESDD\",\n \"FEES\" = \"FEES\",\n \"RCDD\" = \"RCDD\",\n \"UPDD\" = \"UPDD\",\n \"URCQ\" = \"URCQ\",\n \"UPCQ\" = \"UPCQ\",\n \"RRTN\" = \"RRTN\",\n \"NTAV\" = \"NTAV\",\n \"COMM\" = \"COMM\",\n \"POSD\" = \"POSD\"\n }\n}\nexport namespace PHPW.Config.Model {\n export interface Color {\n background: string;\n contrastRatio: number;\n }\n export interface Colors extends PHPW.Api.Bodies.Model {\n primary: PHPW.Config.Model.Color;\n secondary: PHPW.Config.Model.Color;\n info: PHPW.Config.Model.Color;\n success: PHPW.Config.Model.Color;\n warning: PHPW.Config.Model.Color;\n question: PHPW.Config.Model.Color;\n error: PHPW.Config.Model.Color;\n isDark: boolean | undefined;\n }\n export interface DeviceConfig extends PHPW.Api.Bodies.Model {\n enableMultiLine: boolean;\n openTabInBackground: boolean;\n sidebarDefaultClose: boolean;\n showDashboard: boolean;\n openOnSingleResult: boolean;\n smallSidebar: boolean;\n smallIndexColumn: boolean;\n openYellowboxes: boolean;\n singleColumn: boolean;\n }\n export interface UserConfig extends PHPW.Api.Bodies.Model {\n colorProfile: string;\n changelogLastRead: string | undefined;\n onlyNewestProcesses: boolean;\n showTextMail: boolean;\n }\n}\nexport namespace PHPW.Data.Io.Import.Article.Model {\n export interface ImportSettings {\n contact: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n buyingPriceDiscount: number;\n addNewArticle: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importCategories: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importBrand: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importZtn: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importExterneId: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importHaendlerBestellnummer: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importDescription: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importBarcode: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importBuyingPrice: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importUVP: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importArtikelnummer: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importLangText: PHPW.Data.Io.Import.Common.Model.ImportValue;\n importBeschreibung: PHPW.Data.Io.Import.Common.Model.ImportValue;\n generateSellingPrice: PHPW.Data.Io.Import.Common.Model.ImportValue;\n }\n}\nexport namespace PHPW.Data.Io.Import.Common.Model {\n export enum ImportValue {\n \"no\" = 0,\n \"yes\" = 1,\n \"yesEmpty\" = 2\n }\n export interface CheckResult extends PHPW.Api.Bodies.Model {\n ok: boolean;\n }\n export interface Result extends PHPW.Api.Bodies.Model {\n count: number;\n newCount: number;\n updateCount: number;\n }\n}\nexport namespace PHPW.Data.Io.Import.Contact.Model {\n export interface ImportSettings {\n addNewContact: PHPW.Data.Io.Import.Common.Model.ImportValue;\n }\n}\nexport namespace PHPW.DataNorm.v4.Model.Record {\n export interface Article extends PHPW.DataNorm.v4.Model.Record.Record {\n recordMark: string;\n processingFlag: string;\n articlenumber: string;\n textFlag: string;\n shortDescription1: string | undefined;\n shortDescription2: string;\n priceIndicator: string;\n priceUnitAmount: string;\n priceUnit: string | undefined;\n price: number;\n discountGroup: string | undefined;\n mainProductGroup: string | undefined;\n longtextblocknumber: string | undefined;\n }\n export interface DiscountGroups extends PHPW.DataNorm.v4.Model.Record.Record {\n recordMark: string;\n dummy: string;\n discountGroup: string;\n discountMark: string;\n discount: string;\n groupDescription: string;\n }\n export interface PriceChange extends PHPW.DataNorm.v4.Model.Record.Record {\n recordMark: string;\n processingFlag: string;\n articlenumber1: string;\n priceFlag1: string;\n price1: string;\n discountFlag1a: string;\n discount1a: string;\n discountFlag1b: string;\n discount1b: string;\n discountFlag1c: string;\n discount1c: string;\n articlenumber2: string;\n priceFlag2: string;\n price2: string;\n discountFlag2a: string;\n discount2a: string;\n discountFlag2b: string;\n discount2b: string;\n discountFlag2c: string;\n discount2c: string;\n articlenumber3: string;\n priceFlag3: string;\n price3: string;\n discountFlag3a: string;\n discount3a: string;\n discountFlag3b: string;\n discount3b: string;\n discountFlag3c: string;\n discount3c: string;\n priceFlag: string;\n priceAmount: string;\n price: string;\n date: string;\n discountFlag1: string;\n discount1: string;\n discountFlag2: string;\n discount2: string;\n discountFlag3: string;\n discount3: string;\n discountGroup: string;\n }\n export interface Record {\n recordMark: string;\n }\n export interface Surcharge extends PHPW.DataNorm.v4.Model.Record.Record {\n recordMark: string;\n processingFlag: string;\n articlenumber: string;\n setnumber: string;\n workingFlag: string;\n basicIndicator: string;\n basicDescription: string;\n surchargeMark: string;\n surcharge: string;\n amountFrom: string;\n amountTo: string;\n }\n}\nexport namespace PHPW.DataNorm.v4.Model.Work {\n export interface Article {\n number: string;\n deleted: undefined | boolean | PHPW.ExtendedDateTime;\n replacementNumber: undefined | string;\n description: undefined | string;\n text: undefined | PHPW.DataNorm.v4.Model.Work.Text;\n gTIN: undefined | string;\n altNumber: undefined | string;\n priceUnit: undefined | string;\n priceInfo: undefined | PHPW.DataNorm.v4.Model.Work.PriceChange;\n priceIndicator: undefined | string;\n priceUnitAmount: undefined | number;\n price: undefined | number;\n }\n export interface PriceChange {\n flag: string;\n amount: undefined | number;\n price: undefined | number;\n discountArray: PHPW.DataNorm.v4.Model.Record.DiscountGroups[];\n netPrice: undefined | number;\n date: undefined | PHPW.ExtendedDateTime | boolean;\n }\n export interface Text {\n number: string;\n }\n}\nexport namespace PHPW.DataNorm.v5.Model.Record {\n export interface Article extends PHPW.DataNorm.v5.Model.Record.Record {\n recordMark: string;\n processingFlag: string;\n articlenumber: string;\n shortDescription1: string | undefined;\n shortDescription2: string | undefined;\n priceUnit: string;\n priceIndicator: string;\n priceUnitAmount: string;\n price: string;\n discountGroup: string | undefined;\n mainProductGroup: string | undefined;\n productGroup: string | undefined;\n matchcode: string | undefined;\n creatorAltArticlenumber: string | undefined;\n altArticlenumber: string | undefined;\n creatorManufacturerNumber: string | undefined;\n manufacturerNumber: string | undefined;\n type: string | undefined;\n gTIN: string | undefined;\n graphicNumber: string | undefined;\n orderAmount: number;\n cataloguePage: string | undefined;\n textFlag: string;\n longtextblocknumber: string | undefined;\n costIndicator: string;\n stockIndicator: string | undefined;\n creatorReferencenumber: string | undefined;\n referencenumber: string | undefined;\n vatIndicator: string;\n }\n export interface DiscountGroups extends PHPW.DataNorm.v5.Model.Record.Record {\n recordMark: string;\n discountGroup: string;\n discountMark: string;\n discount: string;\n groupDescription: string;\n }\n export interface PriceChange extends PHPW.DataNorm.v5.Model.Record.Record {\n recordMark: string;\n articlenumber: string;\n priceFlag: string;\n priceAmount: string;\n price: string;\n discountGroup: string;\n discountFlag1: string;\n discount1: string;\n discountFlag2: string;\n discount2: string;\n discountFlag3: string;\n discount3: string;\n date: string;\n }\n export interface Record {\n recordMark: string;\n }\n export interface Surcharge extends PHPW.DataNorm.v5.Model.Record.Record {\n recordMark: string;\n processingFlag: string;\n articlenumber: string;\n linenumber: string;\n workingFlag: number;\n additionalText: string;\n displayText: string;\n surchargeIndicator: string;\n surchargeMark: string;\n priceIndicator: string;\n priceUnitAmount: string;\n amount: string;\n sortIndicator: string;\n basicIndicator: string;\n amountFrom: string;\n amountTo: string;\n }\n}\nexport namespace PHPW.Disposition.Model {\n export interface StatusGrouping extends PHPW.Api.Bodies.Model {\n category: string;\n anzahl: number;\n corr: number | undefined;\n }\n}\nexport namespace PHPW.Document.Enum {\n export enum WatermarkType {\n \"none\" = \"none\",\n \"preview\" = \"preview\",\n \"cancelled\" = \"cancelled\"\n }\n}\nexport namespace PHPW.Document.Html.Model {\n export enum DataBaseType {\n \"mahnung\" = \"mahnung\",\n \"avis\" = \"avis\",\n \"letter\" = \"letter\",\n \"process\" = \"process\",\n \"custom\" = \"custom\"\n }\n export enum TableRowType {\n \"vat\" = \"vat\",\n \"avis\" = \"avis\",\n \"total\" = \"total\",\n \"prepaymentTotal\" = \"prepaymentTotal\",\n \"mahnung\" = \"mahnung\",\n \"final\" = \"final\",\n \"finalSum\" = \"finalSum\",\n \"skonto\" = \"skonto\",\n \"toPay\" = \"toPay\",\n \"position\" = \"position\",\n \"alternative\" = \"alternative\",\n \"doubleSeparator\" = \"doubleSeparator\",\n \"optional\" = \"optional\",\n \"pagebreak\" = \"pagebreak\",\n \"separator\" = \"separator\",\n \"titleStart\" = \"titleStart\",\n \"titleEnd\" = \"titleEnd\",\n \"setStart\" = \"losStart\",\n \"setEnd\" = \"losEnd\",\n \"collectionStart\" = \"collectionStart\",\n \"collectionEnd\" = \"collectionEnd\",\n \"subtotal\" = \"subtotal\",\n \"text\" = \"text\",\n \"change\" = \"change\",\n \"extraCost\" = \"extraCost\",\n \"fee\" = \"fee\",\n \"netto\" = \"netto\",\n \"rabatt\" = \"rabatt\",\n \"prepayment\" = \"prepayment\",\n \"title\" = \"title\"\n }\n export interface Address {\n oneline: string;\n firma1: string;\n firma2: string;\n firma3: string;\n strasse: string;\n plz: string;\n ort: string;\n land: string;\n }\n export interface AvisData extends PHPW.Document.Html.Model.Data {\n address: PHPW.Document.Html.Model.Address;\n extras: PHPW.Document.Html.Model.Extras;\n type: PHPW.Document.Html.Model.DataBaseType.avis;\n rows: Array;\n pretext?: string | undefined;\n }\n export interface AvisRowtypeAvis extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.avis;\n date?: PHPW.ExtendedDateTime | undefined;\n type: string;\n number: string;\n duedate?: PHPW.ExtendedDateTime | undefined;\n betrag: number;\n skontoBetrag: number;\n skontoDate?: PHPW.ExtendedDateTime | undefined;\n skonto: number;\n }\n export interface AvisRowtypeTotal extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.total;\n gesamtbetrag: number;\n skontoGesamtbetrag: number;\n skontierterGesamtbetrag: number;\n }\n export interface Data {\n type: PHPW.Document.Html.Model.DataBaseType;\n category?: PHPW.Process.Model.ProcessTypeCategory | undefined;\n settings?: PHPW.Document.Html.Model.ProcessSettings | undefined;\n watermark: PHPW.Document.Enum.WatermarkType;\n pretext?: string | undefined;\n posttext?: string | undefined;\n senderHeadline?: string | undefined;\n subject?: string | undefined;\n barcode?: string | undefined;\n tssQrCode?: string | undefined;\n }\n export interface Extras {\n customerNr?: string | undefined;\n documentNumber?: string | undefined;\n date?: PHPW.ExtendedDateTime | undefined;\n deliveryDate?: PHPW.ExtendedDateTime | string | undefined;\n bearbeiter?: string | undefined;\n besteller?: string | undefined;\n type?: string | undefined;\n ustid?: string | undefined;\n ownUstid?: string | undefined;\n contactExtNr?: string | undefined;\n contactExtra1?: string | undefined;\n contactExtra2?: string | undefined;\n contactExtra3?: string | undefined;\n contactExtra4?: string | undefined;\n contactExtra5?: string | undefined;\n extraDate1?: PHPW.ExtendedDateTime | undefined;\n extraDate2?: PHPW.ExtendedDateTime | undefined;\n extraDateTime1?: PHPW.ExtendedDateTime | undefined;\n extraDateTime2?: PHPW.ExtendedDateTime | undefined;\n extraNumber1?: number | undefined;\n extraNumber2?: number | undefined;\n extraText1?: string | undefined;\n extraText2?: string | undefined;\n extraText3?: string | undefined;\n extraText4?: string | undefined;\n contactTelefon?: string | undefined;\n contactMobile?: string | undefined;\n orderRef?: string | undefined;\n offerRef?: string | undefined;\n confirmationRef?: string | undefined;\n deliveryRef?: string | undefined;\n ref?: string | undefined;\n kommission?: string | undefined;\n projectReference?: string | undefined;\n contractReference?: string | undefined;\n purchaseOrderReference?: string | undefined;\n tenderOrLotReference?: string | undefined;\n }\n export interface LetterData extends PHPW.Document.Html.Model.Data {\n address: PHPW.Document.Html.Model.Address;\n extras: PHPW.Document.Html.Model.Extras;\n type: PHPW.Document.Html.Model.DataBaseType.letter;\n text: string;\n }\n export interface MahnungData extends PHPW.Document.Html.Model.Data {\n address: PHPW.Document.Html.Model.Address;\n extras: PHPW.Document.Html.Model.Extras;\n type: PHPW.Document.Html.Model.DataBaseType.mahnung;\n rows: PHPW.Document.Html.Model.MahnungRowtypeMahnung[];\n sum: Array<\n | ProcessSumChange\n | ProcessSumExtraCost\n | ProcessSumFee\n | ProcessSumNetto\n | ProcessSumRabatt\n | ProcessSumSkonto\n | ProcessSumTotal\n | ProcessSumVat\n >;\n interest: number;\n }\n export interface MahnungRowtypeMahnung extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.mahnung;\n date?: PHPW.ExtendedDateTime | undefined;\n type: string;\n number: string;\n duedate?: PHPW.ExtendedDateTime | undefined;\n betrag: number;\n rest: number;\n interest: number;\n }\n export interface ProcessData extends PHPW.Document.Html.Model.Data {\n address: PHPW.Document.Html.Model.Address;\n extras: PHPW.Document.Html.Model.Extras;\n type: PHPW.Document.Html.Model.DataBaseType.process;\n deliveryAddress?: PHPW.Document.Html.Model.Address | undefined;\n positions: Array<\n | ProcessPosition\n | ProcessPositionCollection\n | ProcessPositionCollectionEnd\n | ProcessPositionDoubleSeparator\n | ProcessPositionPagebreak\n | ProcessPositionRabatt\n | ProcessPositionSeparator\n | ProcessPositionSetEnd\n | ProcessPositionSubtotal\n | ProcessPositionText\n | ProcessPositionTitleEnd\n | ProcessPositionTitleStart\n >;\n sum: Array<\n | ProcessSumChange\n | ProcessSumExtraCost\n | ProcessSumFee\n | ProcessSumNetto\n | ProcessSumRabatt\n | ProcessSumSkonto\n | ProcessSumTotal\n | ProcessSumVat\n >;\n prepaymentSum: Array<\n | ProcessSumChange\n | ProcessSumExtraCost\n | ProcessSumFee\n | ProcessSumNetto\n | ProcessSumRabatt\n | ProcessSumSkonto\n | ProcessSumTotal\n | ProcessSumVat\n >;\n rma?: PHPW.Document.Html.Model.ProcessRma | undefined;\n final?:\n | undefined\n | Array;\n titles: PHPW.Document.Html.Model.ProcessTitleTitle[];\n }\n export interface ProcessFinalFinal extends PHPW.Document.Html.Model.ProcessFinal {\n rowtype: PHPW.Document.Html.Model.TableRowType.final;\n number: string;\n netto: number;\n ust: number;\n brutto: number;\n mwst: number;\n outstanding: number;\n showOutstanding: boolean;\n }\n export interface ProcessFinalSkonto extends PHPW.Document.Html.Model.ProcessFinal {\n rowtype: PHPW.Document.Html.Model.TableRowType.skonto;\n value: number;\n satz: number;\n baseValue: number;\n days: number;\n notAll: boolean;\n }\n export interface ProcessFinalSum extends PHPW.Document.Html.Model.ProcessFinal {\n rowtype: PHPW.Document.Html.Model.TableRowType.finalSum;\n netto: number;\n ust: number;\n brutto: number;\n outstanding: number;\n }\n export interface ProcessFinalToPay extends PHPW.Document.Html.Model.ProcessFinal {\n rowtype: PHPW.Document.Html.Model.TableRowType.toPay;\n toPay: number;\n }\n export interface ProcessFinalVat extends PHPW.Document.Html.Model.ProcessFinal {\n rowtype: PHPW.Document.Html.Model.TableRowType.vat;\n finalMwst: number;\n mwst: number;\n }\n export interface ProcessPosition extends PHPW.Document.Html.Model.TableRow {\n pos: string;\n anz: number;\n me: string;\n number: string;\n customerNumber?: string | undefined;\n title: string;\n desc: string;\n serials?: string | undefined;\n price: number;\n sum: number;\n tax: number;\n visibleDiscount?: PHPW.Document.Html.Model.ProcessPositionRabatt | undefined;\n hiddenDiscounts: PHPW.Document.Html.Model.ProcessPositionRabatt[];\n images: string[];\n }\n export interface ProcessPositionAlternative extends PHPW.Document.Html.Model.ProcessPosition {\n rowtype: PHPW.Document.Html.Model.TableRowType.alternative;\n images: string[];\n }\n export interface ProcessPositionArticle extends PHPW.Document.Html.Model.ProcessPosition {\n rowtype: PHPW.Document.Html.Model.TableRowType.position;\n images: string[];\n }\n export interface ProcessPositionCollection extends PHPW.Document.Html.Model.ProcessPosition {\n rowtype: PHPW.Document.Html.Model.TableRowType.collectionStart;\n parts: Array<\n | ProcessPositionAlternative\n | ProcessPositionArticle\n | ProcessPositionCollection\n | ProcessPositionCollectionEnd\n | ProcessPositionDoubleSeparator\n | ProcessPositionOptional\n | ProcessPositionPagebreak\n | ProcessPositionRabatt\n | ProcessPositionSeparator\n | ProcessPositionSet\n | ProcessPositionSetEnd\n | ProcessPositionSubtotal\n | ProcessPositionText\n | ProcessPositionTitleEnd\n | ProcessPositionTitleStart\n >;\n }\n export interface ProcessPositionCollectionEnd extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.collectionEnd;\n }\n export interface ProcessPositionDoubleSeparator extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.doubleSeparator;\n }\n export interface ProcessPositionOptional extends PHPW.Document.Html.Model.ProcessPosition {\n rowtype: PHPW.Document.Html.Model.TableRowType.optional;\n images: string[];\n }\n export interface ProcessPositionPagebreak extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.pagebreak;\n }\n export interface ProcessPositionRabatt extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.rabatt;\n count: number;\n name: string;\n tax: number;\n baseValue: number;\n value: number;\n }\n export interface ProcessPositionSeparator extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.separator;\n }\n export interface ProcessPositionSet extends PHPW.Document.Html.Model.ProcessPosition {\n rowtype: PHPW.Document.Html.Model.TableRowType.setStart;\n parts: PHPW.Document.Html.Model.ProcessPosition[];\n }\n export interface ProcessPositionSetEnd extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.setEnd;\n }\n export interface ProcessPositionSubtotal extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.subtotal;\n }\n export interface ProcessPositionText extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.text;\n title: string;\n desc: string;\n }\n export interface ProcessPositionTitleEnd extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.titleEnd;\n title: string;\n price: number;\n pos: string;\n sum: number;\n level: number;\n }\n export interface ProcessPositionTitleStart extends PHPW.Document.Html.Model.TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType.titleStart;\n pos: string;\n title: string;\n price: number;\n sum: number;\n level: number;\n }\n export interface ProcessRma {\n number?: string | undefined;\n extRepNr?: string | undefined;\n geraet?: string | undefined;\n snr?: string | undefined;\n contents?: string | undefined;\n error?: string | undefined;\n ownError?: string | undefined;\n }\n export interface ProcessSettings {\n locale: string;\n currency: string;\n showPriceColumn: boolean;\n showLineTotalColumn: boolean;\n showTaxColumn: boolean;\n showRmaHeader: boolean;\n showRmaFooter: boolean;\n showDiscountColumn: boolean;\n show0AmountX: boolean;\n showPriceSumsOptAlt: boolean;\n imageColumnCount: number;\n }\n export interface ProcessSum extends PHPW.Document.Html.Model.TableRow {\n value: number;\n }\n export interface ProcessSumChange extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.change;\n received: number;\n }\n export interface ProcessSumExtraCost extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.extraCost;\n }\n export interface ProcessSumFee extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.fee;\n name: string;\n }\n export interface ProcessSumNetto extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.netto;\n satz: number;\n }\n export interface ProcessSumPrepayment extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.rabatt;\n satz: number | undefined;\n }\n export interface ProcessSumPrepaymentTotal extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.prepaymentTotal;\n }\n export interface ProcessSumRabatt extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.rabatt;\n satz: number | undefined;\n }\n export interface ProcessSumSkonto extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.skonto;\n satz: number;\n baseValue: number;\n days: number;\n notAll: boolean;\n }\n export interface ProcessSumTotal extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.total;\n }\n export interface ProcessSumVat extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.vat;\n baseValue: number;\n satz: number;\n }\n export interface ProcessTitleTitle extends PHPW.Document.Html.Model.ProcessSum {\n rowtype: PHPW.Document.Html.Model.TableRowType.title;\n name: string;\n pos: string;\n level: number;\n }\n export interface TableData extends PHPW.Document.Html.Model.Data {\n type: PHPW.Document.Html.Model.DataBaseType.custom;\n html: string;\n }\n export interface TableRow {\n rowtype: PHPW.Document.Html.Model.TableRowType;\n }\n export type ProcessFinal = PHPW.Document.Html.Model.TableRow;\n}\nexport namespace PHPW.Document.Model {\n export interface ProcessSettings {\n showPrices: boolean;\n showPriceSums: boolean;\n showDiscountColumn: boolean;\n ignoredCategories: PHPW.Api.Routes.ComboboxModel.ArticleCategory[];\n showBrand: boolean;\n showDescription: boolean;\n showPictures: boolean;\n showSno: boolean;\n showWeight: boolean;\n showDiscount: boolean;\n showParentPositionLink: boolean;\n showSubPositions: boolean;\n showZtn: boolean;\n showOrigin: boolean;\n showShopLink: boolean;\n showShippingPlan: boolean;\n showExternArticlenumber: boolean;\n showCustomerArticlenumber: boolean;\n showArticlenumber: boolean;\n show0AmountX: boolean;\n showPriceSumsOptAlt: boolean;\n showDispoUnit: boolean;\n showPricePerDispoUnit: boolean;\n countByType: boolean;\n globalDispoTimes: boolean;\n showBarcode: boolean;\n orderRef: boolean;\n offerRef: boolean;\n deliveryRef: boolean;\n confirmRef: boolean;\n ref: boolean;\n brutto?: boolean | undefined;\n showRma: boolean;\n eRechnungType?: PHPW.Entities.Enum.ERechnungType | undefined;\n footerPayment: boolean;\n footerSum: boolean;\n footerDeliveryAddress: boolean;\n footerBank: boolean;\n footerAgreement: boolean;\n footerRma: boolean;\n language: PHPW.Entities.Enum.ArticleLanguage;\n }\n}\nexport namespace PHPW.Entities.Enum {\n export enum ArticleLanguage {\n \"DE\" = \"de\",\n \"EN\" = \"en\"\n }\n export enum ArticleSetType {\n \"Default\" = 0,\n \"OwnPrice\" = 1,\n \"DerivedPrice\" = 2\n }\n export enum AufgabeCommentTag {\n \"Invisible\" = 0,\n \"Default\" = 1,\n \"Important\" = 2,\n \"Error\" = 3,\n \"Solution\" = 4\n }\n export enum AufgabeCommentType {\n \"Comment\" = 0,\n \"Auto\" = 1,\n \"Ccs\" = 2,\n \"CallNote\" = 3\n }\n export enum BankStatementEntryState {\n \"UNCHECKED\" = 1,\n \"PARTIALLY_CONFIDENT\" = 2,\n \"MATCHED\" = 3\n }\n export enum BookingIncomingBillType {\n \"Invoice\" = 1,\n \"Proforma\" = 2\n }\n export enum BusinessRelation {\n \"B2B\" = 0,\n \"B2C\" = 1,\n \"B2A\" = 2\n }\n export enum ContactAddressType {\n \"No\" = 0,\n \"Yes\" = 1,\n \"Primary\" = 2\n }\n export enum ContactMailAddressType {\n \"unknown\" = -1,\n \"default\" = 1,\n \"billing\" = 2,\n \"newsletter\" = 3\n }\n export enum DemandState {\n \"OPEN\" = 1,\n \"APPROVED\" = 2,\n \"DECLINED\" = 3\n }\n export enum DispoBillingType {\n \"Day\" = 1,\n \"TenHours\" = 2\n }\n export enum DispoUserStatusType {\n \"Default\" = 0,\n \"HolidayRequest\" = 1,\n \"HolidayAuthorised\" = 2\n }\n export enum ERechnungType {\n \"none\" = \"none\",\n \"pdf_cii_zf_xrechnung\" = \"pdf_cii_zf_xrechnung\",\n \"pdf_cii_zf_en16931\" = \"pdf_cii_zf_en16931\",\n \"xml_ubl_xrechnung\" = \"xml_ubl_xrechnung\"\n }\n export enum FulfillmentState {\n \"ignore\" = 0,\n \"none\" = 1,\n \"partial\" = 2,\n \"complete\" = 3,\n \"overGood\" = 4,\n \"overBad\" = 6,\n \"error\" = 5\n }\n export enum LagerPlatzTyp {\n \"Undefiniert\" = 0,\n \"Intern\" = 1,\n \"Extern\" = 2\n }\n export enum LoginDecision {\n \"Error\" = \"error\",\n \"TooManyTries\" = \"tooManyTries\",\n \"UserUnknown\" = \"userUnknown\",\n \"ExternalDenied\" = \"externalDenied\",\n \"PasswordIncorrect\" = \"passwordIncorrect\",\n \"Ok\" = \"ok\",\n \"Unknown\" = \"\"\n }\n export enum MailAccountEncryption {\n \"tls\" = \"tls\",\n \"ssl\" = \"ssl\"\n }\n export enum MailStatus {\n \"UNREAD\" = 1,\n \"REMINDER\" = 2,\n \"COMPLAINT\" = 3,\n \"PRIORITY\" = 4,\n \"DONE\" = 5,\n \"UNWORKED\" = 6,\n \"SENT\" = 7,\n \"SPAM\" = 8,\n \"NEWSLETTER\" = 9\n }\n export enum ParcelApi {\n \"ShipCloud\" = \"ShipCloud\",\n \"LetMeShip\" = \"LetMeShip\",\n \"SendCloud\" = \"SendCloud\",\n \"GlsWeb\" = \"GlsWeb\",\n \"Dpd\" = \"Dpd\",\n \"Dhl\" = \"Dhl\"\n }\n export enum PhoneNumberType {\n \"unknown\" = -1,\n \"phone1\" = 1,\n \"phone2\" = 2,\n \"phone3\" = 3,\n \"mobile\" = 4,\n \"fax\" = 5\n }\n export enum PriceMode {\n \"GLOBAL\" = \"global\",\n \"INDIVIDUAL\" = \"individual\"\n }\n export enum ProcessCategory {\n \"Entwurf\" = 0,\n \"Druckfertig\" = 1,\n \"Barcodejob\" = 2,\n \"Finalized\" = 3\n }\n export enum ProcessPositionShippingDateType {\n \"day\" = \"day\",\n \"week\" = \"week\",\n \"month\" = \"month\"\n }\n export enum ProcessPositionShippingType {\n \"delivery\" = \"delivery\",\n \"pickup\" = \"pickup\"\n }\n export enum ProcessTaxBehaviour {\n \"Default\" = 0,\n \"EG_Lieferung\" = 1,\n \"EG_Leistung\" = 7,\n \"Drittland_Lieferung\" = 4,\n \"Drittland_Leistung\" = 5,\n \"Bauleistung\" = 2,\n \"Seeschiffe\" = 6,\n \"Misc\" = 3,\n \"Dreiecksgeschaeft\" = 8\n }\n export enum ProcessTemplateType {\n \"Html_TcPdf\" = 0,\n \"Odt_SingleFile\" = 1,\n \"Odt_MultiFile\" = 2,\n \"Html_Puppeteer\" = 3,\n \"Ofsc_ReceiptLine\" = 4\n }\n export enum ShopType {\n \"Presta\" = 1,\n \"WooCommerce\" = 2,\n \"Shopify\" = 3,\n \"Gambio\" = 4\n }\n export enum StockAmountTypeCategory {\n \"IS_AVAILABLE\" = \"available\",\n \"IS_AVAILABLE_DISPO\" = \"dispoAvailable\",\n \"IS_SOLD\" = \"sold\",\n \"IS_RENTED\" = \"rented\",\n \"IS_IN_PRODUCTION\" = \"inProduction\",\n \"IS_ORDERED\" = \"ordered\",\n \"IS_DIRECT\" = \"directShipment\",\n \"IS_DEMAND\" = \"demand\",\n \"IS_INSTALLED\" = \"installed\",\n \"IS_IN_MAINTENANCE\" = \"inMaintenance\",\n \"IS_IN_MAINTENANCE_DISPO\" = \"dispoInMaintenance\"\n }\n}\nexport namespace PHPW.Lager.Model {\n export interface ChangeEntry {\n name: string;\n id?: number | undefined;\n orgValue?: number | undefined;\n value?: number | undefined;\n }\n export interface StockMove extends PHPW.Api.Bodies.Model {\n articleId: number;\n sourcePlace?: PHPW.Api.Routes.ComboboxModel.LagerPlatz;\n sourceType?: PHPW.Api.Routes.ComboboxModel.LagerPlatzBestandType;\n targetPlace?: PHPW.Api.Routes.ComboboxModel.LagerPlatz;\n targetType?: PHPW.Api.Routes.ComboboxModel.LagerPlatzBestandType;\n comment?: string | undefined;\n moveAmount?: number | undefined;\n moveSerials?: undefined | PHPW.Api.Routes.ComboboxModel.ArticleSerial[];\n moveBatches?: undefined | PHPW.Api.Routes.ComboboxModel.ArticleCharge[];\n }\n}\nexport namespace PHPW.Mahnung.Model {\n export interface Result extends PHPW.Api.Bodies.Model {\n documentHash: string | undefined;\n }\n}\nexport namespace PHPW.Mail.Model {\n export interface MailAccess extends PHPW.Api.Responses.DefaultResponse {\n id: number | undefined;\n timestamp: PHPW.ExtendedDateTime | undefined;\n info: string;\n userId: number | undefined;\n }\n export interface MailTemplate extends PHPW.Api.Responses.DefaultResponse {\n name: string;\n content: string;\n }\n export interface TestImapResult extends PHPW.Api.Bodies.Model {\n sslOk: boolean;\n sslErrorInfo: string;\n tlsOk: boolean;\n tlsErrorInfo: string;\n }\n export interface TestSmtpResult extends PHPW.Api.Bodies.Model {\n sslOk: boolean;\n sslErrorInfo: string;\n tlsOk: boolean;\n tlsErrorInfo: string;\n }\n}\nexport namespace PHPW.Mail.Model.MailParser {\n export interface Attachment {\n contentType: string;\n cid: string | undefined;\n related: boolean;\n checksum: string;\n size: number;\n content: string;\n filename: string;\n }\n export interface HeaderLine {\n key: string;\n line: string;\n }\n export interface Mail {\n attachments: PHPW.Mail.Model.MailParser.Attachment[];\n headerLines: PHPW.Mail.Model.MailParser.HeaderLine[];\n message: string | undefined;\n subject: string | undefined;\n references: string[];\n date: PHPW.ExtendedDateTime | undefined;\n to: PHPW.Mail.Model.MailParser.MailAddress[];\n from: PHPW.Mail.Model.MailParser.MailAddress[];\n cc: PHPW.Mail.Model.MailParser.MailAddress[];\n bcc: PHPW.Mail.Model.MailParser.MailAddress[];\n replyTo: PHPW.Mail.Model.MailParser.MailAddress[];\n messageId: string | undefined;\n inReplyTo: string | undefined;\n priority: string | undefined;\n size: number;\n tasks?: PHPW.Api.Routes.ComboboxModel.Aufgabe[];\n raw?: string | undefined;\n }\n export interface MailAddress {\n address: string | undefined;\n name: string;\n }\n}\nexport namespace PHPW.Mail.Model.MailSender {\n export interface Address {\n name: string;\n address: string;\n }\n export interface Attachment {\n href?: string | undefined;\n cid?: string | undefined;\n filename?: string | undefined;\n content?: string | undefined;\n path?: string | undefined;\n }\n export interface Auth {\n type: string;\n user: string;\n }\n export interface AuthLogin extends PHPW.Mail.Model.MailSender.Auth {\n type: \"login\";\n user: string;\n pass: string;\n }\n export interface AuthOauth2 extends PHPW.Mail.Model.MailSender.Auth {\n type: \"OAuth2\";\n user: string;\n accessToken: string;\n }\n export interface Input {\n transport: PHPW.Mail.Model.MailSender.Transport;\n mail: PHPW.Mail.Model.MailSender.Mail;\n returnRaw: boolean;\n }\n export interface Mail {\n from: PHPW.Mail.Model.MailSender.Address | string | undefined;\n to: undefined | Array;\n cc: undefined | Array;\n bcc: undefined | Array;\n subject: string | undefined;\n text: string | undefined;\n html: string | undefined;\n attachments: undefined | PHPW.Mail.Model.MailSender.Attachment[];\n replyTo: PHPW.Mail.Model.MailSender.Address | undefined;\n inReplyTo: string | undefined;\n reference: string | undefined;\n priority: \"high\" | \"normal\" | \"low\" | undefined;\n headers: {[key: string]: string};\n }\n export interface Tls {\n minVersion: \"TLSv1\";\n rejectUnauthorized: boolean;\n }\n export interface Transport {\n host: string;\n port: number;\n secure: boolean;\n auth: PHPW.Mail.Model.MailSender.AuthOauth2 | PHPW.Mail.Model.MailSender.AuthLogin;\n tls: PHPW.Mail.Model.MailSender.Tls;\n }\n}\nexport namespace PHPW.Oauth {\n export enum OauthProvider {\n \"Google\" = \"google\",\n \"Outlook\" = \"outlook\",\n \"Shopify\" = \"shopify\"\n }\n}\nexport namespace PHPW.Parcel.Model {\n export interface Carrier {\n name: string;\n display_name: string;\n services: string[];\n package_types: string[];\n additional_services: string[];\n }\n export interface ShipmentQuoteResponse {\n providerId: string;\n providerDisplayName: string;\n carrierId: string;\n carrierDisplayName: string;\n serviceId: string | number;\n serviceDisplayName: string;\n netPrice: number | undefined;\n }\n}\nexport namespace PHPW.Price.Model {\n export interface Price {\n id?: number | undefined;\n minAmount: number;\n exactPrice: number;\n contact?: PHPW.Api.Routes.ComboboxModel.Contact | undefined;\n start?: PHPW.ExtendedDateTime | undefined;\n stop?: PHPW.ExtendedDateTime | undefined;\n lastUpdate?: PHPW.ExtendedDateTime | undefined;\n rabattierbar: boolean;\n description?: string | undefined;\n deleted: boolean;\n }\n export interface PriceContact extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n contact: PHPW.Api.Routes.ComboboxModel.Contact;\n article?: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n price: PHPW.Price.Model.Price[];\n tax?: number | undefined;\n deleted: boolean;\n }\n export interface PriceGroup extends PHPW.Api.Bodies.Model {\n id?: number | undefined;\n name?: PHPW.Api.Routes.ComboboxModel.ArticleSellingPriceGroupName | undefined;\n article?: PHPW.Api.Routes.ComboboxModel.Article | undefined;\n price: PHPW.Price.Model.Price[];\n tax?: number | undefined;\n deleted: boolean;\n }\n}\nexport namespace PHPW.Process.Model {\n export enum ProcessPositionType {\n \"Article\" = 0,\n \"Discount\" = 1,\n \"Group\" = 2,\n \"Alternative\" = 3,\n \"Optional\" = 4,\n \"Text\" = 5,\n \"PageBreak\" = 6,\n \"Separator\" = 7,\n \"DoubleSeparator\" = 8,\n \"Subtotal\" = 9,\n \"TitleStart\" = 10,\n \"TitleEnd\" = 11,\n \"SetStart\" = 12,\n \"SetEnd\" = 13,\n \"CollectionStart\" = 14,\n \"CollectionEnd\" = 15\n }\n export enum ProcessTypeArcType {\n \"OFFER\" = \"offer\",\n \"CONFIRMATION\" = \"confirmation\",\n \"DELIVERY\" = \"delivery\",\n \"INVOICE\" = \"invoice\"\n }\n export enum ProcessTypeCategory {\n \"CORRECTION\" = \"correction\",\n \"INVOICE\" = \"invoice\",\n \"OFFER\" = \"offer\",\n \"ORDER\" = \"order\",\n \"CONFIRMATION\" = \"confirmation\",\n \"PROFORMA\" = \"proforma\",\n \"DELIVERY\" = \"delivery\",\n \"RETOURE\" = \"retoure\"\n }\n export interface PositionPreis {\n exactPrice?: number | undefined;\n hiddenDiscounts: PHPW.Process.Model.PositionRabatt[];\n visibleDiscount?: PHPW.Process.Model.PositionRabatt | undefined;\n priceGroupName?: PHPW.Api.Routes.ComboboxModel.ArticleSellingPriceGroupName | undefined;\n }\n export interface PositionRabatt {\n count: number;\n name?: string | undefined;\n }\n export interface PositionShippingPlan extends PHPW.Api.Bodies.Model {\n shippingDate?: PHPW.ExtendedDateTime | undefined;\n shippingDateType?: PHPW.Entities.Enum.ProcessPositionShippingDateType | undefined;\n shippingType?: PHPW.Entities.Enum.ProcessPositionShippingType | undefined;\n }\n export interface PositionShippingPlanChange extends PHPW.Process.Model.PositionShippingPlan {\n positions: number[];\n }\n}\nexport namespace PHPW.PushMessage.Model {\n export interface PushMessagePayload {\n id: number;\n guid: string;\n user: string;\n type: string;\n subtype: string;\n body: string;\n }\n}\nexport namespace PHPW.Table.Profile.Model {\n export enum ColumnAlign {\n \"L\" = \"L\",\n \"C\" = \"C\",\n \"R\" = \"R\"\n }\n export enum ColumnSize {\n \"XXS\" = \"XXS\",\n \"XS\" = \"XS\",\n \"S\" = \"S\",\n \"M\" = \"M\",\n \"L\" = \"L\",\n \"XL\" = \"XL\",\n \"XXL\" = \"XXL\"\n }\n export interface Column extends PHPW.Api.Bodies.Model {\n name: string;\n nameOverwrite?: string | undefined;\n titleOverwrite?: string | undefined;\n visible: boolean;\n size: PHPW.Table.Profile.Model.ColumnSize;\n exactSize?: number | undefined;\n align: PHPW.Table.Profile.Model.ColumnAlign | undefined;\n type?: string | undefined;\n label?: string | undefined;\n searchable?: boolean | undefined;\n clearable?: boolean | undefined;\n selectable?: boolean | undefined;\n }\n}\nexport namespace PHPW.User.Model {\n export interface UserGroup extends PHPW.Api.Bodies.Model {\n id: number | undefined;\n permissions: number[];\n name: string;\n }\n}\n","import {nanoid} from \"nanoid\";\nimport {MessageQueueInstance} from \"./MessageQueueStore\";\nimport type {IMessage} from \"./IMessage\";\n\nconst autoCloseTimeout = 10_000; // Auf audrücklichen Wunsch von TH reduziert\n\nexport class MessageStore implements IMessage {\n public readonly id: string = nanoid();\n public readonly type: \"info\" | \"success\" | \"warning\" | \"error\" | \"chat\";\n public readonly title: string;\n public readonly body: string | undefined;\n public readonly time: Date;\n public readonly callback: (() => void) | undefined;\n public readonly ident: string;\n\n constructor(\n type: \"info\" | \"success\" | \"warning\" | \"error\" | \"chat\",\n title: string,\n body: string | undefined,\n time: Date = new Date(),\n callback: (() => void) | undefined,\n ident?: string\n ) {\n this.type = type;\n this.title = title;\n this.body = body;\n this.time = time;\n this.callback = callback;\n this.ident = ident || nanoid();\n\n window.setTimeout(() => {\n MessageQueueInstance.removeSnackbarElement(this.id);\n }, autoCloseTimeout);\n }\n}\n","import {MessageStore} from \"../react/MailQueue/Store/MessageStore\";\nimport {MessageQueueInstance} from \"../react/MailQueue/Store/MessageQueueStore\";\n\nconst handleMarkReadEvent = function (event: Event) {\n const customEvent = event as CustomEvent<{messageId: string}>;\n const {messageId} = customEvent.detail;\n MessageQueueInstance.removeMessageCenterElementByIdent(messageId);\n};\n\ndocument.addEventListener(\"markReadEvent\", handleMarkReadEvent as EventListener);\n\nfunction notify(\n message: string,\n type?: \"info\" | \"success\" | \"error\" | \"warning\" | \"chat\",\n callback?: () => void,\n options?: {timestamp?: Date; messageIdent?: string}\n): void {\n if (!new Set([\"info\", \"success\", \"error\", \"warning\", \"chat\"]).has(type as string)) {\n type = \"info\";\n }\n\n const element = new MessageStore(\n type || \"info\",\n message,\n undefined,\n options?.timestamp,\n callback,\n options?.messageIdent\n );\n MessageQueueInstance.addElement(element);\n}\n\nfunction message(message: string, callback?: () => void): void {\n return notify(message, \"info\", callback);\n}\n\nfunction success(message: string, callback?: () => void): void {\n return notify(message, \"success\", callback);\n}\n\nfunction error(message: string, callback?: () => void): void {\n return notify(message, \"error\", callback);\n}\n\nfunction warning(message: string, callback?: () => void): void {\n return notify(message, \"warning\", callback);\n}\n\nexport const alertify = {\n notify: notify,\n message: message,\n success: success,\n error: error,\n warning: warning\n};\n","import type {ReactElement} from \"react\";\n\nexport class Alertify {\n public static alert(title = \"Meldung\", message?: string | ReactElement, onOk?: () => void) {\n const func = async () => {\n const opener = await import(\"../react/Standard/Alertify/opener/openAlert\");\n return opener.openAlert(title, message, onOk);\n };\n func().catch(console.error);\n }\n\n public static confirm(\n title = \"Meldung\",\n message?: string,\n onOk?: () => void,\n onCancel?: () => void,\n settings?: {labels: {ok?: string; cancel?: string}}\n ) {\n const func = async () => {\n const opener = await import(\"../react/Standard/Alertify/opener/openConfirm\");\n return opener.openConfirm(title, message, onOk, onCancel, settings);\n };\n return func().catch(console.error);\n }\n\n public static prompt(\n title = \"Meldung\",\n message?: string,\n value?: string,\n onOk?: (event: undefined, value: string) => void,\n onCancel?: () => void,\n settings?: {labels?: {ok?: string; cancel?: string}; height?: number | \"auto\"; inputLabel?: string}\n ) {\n const func = async () => {\n const opener = await import(\"../react/Standard/Alertify/opener/openPrompt\");\n return opener.openPromptString(title, message, value, onOk, onCancel, settings);\n };\n return func().catch(console.error);\n }\n\n public static promptNumeric(\n title = \"Meldung\",\n message?: string,\n value?: number,\n onOk?: (event: undefined, value: number) => void,\n onCancel?: () => void,\n settings?: {labels: {ok?: string; cancel?: string}}\n ) {\n const func = async () => {\n const opener = await import(\"../react/Standard/Alertify/opener/openPrompt\");\n return opener.openPromptNumeric(title, message, value, onOk, onCancel, settings);\n };\n return func().catch(console.error);\n }\n}\n","import {SSE} from \"sse.js\";\nimport type {\n IInternalCallOptions,\n ILegacyCallOptions,\n IRequestHandlerBody,\n IRequestHandlerParams,\n IRequestHandlerResponse,\n TRequestMethod\n} from \"../RequestHandler\";\nimport {RequestHandler} from \"../RequestHandler\";\nimport {getProjectOrigin} from \"../functions/getProjectOrigin\";\n\nexport class ApiCaller extends RequestHandler {\n private url = \"/api/public/v1/index.php\";\n\n get path() {\n return getProjectOrigin(this.url);\n }\n\n public createApiRoute(route?: string | Array, params?: IRequestHandlerParams) {\n return `${this.path}/${Array.isArray(route) ? route.join(\"/\") : route || \"\"}${ApiCaller.formatParams(params)}`;\n }\n\n public triggerEventStream(\n route: string | Array,\n method: Exclude = \"GET\",\n params?: IRequestHandlerParams,\n body?: IRequestHandlerBody\n ): SSE {\n return new SSE(this.createApiRoute(route, params), {\n method: method,\n payload: JSON.stringify(body) || \"\",\n headers: {\"Content-Type\": \"application/json\"}\n });\n }\n\n /**\n * @throws {IRequestHandlerResponseError}\n * @throws {TypeError} von fetch\n * @throws {DOMException} von fetch\n */\n public override async legacyCall(\n route: string | Array,\n method: Exclude = \"GET\",\n params?: IRequestHandlerParams,\n body?: IRequestHandlerBody,\n abortSignal?: AbortSignal,\n options?: ILegacyCallOptions\n ): Promise> {\n return super.call({route: this.createApiRoute(route), method, params, body, abortSignal, ...options});\n }\n\n /**\n * @throws {IRequestHandlerResponseError}\n * @throws {TypeError} von fetch\n * @throws {DOMException} von fetch\n */\n public override async call(options: IInternalCallOptions): Promise> {\n options.route = this.createApiRoute(options.route);\n return super.call(options);\n }\n}\n","/**\n * verschiebt die wochentag logik von Date::getDay so das Montag 0 ist und Sonntag 6\n */\nexport const getDayShiftedForMonday = function (date: Date) {\n const actual = date.getDay() - 1;\n if (actual === -1) {\n return 6;\n }\n return actual;\n};\n\nexport function todayNoon() {\n const date = new Date();\n date.setHours(12, 0, 0, 0);\n return date;\n}\n\nexport function copyDate(date: Date) {\n return new Date(date);\n}\n\nexport function firstOfMonth(date: Date) {\n const newDate = copyDate(date);\n newDate.setDate(1);\n return newDate;\n}\n\nexport function lastOfMonth(date: Date) {\n // mit diesem Konstrukt setzen wir das Datum auf den Letzen des aktuellen Monat\n const newDate = firstOfMonth(date);\n newDate.setMonth(newDate.getMonth() + 1);\n newDate.setDate(0);\n return newDate;\n}\n\nexport const minuteSeconds = 60;\nexport const hourSeconds = minuteSeconds * 60;\nexport const daySeconds = hourSeconds * 24;\n\nexport const minuteMilliseconds = minuteSeconds * 1000;\nexport const hourMilliseconds = hourSeconds * 1000;\nexport const dayMilliseconds = daySeconds * 1000;\n","export interface SendObject {\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n [key: string]: SendObject | unknown;\n}\n\nexport class FormDataCreator {\n private readonly objectToSend: sendObject;\n private readonly objectShadow: SendObject;\n private readonly objectSpec: {[key: string]: Blob};\n constructor(objectToSend: sendObject) {\n this.objectToSend = objectToSend;\n this.objectShadow = {};\n this.objectSpec = {};\n }\n\n public preparedObjectData() {\n this.builder(this.objectToSend, this.objectShadow, \"\", ([keyName, item], _, shadowedObject) => {\n shadowedObject[keyName] = item;\n });\n }\n\n private getShadowStringNext(shadowObjectString: string | undefined, keyName: string): string {\n let shadowObjectStringNext;\n\n if (shadowObjectString && shadowObjectString.length > 0) {\n shadowObjectStringNext = shadowObjectString + (\"[\" + keyName + \"]\");\n } else {\n shadowObjectStringNext = keyName;\n }\n\n return shadowObjectStringNext;\n }\n\n private rawStringReduction(reduceFunction: (accu: FormData, val: string[]) => FormData, initialValue: FormData) {\n const rawString = this.param().replaceAll(\"+\", \" \");\n return rawString.split(\"&\").reduce(function (accu, current) {\n const keyVal = current.split(\"=\");\n return reduceFunction(accu, keyVal);\n }, initialValue);\n }\n\n private addObjectSpecs(addFunction: (keyName: string, value: Blob) => void) {\n Object.entries(this.objectSpec).forEach(([keyName, value]) => {\n addFunction(keyName, value);\n });\n }\n\n public getFormData() {\n return this.appendExisting(new FormData());\n }\n\n /**\n *\n * @param {FormData|URLSearchParams} browserDataObject\n */\n private appendExisting(browserDataObject: FormData) {\n const formData = this.rawStringReduction(function (accu, [key, val]) {\n if (key) {\n accu.append(decodeURIComponent(key), decodeURIComponent(val || \"\"));\n }\n return accu;\n }, browserDataObject);\n this.addObjectSpecs((key: string, value: Blob) => {\n formData.append(key, value);\n });\n return formData;\n }\n\n private isSpecialObject(item: unknown): item is Blob {\n return (\n Object.prototype.toString.call(item) === \"[object File]\" ||\n Object.prototype.toString.call(item) === \"[object Blob]\"\n );\n }\n\n private isSendObject(item: unknown): item is sendObject | sendObject[] {\n return Array.isArray(item) || Object.prototype.toString.call(item) === \"[object Object]\";\n }\n private isBaseType(item: unknown): item is string | number | boolean | null | undefined {\n return (\n typeof item === \"string\" ||\n typeof item === \"number\" ||\n typeof item === \"boolean\" ||\n item === undefined ||\n item === null\n );\n }\n\n public param(): string {\n const collector: string[] = [];\n this.builder(this.objectToSend, this.objectShadow, \"\", ([_, value], prop: string) => {\n if (value === undefined || value === null) {\n return;\n }\n collector.push(\n `${encodeURIComponent(prop)}=${encodeURIComponent(\n this.isBaseType(value) ? value : Object.prototype.toString.call(value)\n )}`\n );\n });\n return collector.join(\"&\");\n }\n\n private builder(\n objectData: sendObject | sendObject[],\n shadowedObject: SendObject,\n shadowObjectString: string,\n leafAction: (entry: [string, unknown], shadowObjectStringNext: string, shadowedObject: SendObject) => void\n ) {\n Object.entries(objectData).forEach(([keyName, item]) => {\n const shadowObjectStringNext = this.getShadowStringNext(shadowObjectString, keyName);\n\n if (this.isSpecialObject(item)) {\n this.objectSpec[shadowObjectStringNext] = item;\n } else if (this.isSendObject(item)) {\n const tmp: SendObject = {};\n shadowedObject[keyName] = tmp;\n this.builder(item, tmp, shadowObjectStringNext, leafAction);\n } else {\n leafAction([keyName, item], shadowObjectStringNext, shadowedObject);\n }\n });\n }\n}\n","import {Update} from \"../GlobalStores/Update\";\nimport {alertify} from \"../legacy/helper_alertify\";\nimport {translate} from \"../GlobalStores/Language\";\n\ndeclare const VERSION: string;\nconst langGet = await translate(\"versionAlert\");\n\nfunction alert() {\n if (!Update.available) {\n Update.setAvailable(true);\n alertify.warning(langGet(\"EsIstEinUp\"));\n }\n}\n\nexport function versionAlert(version: string) {\n if (VERSION !== version) {\n alert();\n }\n}\n","import type {Root} from \"react-dom/client\";\nimport {createRoot} from \"react-dom/client\";\nimport {WorkingOverlay} from \"./react/WorkingOverlay\";\nimport {Lock} from \"./GlobalStores/Lock\";\nimport {initProfile, isTouchBased, setProfileToStorage} from \"./GlobalStores/ProfileFromStorage\";\n\ndocument.addEventListener(\"keydown\", (event) => {\n if (event.code == \"PageUp\" || event.code == \"PageDown\") {\n event.preventDefault();\n }\n});\n\nconst appNode = document.createElement(\"div\");\ndocument.body.append(appNode);\nconst root: Root = createRoot(appNode);\n\nfunction getCleanAppNode(): Root {\n return root;\n}\n\nfunction renderWorkingOverlay() {\n getCleanAppNode().render();\n}\n\nexport async function main() {\n console.warn(\"main START\");\n renderWorkingOverlay();\n console.warn(\"main WORKING OVERLAY DONE\");\n\n const urlParams = new URLSearchParams(window.location.search);\n\n initProfile();\n if (urlParams.has(\"profile\")) {\n const profile = urlParams.get(\"profile\");\n if (profile) {\n setProfileToStorage(profile);\n }\n }\n\n const {loadColors} = await import(\"./GlobalStores/Theme\");\n loadColors();\n\n // if (urlParams.has(\"ccs\")) {\n // await launchCcs();\n // } else {\n const {initUser} = await import(\"./GlobalStores/User\");\n if (await initUser()) {\n Lock.setLocked(false);\n\n const {initDeviceConfig} = await import(\"./GlobalStores/DeviceConfig\");\n initDeviceConfig();\n\n const {initUserConfig} = await import(\"./GlobalStores/UserConfig\");\n initUserConfig();\n\n const {loadMessages} = await import(\"./functions/loadMessages\");\n loadMessages();\n\n const {loadMarkers} = await import(\"./functions/loadMarkers\");\n loadMarkers();\n\n if (isTouchBased()) {\n const {run} = await import(\"./initializer/mobile\");\n return run(getCleanAppNode);\n } else {\n const {run} = await import(\"./initializer/run\");\n return run(getCleanAppNode);\n }\n }\n\n // ApiCaller hat Fehler 401 von Server bekommen. Lock.locked muss also wieder auf 'false' zurückgestellt werden.\n // Sonst wird der Zugang anfragen Dialog nicht angezeigt\n Lock.setLocked(false);\n const {login} = await import(\"./initializer/login\");\n login(getCleanAppNode);\n // }\n\n return true;\n}\n\nmain().catch(console.error);\n","import {useCallback, useState} from \"react\";\nimport type {IExceptionFragment} from \"../../../../Service/IErrorResponse\";\nimport {StandardButton} from \"../../../Standard/StandardButton\";\nimport {translate} from \"../../../../GlobalStores/Language\";\nimport {icon_visibility, icon_visibility_off} from \"../../../../lib/svg/MaterialIcons2.ts\";\n\nconst langGet = await translate(\"ErrorResponse\");\n\nexport interface IErrorResponseProps {\n title: string;\n message: string;\n route?: string;\n detail?: IExceptionFragment;\n chain?: IErrorResponseProps[];\n onlyNotify?: \"error\" | \"warning\";\n overrideNotifyAction?: () => void;\n}\n\nfunction ErrorEntry(props: IErrorResponseProps) {\n const [showDetail, setShowDetail] = useState(false);\n const onClick = useCallback(async () => {\n setShowDetail(!showDetail);\n }, [showDetail]);\n return (\n

\n \n {props.message}\n \n {showDetail ? (\n
\n
Titel: {props.title}
\n {props.route ?
Pfad: {props.route}
: undefined}\n {props.detail ? (\n <>\n
Fehler: {props.detail.exception}
\n
Meldung: {props.detail.exceptionMessage}
\n
Fehlercode: {props.detail.code}
\n
\n Datei: {props.detail.file}:{props.detail.line}\n
\n
{props.detail.trace?.join(\"\\n\")}
\n \n ) : undefined}\n
\n ) : undefined}\n
\n );\n}\n\nexport function ErrorResponse(props: IErrorResponseProps) {\n const [showChain, setShowChain] = useState(false);\n const onClick = useCallback(async () => {\n setShowChain(!showChain);\n }, [showChain]);\n return (\n <>\n \n {props.chain && props.chain.length > 0 ? (\n <>\n \n Mehr\n \n {showChain ? (\n <>\n {props.chain.map(function (entry, index) {\n // eslint-disable-next-line react/no-array-index-key\n return ;\n })}\n \n ) : undefined}\n \n ) : undefined}\n \n );\n}\n","import {action, computed, makeObservable, observable} from \"mobx\";\nimport type {IObservableArray} from \"mobx/dist/internal\";\nimport type {MessageStore} from \"./MessageStore\";\nimport type {AufgabeMessageStore} from \"./AufgabeMessageStore\";\nimport type {IMessage} from \"./IMessage\";\n\nexport class MessageQueueStore {\n public open: boolean = false;\n public readonly snackbarElements: IObservableArray = observable.array();\n public readonly messageCenterElements: IObservableArray = observable.array();\n public readonly stickyMessageCenterElements: IObservableArray = observable.array();\n\n constructor() {\n makeObservable(this, {\n removeMessageCenterElementByIdent: observable,\n setAufgabeElements: observable,\n stickyMessageCenterElements: observable,\n removeMessageCenterElement: action,\n sortedMessageCenterElements: computed,\n messageCenterElements: observable,\n addElement: action,\n removeSnackbarElement: action,\n setOpen: action,\n open: observable,\n snackbarElements: observable,\n sortedSnackbarElements: computed\n });\n }\n\n get sortedSnackbarElements(): IMessage[] {\n return this.snackbarElements.slice().sort((a, b) => {\n return a.time.getTime() - b.time.getTime();\n });\n }\n\n get sortedMessageCenterElements(): IMessage[] {\n return [...this.messageCenterElements, ...this.stickyMessageCenterElements].slice().sort((a, b) => {\n return a.time.getTime() - b.time.getTime();\n });\n }\n\n public addElement = (message: MessageStore) => {\n this.snackbarElements.push(message);\n if (message.callback) {\n this.messageCenterElements.push(message);\n }\n };\n\n public removeSnackbarElement = (id: string | number) => {\n const foundIndex = this.snackbarElements.findIndex((element) => element.id == id);\n if (foundIndex !== -1) {\n this.snackbarElements.splice(foundIndex, 1);\n }\n };\n\n public removeMessageCenterElement = (id: string | number) => {\n const foundIndex = this.messageCenterElements.findIndex((element) => element.id == id);\n if (foundIndex !== -1) {\n this.messageCenterElements.splice(foundIndex, 1);\n }\n };\n\n public setOpen = (value: boolean) => {\n this.open = value;\n };\n\n public setAufgabeElements = (value: AufgabeMessageStore[]) => {\n const idsBefore = new Set(this.stickyMessageCenterElements.map((element) => element.id));\n const idsAfter = new Set(value.map((element) => element.id));\n\n for (const id of idsAfter.values()) {\n if (!idsBefore.has(id)) {\n this.open = true;\n break;\n }\n }\n\n this.stickyMessageCenterElements.clear();\n value.forEach((single) => {\n this.stickyMessageCenterElements.push(single);\n });\n };\n\n public removeMessageCenterElementByIdent(ident: string) {\n const foundIndex = this.messageCenterElements.findIndex((element) => element.ident == ident);\n if (foundIndex !== -1) {\n this.messageCenterElements.splice(foundIndex, 1);\n }\n }\n}\n\nexport const MessageQueueInstance = new MessageQueueStore();\n","import {ApiCaller} from \"../../lib/ApiCaller\";\nimport {minuteMilliseconds} from \"../../lib/DateQuirks\";\nimport {Service} from \"./Service\";\n\nexport class ApiService extends Service {\n protected apiCaller: ApiCaller;\n\n protected constructor() {\n super();\n this.apiCaller = new ApiCaller();\n }\n}\n\ninterface ISearchResult {\n stamp: Date;\n erg: cacheData;\n cacheTimeout?: number;\n}\n\nexport class ApiServiceSearchCache {\n /**\n * das maximale Cachealter in Minuten\n */\n public maxCacheAge: number;\n\n /**\n * ob das maximale Cachealter berücksichtigt werden soll\n */\n public ignoreMaxAge: boolean;\n\n protected searchHistory: Map> = new Map();\n\n /**\n *\n * @param {number} maxCacheAge das maximale Cachealter in Minuten\n * @param {boolean} ignoreMaxAge ob das maximale Cachealter berücksichtigt werden soll\n */\n constructor(maxCacheAge: number = 5, ignoreMaxAge: boolean = false) {\n this.searchHistory = new Map();\n this.maxCacheAge = maxCacheAge;\n this.ignoreMaxAge = ignoreMaxAge;\n }\n\n public add(searchString: string, data: cacheData) {\n this.clearSearchResult(searchString);\n this.searchHistory.set(searchString, {\n erg: data,\n stamp: new Date(),\n cacheTimeout: window.setTimeout(() => {\n const searchResult = this.searchHistory.get(searchString);\n if (searchResult && !this.checkNotExpired(searchResult)) {\n this.searchHistory.delete(searchString);\n }\n }, this.maxCacheAge * minuteMilliseconds)\n });\n }\n\n public clear() {\n this.searchHistory.clear();\n }\n\n public delete(searchString: string) {\n this.clearSearchResult(searchString);\n this.searchHistory.delete(searchString);\n }\n\n public get(searchString: string): cacheData | undefined {\n const searchResult = this.searchHistory.get(searchString);\n let returnValue;\n if (searchResult) {\n if (this.checkNotExpired(searchResult)) {\n returnValue = searchResult.erg;\n }\n }\n return returnValue;\n }\n\n public clearAllExpired() {\n const expired: string[] = [];\n this.searchHistory.forEach((value, key) => {\n if (!this.checkNotExpired(value)) {\n expired.push(key);\n }\n });\n expired.forEach((value) => {\n this.delete(value);\n });\n }\n\n protected clearSearchResult(searchString: string) {\n const searchResult = this.searchHistory.get(searchString);\n if (searchResult) {\n clearTimeout(searchResult.cacheTimeout);\n }\n }\n\n protected checkNotExpired(searchResult: ISearchResult) {\n let cacheAgeCheck = true;\n if (!this.ignoreMaxAge) {\n cacheAgeCheck =\n (new Date().getTime() - searchResult.stamp.getTime()) / minuteMilliseconds < this.maxCacheAge;\n }\n return cacheAgeCheck;\n }\n}\n","/**\n * Hiermit lässt sich ein typof reverten auch bei abstrakten typen oder Klassen mit Privatem constructor\n * ansonsten ist {@link InstanceType} vorzuziehen\n * @see {@link https://stackoverflow.com/a/54281690} quelle für die idee\n */\ntype AbstractInstanceType = T extends {prototype: infer U} ? U : never;\n\nexport class Service {\n /**\n * gibt die Service instanz zurück\n */\n public static init(this: T): AbstractInstanceType {\n return (this.instance || (this.instance = new this())) as AbstractInstanceType;\n }\n\n protected static instance: Service;\n\n protected constructor() {\n /* ist ein singleton */\n }\n}\n","import type {PHPW} from \"../../generated\";\nimport {ApiService} from \"./ApiService\";\n\nexport class SetupService extends ApiService {\n public getDeviceType = async (abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"deviceType\"],\n method: \"GET\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public getMailAccount = async (abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"mailAccount\"],\n method: \"GET\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public getMailAccountById = async (args: PHPW.Api.Lib.Common.ArgumentsId, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"mailAccount\", args.id],\n method: \"GET\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public postMailAccount = async (\n payload: PHPW.Api.Routes.Lib.Setup.Model.MailAccount,\n abortSignal?: AbortSignal\n ) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"mailAccount\"],\n method: \"POST\",\n abortSignal: abortSignal,\n body: payload\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public deleteMailAccountById = async (args: PHPW.Api.Lib.Common.ArgumentsId, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"mailAccount\", args.id],\n method: \"DELETE\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public postMailAccountImapActionTest = async (\n payload: PHPW.Api.Routes.Lib.Setup.Model.MailAccount,\n abortSignal?: AbortSignal\n ) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"mailAccount\", \"imap\", \"action\", \"test\"],\n method: \"POST\",\n abortSignal: abortSignal,\n body: payload\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public postMailAccountSmtpActionTest = async (\n payload: PHPW.Api.Routes.Lib.Setup.Model.MailAccount,\n abortSignal?: AbortSignal\n ) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"mailAccount\", \"smtp\", \"action\", \"test\"],\n method: \"POST\",\n abortSignal: abortSignal,\n body: payload\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public getImapMailboxById = async (args: PHPW.Api.Lib.Common.ArgumentsId, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"imapMailbox\", args.id],\n method: \"GET\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public postImapMailbox = async (\n payload: PHPW.Api.Routes.Lib.Setup.Model.ImapMailbox,\n abortSignal?: AbortSignal\n ) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"imapMailbox\"],\n method: \"POST\",\n abortSignal: abortSignal,\n body: payload\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public getPaymentById = async (args: PHPW.Api.Lib.Common.ArgumentsId, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"payment\", args.id],\n method: \"GET\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public postPayment = async (payload: PHPW.Api.Routes.Lib.Setup.Model.Payment, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"payment\"],\n method: \"POST\",\n abortSignal: abortSignal,\n body: payload\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public getBankById = async (args: PHPW.Api.Lib.Common.ArgumentsId, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"bank\", args.id],\n method: \"GET\",\n abortSignal: abortSignal\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public postBank = async (payload: PHPW.Api.Routes.Lib.Setup.Model.Bank, abortSignal?: AbortSignal) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"bank\"],\n method: \"POST\",\n abortSignal: abortSignal,\n body: payload\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n\n public deleteBankById = async (\n args: PHPW.Api.Lib.Common.ArgumentsId,\n params: PHPW.Api.Lib.Common.ParamsDelete,\n abortSignal?: AbortSignal\n ) => {\n const result = await this.apiCaller.call({\n route: [\"setup\", \"bank\", args.id],\n method: \"DELETE\",\n abortSignal: abortSignal,\n params: params\n });\n\n return typeof result.response === \"string\" ? undefined : result.response;\n };\n}\n","import type {DetailedHTMLProps, HTMLAttributes, RefAttributes} from \"react\";\nimport * as styles from \"./Paper.module.scss\";\n\nexport type ValidElevation =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 13\n | 14\n | 15\n | 16\n | 17\n | 18\n | 19\n | 20\n | 21\n | 22\n | 23\n | 24;\n\ninterface IProps extends DetailedHTMLProps, HTMLDivElement> {\n elevation?: ValidElevation;\n square?: boolean;\n}\n\nexport function useElevationClass(absoluteElevation: ValidElevation = 1, withHover = false): string {\n function isValidElevation(elevation: number): elevation is ValidElevation {\n if (elevation > 24) {\n return false;\n } else if (elevation < 0) {\n return false;\n }\n\n return Number.isInteger(elevation);\n }\n\n const relative = absoluteElevation;\n\n const relativeElevation = isValidElevation(relative) ? relative : 0;\n const intermediate = relativeElevation + 1;\n const relHoverElevation = isValidElevation(intermediate) ? intermediate : 1;\n\n if (withHover) {\n return styles[`elevation_${relativeElevation}`] + \" \" + styles[`elevation_withHover_${relHoverElevation}`];\n }\n return styles[`elevation_${relativeElevation}`];\n}\n\nexport const Paper = function Paper(props: IProps & RefAttributes) {\n const elevationClass = useElevationClass(props.elevation);\n\n const classNames: string[] = [elevationClass];\n\n if (props.className) {\n classNames.push(props.className);\n }\n\n const propsCopy: Partial = {\n ...props\n };\n\n delete propsCopy.square;\n delete propsCopy.className;\n\n return
;\n};\n","import type {CSSProperties, MouseEvent, MouseEventHandler, ReactNode, TouchEventHandler} from \"react\";\nimport {memo, useCallback, useContext} from \"react\";\nimport type {ValidIconName, ValidIconSize} from \"../Svg/InlineSvg\";\nimport {InlineSvg} from \"../Svg/InlineSvg\";\nimport {WorkingStateContext} from \"../Tab/Lib/WorkingStateContext\";\nimport {isTouchBased} from \"../../GlobalStores/ProfileFromStorage\";\nimport * as styles from \"./StandardButton.module.scss\";\nimport {useElevationClass} from \"./Paper\";\n\nconst translate = {\n primary: styles.buttonPrimary,\n secondary: styles.buttonSecondary,\n tertiary: styles.buttonTertiary,\n sidebar: styles.buttonSidebar,\n error: styles.buttonError,\n warning: styles.buttonWarning,\n success: styles.buttonSuccess,\n question: styles.buttonQuestion,\n info: styles.buttonInfo,\n default: styles.buttonDefault,\n transparent: styles.buttonTransparent\n};\n\nexport type ColorSet = keyof typeof translate;\n\ninterface IProps {\n tabIndex?: number | undefined;\n iconName?: ValidIconName;\n iconSize?: \"S\" | \"M\" | \"L\" | \"XL\";\n iconRotate?: number;\n className?: string;\n color?: ColorSet;\n active?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n title?: string;\n circle?: boolean;\n onClick?: ((e: MouseEvent) => Promise) | undefined;\n onMouseOver?: MouseEventHandler | undefined;\n onMouseEnter?: MouseEventHandler | undefined;\n onMouseOut?: MouseEventHandler | undefined;\n onMouseDown?: MouseEventHandler | undefined;\n onTouchStart?: TouchEventHandler | undefined;\n children?: ReactNode;\n useDiv?: boolean;\n flat?: boolean;\n slim?: boolean;\n}\n\nexport const StandardButton = memo(function StandardButton(props: IProps) {\n const ref = useContext(WorkingStateContext);\n const debounced = useCallback(\n (e: MouseEvent): void => {\n if (props.onClick) {\n if (ref.current) {\n const [working, setWorking] = ref.current;\n if (props.onClick && !working) {\n setWorking(true);\n props.onClick(e)?.finally(() => {\n setWorking(false);\n });\n }\n } else {\n props.onClick(e).catch(console.error);\n }\n }\n },\n [props, ref]\n );\n\n const utilClass = [translate[props.color || \"secondary\"]];\n\n if (props.className) {\n utilClass.push(props.className);\n }\n\n if (!isTouchBased() || props.color === \"transparent\") {\n utilClass.push(styles.desktop);\n }\n\n const elevationClassFlat = useElevationClass(0, true);\n const elevationClassFloating = useElevationClass(2, true);\n\n if (props.flat || props.color === \"transparent\") {\n // color = transparent = Workaround für den Moment, bis wir die Buttons überall umgestellt haben\n utilClass.push(elevationClassFlat);\n } else {\n utilClass.push(elevationClassFloating);\n }\n\n if (props.children) {\n utilClass.push(styles.buttonWithText);\n }\n\n if (props.circle) {\n utilClass.push(styles.circle);\n }\n\n if (props.active) {\n utilClass.push(styles.active);\n }\n\n if (props.slim || props.color === \"transparent\") {\n // color = transparent = Workaround für den Moment, bis wir die Buttons überall umgestellt haben\n utilClass.push(styles.slim);\n }\n\n const translateIconSize: {S: ValidIconSize; M: ValidIconSize; L: ValidIconSize; XL: ValidIconSize} = {\n S: 8,\n M: 16,\n L: 24,\n XL: 32\n };\n\n const content = (\n <>\n {props.iconName ? (\n \n ) : undefined}\n {props.children ?
{props.children}
: undefined}\n \n );\n\n const wrapperStyle = {\n tabIndex: props.tabIndex,\n style: props.style,\n disabled: props.disabled,\n className: utilClass.join(\" \"),\n onClick: debounced,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n onMouseEnter: props.onMouseEnter,\n onMouseOver: props.onMouseOver,\n onMouseOut: props.onMouseOut,\n title: props.title\n };\n\n let wrapper;\n if (props.useDiv) {\n if (wrapperStyle.disabled) {\n wrapperStyle.className += \" \" + styles.disabled;\n }\n\n delete wrapperStyle.disabled;\n\n wrapper =
{content}
;\n } else {\n wrapper = (\n \n );\n }\n\n return wrapper;\n});\n","import type {CSSProperties, FunctionComponent, SVGProps} from \"react\";\nimport {createElement, memo} from \"react\";\nimport * as styles from \"./InlineSvg.module.scss\";\n\nexport type ValidIconName = FunctionComponent>;\n\nexport type ValidIconSize = 8 | 16 | 18 | 20 | 24 | 28 | 32 | 34 | 40 | 48 | 64 | 150;\n\ninterface IProps {\n name?: ValidIconName;\n className?: string;\n rotate?: number;\n size?: ValidIconSize;\n title?: string;\n id?: string;\n onClick?(): void;\n onDoubleClick?(): void;\n}\n\ninterface ContainerProps {\n style?: CSSProperties;\n className?: string;\n size?: ValidIconSize;\n title?: string;\n}\n\ninterface SVGContainerProps extends ContainerProps {\n svgString: string;\n onClick?(this: void): void;\n onDoubleClick?(this: void): void;\n id?: string;\n}\n\nexport const SvgContainer = memo(function SvgContainer(props: SVGContainerProps) {\n let className = styles.container;\n let style: CSSProperties = {height: props.size, width: props.size};\n\n if (props.className) {\n className = props.className + \" \" + className;\n }\n\n if (props.style) {\n style = {height: props.size, width: props.size, ...props.style};\n }\n\n return (\n \n );\n});\n\nexport function InlineSvg(props: IProps) {\n let className = styles.container;\n const style: CSSProperties = {height: props.size, width: props.size};\n\n if (props.className) {\n className = props.className + \" \" + className;\n }\n\n if (props.rotate) {\n style.transform = `rotate(${props.rotate}deg)`;\n }\n\n return (\n
\n {props.name ? createElement(props.name) : undefined}\n
\n );\n}\n","import type {Dispatch, SetStateAction} from \"react\";\nimport {createContext, createRef} from \"react\";\n\nconst ref = createRef<[boolean, Dispatch>]>();\nexport const WorkingStateContext = createContext(ref);\n","import {memo} from \"react\";\nimport type {ValidIconSize} from \"../InlineSvg\";\nimport {InlineSvg} from \"../InlineSvg\";\nimport {icon_progress_activity} from \"../../../lib/svg/MaterialIcons2.ts\";\nimport * as styles from \"./LoaderImg.module.scss\";\n\ninterface IProps {\n className?: string;\n onClick?(): void;\n onDoubleClick?(): void;\n}\n\nexport const LoaderImg = memo(function LoaderImg(props: IProps & {size: ValidIconSize}) {\n return (\n \n );\n});\n","import type {Dispatch, SetStateAction, ReactNode, CSSProperties} from \"react\";\nimport {memo, useCallback, useEffect, useRef, useState} from \"react\";\nimport * as styles from \"./WorkingOverlay.module.scss\";\nimport {LoaderImg} from \"./Svg/LoaderImg/LoaderImg\";\nimport {WorkingStateContext} from \"./Tab/Lib/WorkingStateContext\";\n\ninterface IProps {\n working: boolean;\n children?: ReactNode;\n style?: CSSProperties;\n}\n\nexport const WorkingOverlay = memo(function WorkingOverlay(props: IProps) {\n const [working, setWorking] = useState(props.working);\n const ref = useRef<[boolean, Dispatch>]>([working, setWorking]);\n\n useEffect(() => {\n ref.current[0] = working;\n }, [working]);\n\n useEffect(() => {\n setWorking(props.working);\n }, [props.working]);\n\n let containerStyle = \"\";\n let grayscaleStyle = \"\";\n\n if (working) {\n containerStyle = styles.container;\n grayscaleStyle = styles.grayscale;\n }\n\n const handleDoubleClick = useCallback(() => setWorking(false), []);\n\n return (\n \n
\n {props.children}\n
\n {working ? (\n
\n \n
\n ) : undefined}\n
\n );\n});\n"],"names":["DialogManager","Manager","dialogContainer","document","uniqId","langGet","translate","undefined","makeObservable","action","observable","wrapper","activate","container","baseNode","createRoot","rootNode","alertify","confirmed","confirm","toRemoveIndex","curUniqId","activeIndex","newActive","leftIndex","index","offset","tabsMaxIndex","indexToReplace","positionToMove","toReplace","data","closingTabId","newIndex","currentTabIndex","maxIndex","rightIndex","value","ident","acc","cur","ArticleLanguage","PHPW","getLangFromStorage","localStorage","navigator","setLangToStorage","keyPrefix","prefix","key","String","fetchTableData","lang","nameSpace","namespace","tableNameTranslate","fetchData","fetchCommon","fetchAllData","Promise","unpack","common","options","Array","Object","unpackTable","Lock","LockStore","types","self","modalRoot","Math","setInterval","minuteMilliseconds","reaction","ttl","getProfileFromStorage","setProfileToStorage","isTouchBased","profile","isSmartphone","isTablet","initProfile","local","deviceType","SetupService","Update","UpdateStore","RequestHandler","Map","params","param","FormData","URLSearchParams","FormDataCreator","requestData","header","Headers","Request","Blob","JSON","_k","v","disableRetryCache","rawResponse","lock","request","response","fetch","Number","version","versionAlert","resolve","reject","apiResponse","apiResponseBase","isError","jsonParse","blobResponse","File","status","route","method","body","abortSignal","callOptions","imported","console","part","exception","skipDefaultErrorHandling","handleErrorResponse","e","DOMException","getDefaultErrorDisplay","nicerErrorFind","latestError","errorDisplay","asDialog","Alertify","createElement","ErrorResponse","Location","window","getProjectOrigin","somepath","pathElements","path","lastIsAlwaysRelevant","reviver","_key","json","Permissions","Api","Lib","Common","StornoPreviousType","Routes","Article","EArticleType","Aufgabe","Model","EAufgabeLinkTypes","SubtaskType","Process","PositionAvailability","Report","ExportType","Suggest","EGetSuggestIntrahandelZtn_BezeichnungArguments","User","PhoneType","Camt","DTO","BookingType","RowType","Enum","TypeDomain","TypeFamily","TypeSubFamily","Data","Io","Import","ImportValue","Document","WatermarkType","Html","DataBaseType","TableRowType","Entities","ArticleSetType","AufgabeCommentTag","AufgabeCommentType","BankStatementEntryState","BookingIncomingBillType","BusinessRelation","ContactAddressType","ContactMailAddressType","DemandState","DispoBillingType","DispoUserStatusType","ERechnungType","FulfillmentState","LagerPlatzTyp","LoginDecision","MailAccountEncryption","MailStatus","ParcelApi","PhoneNumberType","PriceMode","ProcessCategory","ProcessPositionShippingDateType","ProcessPositionShippingType","ProcessTaxBehaviour","ProcessTemplateType","ShopType","StockAmountTypeCategory","Oauth","OauthProvider","ProcessPositionType","ProcessTypeArcType","ProcessTypeCategory","Table","Profile","ColumnAlign","ColumnSize","MessageStore","nanoid","type","title","time","Date","callback","MessageQueueInstance","notify","message","Set","element","event","messageId","customEvent","onOk","func","opener","onCancel","settings","ApiCaller","SSE","getDayShiftedForMonday","date","actual","todayNoon","copyDate","firstOfMonth","newDate","lastOfMonth","minuteSeconds","hourSeconds","hourMilliseconds","dayMilliseconds","daySeconds","objectToSend","keyName","item","_","shadowedObject","shadowObjectString","shadowObjectStringNext","reduceFunction","initialValue","rawString","accu","current","addFunction","browserDataObject","formData","val","decodeURIComponent","collector","prop","encodeURIComponent","objectData","leafAction","tmp","VERSION","appNode","root","getCleanAppNode","main","WorkingOverlay","urlParams","loadColors","initUser","initDeviceConfig","initUserConfig","loadMessages","loadMarkers","run","login","ErrorEntry","props","showDetail","setShowDetail","useState","onClick","useCallback","StandardButton","icon_visibility","icon_visibility_off","showChain","setShowChain","entry","MessageQueueStore","computed","a","b","id","foundIndex","idsBefore","idsAfter","single","ApiService","Service","ApiServiceSearchCache","maxCacheAge","ignoreMaxAge","searchString","searchResult","returnValue","expired","clearTimeout","cacheAgeCheck","result","args","payload","useElevationClass","absoluteElevation","withHover","isValidElevation","elevation","relativeElevation","intermediate","relHoverElevation","styles","Paper","classNames","propsCopy","memo","ref","useContext","WorkingStateContext","debounced","working","setWorking","utilClass","elevationClassFlat","elevationClassFloating","content","InlineSvg","translateIconSize","wrapperStyle","SvgContainer","className","style","createRef","createContext","LoaderImg","icon_progress_activity","useRef","useEffect","containerStyle","grayscaleStyle","handleDoubleClick"],"mappings":"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"}